Access导入文本文件的Schema.ini文件格式
Schema.ini格式如下(參考:MSDN主題 Schema.ini File):
Schema.ini用于提供文本數(shù)據(jù)中的記錄規(guī)格信息。每個Schema.ini的條目用于指明表的5個特征之一:
文本文件名
文件名有方括號括起來,例如如果要對Sample.txt使用Schema,那么它的對應的Schema條目應該是
[Sample.txt]
文件格式
指令如下:
Format=Value
Value可以取下面的值之一:
TabDelimited 用Tab分隔
CSVDelimited 用逗號分隔
FixedLength 固定長度
Delimited(C) 指定字符,其中C可以為除了雙引號(")外的任何字符,也可以為空
字段名、字段寬度和類型
格式為:Coln=字段名 數(shù)據(jù)類型 [width 寬度]
字段名可以是任意字符,如果字段名包含空格,請使用雙引號括起來。
數(shù)據(jù)類型可以為:
Bit
Byte
Short(Integer)
Long
Currency
Single
Double(Float)
DateTime(Date DateFormat)
Text(Char)
Memo(LongChar)
其中DateFormat是日期的格式字符串例如:Date YYYY-MM-DD
字符集
格式:CharacterSet=ANSI | OEM
格式只有兩種:ANSI和OEM
特殊數(shù)據(jù)類型轉(zhuǎn)換
特殊數(shù)據(jù)類型轉(zhuǎn)換一般使用的比較少,主要是自定義日期、貨幣等等的數(shù)據(jù)格式,一般不用理會。在此也不作詳細敘述。請自己查看MSDN幫助:Schema.ini File
下面給出一個簡單的例子,假設(shè)有一個表Contacts.txt類似下面:
First NameLast NameHireDate
Nancy Davolio 10-22-91
Robert King 10-23-91
那么Schema.ini個是類似下面的INI文件(我加了注釋):
[Contacts.txt] ///需要導入的文本文件名
ColNameHeader=True ///是否有數(shù)據(jù)頭
Format=FixedLength ///字段固定長度
MaxScanRows=0 ///最多導入行
CharacterSet=OEM ///字符集
Col1="First Name" Char Width 10 ///第一列格式
Col2="Last Name" Char Width 9 ///第二列格式
Col3="HireDate" Date Width 8 ///第三列格式
依此類推
我們可以根據(jù)數(shù)據(jù)自動創(chuàng)建這個Schema.ini文件!
注意,Schema.ini必須和需要導入的文本文件在同一目錄!!!如果不在同一個目錄,必須指定Schema.ini的全路徑!
此后,我們就可以利用下面的語句來導入數(shù)據(jù)了:
DoCmd.TransferText acImportFixed, , "Contacts", "C:Documents.txt"
或者
DoCmd.TransferText acImportFixed, "C:Documents.ini", "Contacts", "C:Documents.txt"
下面給出TransferText的語法(摘自Access幫助):
DoCmd.TransferText [TransferType][, SpecificationName], TableName, FileName[, HasFieldNames][, HtmlTableName][, CodePage]
TransferType 可選 AcTextTransferType。
AcTextTransferType 可以是下列 AcTextTransferType 常量之一:
acExportDelim
acExportFixed
acExportHTML
acExportMerge
acImportDelim 默認
acImportFixed
acImportHTML
acLinkDelim
acLinkFixed
acLinkHTML
如果將該參數(shù)留空,則采用默認常量 (acImportDelim)。
SpecificationName 可選 Variant 型。字符串表達式,表示在當前數(shù)據(jù)庫中創(chuàng)建并保存的導入或?qū)С鲆?guī)格的名稱。對于固定長度的文本文件, 必須指定參數(shù)或使用 schema.ini 文件,該文件還必須保存在導入、鏈接或?qū)С龅奈谋疚募耐粋€文件夾中。若要創(chuàng)建一個方案文件, 可使用文本導入/導出向?qū)?chuàng)建此文件。對于分隔的文本文件和 Microsoft Word 郵件合并數(shù)據(jù)文件,可以將該參數(shù)留空,以便選擇默認的導入/導出規(guī)格。
TableName 可選 Variant 型。字符串表達式,表示要向其導入文本數(shù)據(jù)、從中導出文本數(shù)據(jù)或鏈接文本數(shù)據(jù)的 Microsoft Access 表的名稱,或者要將其結(jié)果導出到文本文件的 Microsoft Access 查詢的名稱。
FileName 可選 Variant 型。字符串表達式,表示要從中導入、導出到或鏈接到的文本文件的完整名稱(包括路徑)。
HasFieldNames 可選 Variant 型。使用 True (-1) 可以在導入、導出或鏈接時,使用文本文件中的第一行作為字段名。使用 False (0) 可以將文本文件中的第一行看成普通數(shù)據(jù)。如果將該參數(shù)留空,則采用默認值 (False)。該參數(shù)將被 Microsoft Word 郵件合并數(shù)據(jù)文件忽略,這些文件的第一行中必須包含字段名。
HTMLTableNam 可選 Variant 型。字符串表達式,表示要導入或鏈接的 HTML 文件中的表或列表的名稱。除非 transfertype 參數(shù)設(shè)為 acImportHTML 或 acLinkHTML,否則該參數(shù)將被忽略。如果將該參數(shù)留空
轉(zhuǎn)載于:https://www.cnblogs.com/zyizyizyi/archive/2011/10/10/2497832.html
總結(jié)
以上是生活随笔為你收集整理的Access导入文本文件的Schema.ini文件格式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 运维知识2
- 下一篇: 官宣!吉利几何用上华为鸿蒙智能座舱