Makale numarası: 155512 - Son Gözden Geçirme: 19 Ocak 2007 Cuma - Gözden geçirme: 3.3

ACC: nasıl bir Schema.ini dosyası programsal olarak oluştur

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
Orta: temel makro, kodlama ve birlikte çalışabilirlik becerileri gerektirir.
Hepsini aç | Hepsini kapa

Özet

Bu makalede, veritabanında varolan bir tabloyu temel alan bir Schema.ini dosyası oluşturduğu bir yordam yazmak gösterilmiştir.

Bu makalede, Visual Basic for Applications ve programlama Microsoft Access ile sağlanan araçları kullanarak Microsoft Access uygulamaları oluşturma bildiğinizi varsayar. Hakkında daha fazla bilgi için Visual Basic for Applications "Building uygulamaları ile Microsoft Access" el ile sürümü için bkz.

Daha fazla bilgi

Microsoft Access 7.0 ve Microsoft Access 97'de sınırlı ve sabit uzunluklu metin dosyalarını açmak veya bağlantı kullanabilirsiniz. Microsoft Access bir metin dosyasına doğrudan okuyabilir veya sütun adları, alan uzunlukları ve veri türleri gibi <a1>metin</a1> dosyasının özelliklerini belirlemek için Schema.ini'adlı bir bilgi dosyasını kullanabilirsiniz. Sabit uzunluklu metin dosyalarını açmak veya bağlantı zaman BIR Schema.ini dosyası gerekli, sınırlandırılmış metin dosyaları için isteğe bağlıdır. Schema.ini dosyası, onu tanımlayan metin dosyaları ile aynı klasörde bulunmalıdır.

Yordam aşağıdaki örnekte dört parametre kabul eder:
     Parameter        Value
   ------------------------------------------------------------------------
   bIncFldNames     True/False, stating if the first row of the text file
                    has column names
   sPath            Full path to the folder where Schema.ini will reside
   sSectionName     Schema.ini section name; must be the same as the name
                    of the text file it describes
   sTblQryName      Name of the table or query for which you want to
                    create a Schema.ini file
				
UYARı: Bu örnek yordamda uyarmadan aynı hedef klasörde varolan bir Schema.ini dosyası üzerine yazacaktır.
  1. Northwind.mdb örnek veritabanını açın.
  2. Bir modül oluşturun ve zaten orada değilse, Tanımlamalar bölümüne aşağıdaki satırı yazın: Option Explicit
  3. Aşağıdaki yordam yazın:
          Public Function CreateSchemaFile(bIncFldNames As Boolean, _
                                           sPath As String, _
                                           sSectionName As String, _
                                           sTblQryName As String) As Boolean
             Dim Msg As String ' For error handling.
             On Local Error GoTo CreateSchemaFile_Err
             Dim ws As Workspace, db As DATABASE
             Dim tblDef As TableDef, fldDef As Field
             Dim i As Integer, Handle As Integer
             Dim fldName As String, fldDataInfo As String
             ' -----------------------------------------------
             ' Set DAO objects.
             ' -----------------------------------------------
             Set db = CurrentDB()
             ' -----------------------------------------------
             ' Open schema file for append.
             ' -----------------------------------------------
             Handle = FreeFile
             Open sPath & "schema.ini" For Output Access Write As #Handle
             ' -----------------------------------------------
             ' Write schema header.
             ' -----------------------------------------------
             Print #Handle, "[" & sSectionName & "]"
             Print #Handle, "ColNameHeader = " & _
                             IIf(bIncFldNames, "True", "False")
             Print #Handle, "CharacterSet = ANSI"
             Print #Handle, "Format = TabDelimited"
             ' -----------------------------------------------
             ' Get data concerning schema file.
             ' -----------------------------------------------
             Set tblDef = db.TableDefs(sTblQryName)
             With tblDef
                For i = 0 To .Fields.Count - 1
                   Set fldDef = .Fields(i)
                   With fldDef
                      fldName = .Name
                      Select Case .Type
                         Case dbBoolean
                            fldDataInfo = "Bit"
                         Case dbByte
                            fldDataInfo = "Byte"
                         Case dbInteger
                            fldDataInfo = "Short"
                         Case dbLong
                            fldDataInfo = "Integer"
                         Case dbCurrency
                            fldDataInfo = "Currency"
                         Case dbSingle
                            fldDataInfo = "Single"
                         Case dbDouble
                            fldDataInfo = "Double"
                         Case dbDate
                            fldDataInfo = "Date"
                         Case dbText
                            fldDataInfo = "Char Width " & Format$(.Size)
                         Case dbLongBinary
                            fldDataInfo = "OLE"
                         Case dbMemo
                            fldDataInfo = "LongChar"
                         Case dbGUID
                            fldDataInfo = "Char Width 16"
                      End Select
                      Print #Handle, "Col" & Format$(i + 1) _
                                      & "=" & fldName & Space$(1) _
                                      & fldDataInfo
                   End With
                Next i
             End With
             MsgBox sPath & "SCHEMA.INI has been created."
             CreateSchemaFile = True
          CreateSchemaFile_End:
             Close Handle
             Exit Function
          CreateSchemaFile_Err:
             Msg = "Error #: " & Format$(Err.Number) & vbCrLf
             Msg = Msg & Err.Description
             MsgBox Msg
             Resume CreateSchemaFile_End
          End Function
    						
  4. Bu işlevi sınamak için <a0></a0>, hata ayıklama penceresinde aşağıdaki satırı yazın ve ENTER tuşuna basın:
    ? CreateSchemaFile(True,"c:\MSOffice\Access\","EMP.TXT","Employees")
  5. Not Defteri veya WordPad gibi bir metin düzenleyicisi ile oluşturulmuş bir Schema.ini dosyası açın. Dosyayı aşağıdaki bilgileri içerdiğini unutmayın:
    [emp.txt]
    ColNameHeader = true
    CharacterSet ANSI =
    Biçim TabDelimited =
    Sütun1 = ÇalışanNo tamsayı
    Col1 = Soyadı KRKT width 20
    Col3 = ad KRKT width 10
    Sütun4 = başlık KRKT Width 30
    Col5 = TitleOfCourtesy KRKT width 25
    Col6 doğum tarihi tarih =
    Col7 = tarih HireDate
    Col8 = adres KRKT width 60
    Col9 Şehir KRKT Genişlik 15 =
    Col10 bölge KRKT Genişlik 15 =
    Col11 = PostaKodu KRKT width 10
    Col12 ülke KRKT Genişlik 15 =
    Col13 EvTelefonu KRKT genişlik 24 =
    Col14 uzantısı KRKT genişlik 4 =
    Col15 fotoğraf OLE =
    Col16 notları LongChar =
    Col17 = raporlar tamsayı

Referanslar

Schema.ini dosyası hakkında daha fazla bilgi ve içerdiği bilgileri için sürücüleri başlatılıyor ve Microsoft Access 97 Yardım dizinini kullanarak, metin veri kaynağı sürücüsüne başlatma için arama.

Schema.ini dosyası ve ilişkisini Microsoft Access ve Microsoft Jet veritabanı alt yapısı hakkında daha fazla bilgi için "Microsoft Jet Database Engine Programmer's Kılavuzu", <a1>Sayfa</a1> 306 312 bakın.

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Access 95 Standard Edition
  • Microsoft Access 97 Standard Edition
Anahtar Kelimeler: 
kbmt kbhowto kbprogramming KB155512 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:155512  (http://support.microsoft.com/kb/155512/en-us/ )
Retired KB ArticleKullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.