Artikel-ID: 155512 - Geändert am: Freitag, 19. Januar 2007 - Version: 3.3

ACC: How to Programmgesteuertes Erstellen einer Schema.ini-Datei

SystemtippDieser Artikel bezieht sich auf ein anderes Betriebssystem als das von Ihnen verwendete. Für Sie möglicherweise nicht relevante Artikelinhalte wurden deaktiviert.
Moderat: Erfordert grundlegende Kenntnisse in den Bereichen Makros, Programmierung und Interoperabilität.
Alles erweitern | Alles schließen

Zusammenfassung

Dieser Artikel veranschaulicht das Schreiben einer Prozedur, die eine Datei Schema.ini Grundlage einer vorhandenen Tabelle in der Datenbank erstellt.

Dieser Artikel setzt voraus, dass Sie mit Visual Basic für Applikationen und mit dem Erstellen von Microsoft Access-Anwendungen mit Hilfe der in Microsoft Access enthaltenen Programmiertools vertraut sind. Weitere Informationen zu Visual Basic für Applikationen finden Sie in Ihrer Version des Handbuchs "Building Applications with Microsoft Access" (Erstellen von Anwendungen mit Microsoft Access).

Weitere Informationen

In Microsoft Access 7.0 und Microsoft Access 97 können Sie verknüpfen oder Öffnen von Textdateien mit Trennzeichen und fester Länge. Microsoft Access kann eine Textdatei direkt lesen, oder es kann eine Informationsdatei namens Schema.ini verwendet, zum Ermitteln der Merkmale der Textdatei z. B. Spaltennamen, Datentypen und Feldlängen. Eine Datei Schema.ini ist erforderlich, wenn Sie verknüpfen oder Öffnen von Textdateien mit fester Länge; ist optional für Textdateien mit Trennzeichen. Die Datei Schema.ini muss sich in demselben Ordner wie die Text-Dateien befinden beschrieben.

Das Verfahren in diesem Beispiel akzeptiert vier Parameter:
     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
				
Warnung: die Prozedur in diesem Beispiel überschreibt eine vorhandene Schema.ini-Datei in den gleichen Zielordner ohne Warnung.
  1. Öffnen Sie die Beispieldatenbank "Nordwind.mdb".
  2. Erstellen Sie ein Modul und geben Sie die folgende Zeile in den Deklarationsbereich ein, wenn es nicht bereits vorhanden ist: Option Explicit
  3. Geben Sie die folgende Prozedur:
          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. Um diese Funktion zu testen, geben Sie die folgende Zeile in das Debugfenster ein und drücken Sie anschließend die [EINGABETASTE]:
    ? CreateSchemaFile(True,"c:\MSOffice\Access\","EMP.TXT","Employees")
  5. Öffnen Sie die Datei Schema.ini-Datei, die Sie mit einem Text-Editor, z. B. Editor oder WordPad erstellt haben. Beachten Sie, dass die Datei die folgende Informationen enthält:
    [EMP.TXT]
    ColNameHeader = True
    CharacterSet = ANSI
    Format = mögliche Werte sind TabDelimited
    SP1 = EmployeeID Integer
    SP2 = Nachname Zeichen Breite 20
    Col3 = Vorname Zeichen Breite 10
    SP4 = Titel Zeichen Breite 30
    Col5 = TitleOfCourtesy Zeichen Breite 25
    Col6 = BirthDate Datum
    Col7 = HireDate Datum
    Col8 = Adresse Char Breite 60
    Col9 = City Zeichen Breite 15
    Col10 = Region Zeichen Breite 15
    Col11 = Postleitzahl Zeichen Breite 10
    Col12 = Land Zeichen Breite 15
    Col13 = Tel_privat Zeichen Breite 24
    Col14 = Erweiterung Zeichen Breite 4
    Col15 = Foto OLE
    Col16 = Notes LongChar
    Col17 = GanzeZahl Vorgesetzte(r)

Informationsquellen

Weitere Informationen zu der Datei Schema.ini und die darin enthaltenen Informationen nach Treiber initialisieren , und suchen Sie dann mithilfe von Microsoft Access 97-Hilfeindex Initialisieren des Text-Datenquellentreibers .

Finden Sie weitere Informationen zu der Datei Schema.ini und dessen Beziehung zu Microsoft Access und das Microsoft Jet-Datenbankmodul in "Microsoft Jet Database Engine Programmer's Guide", Seiten 312 306.

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Access 95 Standard Edition
  • Microsoft Access 97 Standard Edition
Keywords: 
kbmt kbhowto kbprogramming KB155512 KbMtde
Maschinell übersetzter ArtikelMaschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 155512  (http://support.microsoft.com/kb/155512/en-us/ )
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Retired KB ArticleDisclaimer zu nicht mehr gepflegten KB-Inhalten
Dieser Artikel wurde für Produkte verfasst, für die Microsoft keinen Support mehr anbietet. Der Artikel wird deshalb in der vorliegenden Form bereitgestellt und nicht mehr weiter aktualisiert.