导入文本文件时如何指定字段类型?(二)

来源:互联网 发布:什么不亦说乎 编辑:程序博客网 时间:2024/06/10 03:19
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

导入文本文件时如何指定字段类型

 

问题:

我有一个文本文件需要导入  ,但是文本文件中有一列数据原本是文本,但是导入后自动变成了“双精度”类型,我该如何让各个字段按我需要的数据类型生成哪?
如何让 ACCESS 按照我规定的构架、规格从文本文件、XLS文档中导入数据?
 

方法二:

用 Schema.ini 文件也可以达到要求。


作用:Schema.ini用于提供文本文件中记录的构架信息。每个 Schema.ini 项都用于指定表的五个特征之一:
1、文本文件名
2、文件格式
3、字段名、字段长度、字段类型
4、字符集
5、特别数据类型转换



指定文件名
文件名要用方括号括起来,例如如果要对 Sample.txt 使用数据构架信息文件,那么它的对应的项应该是
[Sample.txt]



指定文件格式
格式说明表格式Schema.ini格式描述Tab制表符分隔文件中的字段用制表符分隔Format=TabDelimitedCSV分隔文件中的字段用逗号来分隔Format=CSVDelimited自定义分隔文件中的字段可以用任何字符来分隔,所有的字符都可以用来分隔,包括空格,但是双引号(")除外
Format=Delimited(自定义分隔符)

-或者没有分隔符-

Format=Delimited()
固定宽度文件中的字段为固定长度


指定字段

你可以有两种方法在一个字符分隔的文本文件中指定字段名

1、在文本文件中的第一行包含字段名,并且设置 ColNameHeader 为 True 。
2、用数字编号指定每一列并且指定每一列的名字以及数据类型

你必须用数字编号指定每一列并且指定每一列的名字、数据类型以及长度(在固定长度分隔的文本文件中需要指定长度)

注意,设定了 ColNameHeader 选项,在 Schema.ini 中 Windows 注册时会忽略 FirstRowHasNames 选项。

你也可以指定字段的数据类型,使用 MaxScanRows 选项用来指定在确定列的数据类型时要扫描多少行数据。设置 MaxScanRows 为 0 将扫描整个文件。

如果文本文件第一行包含字段名,并且要扫描整个文件,改项目就要定义如下:
ColNameHeader=True
MaxScanRows=0


接下来的项目用来指定表中的字段,使用列编号(Coln)选项来指定列。字段长度在“固定分隔文本文件中”是必填项目,在“字符分隔文本文件”中是可选项目。
示例:定义 2 个字段,CustomerNumber 是长度为 10 的文本字段、CustomerName 是长度为 30 的文本字段。
Col1=CustomerNumber Text Width 10
Col2=CustomerName Text Width 30


语法如下:
Coln=ColumnName type [Width #]

参数解释如下:
参数说明ColumnName文本,标识字段名,如果包含空格要用双引号括起来type
数据类型包括:

MicrosoftJet数据类型:BitByteShortLongCurrencySingleDoubleDateTimeTextMemo

ODBC数据类型:Char(sameasText)Float(sameasDouble)Integer(sameasShort)LongChar(sameasMemo)Datedateformat

其中dateformat是日期的格式字符串例如:DateYYYY-MM-DD
Width字符串的长度,后面的数字用来指定字段的长度(“固定分隔文本文件”为必填,“文字分隔文本文件”为可选)#整形数字,标识字段长度

指定字符集
CharacterSet 项有两个选择:ANSI | OEM
选择 ANSI 字符集用如下方法:
CharacterSet=ANSI



特别数据类型转换 
特别数据类型转换主要是定义比如日期、货币型数据如何转换或者如何显示的,你可以参考下面这张表:
选项说明DateTimeFormat
Canbesettoaformatstringindicatingdatesandtimes.Youshouldspecifythisentryifalldate/timefieldsintheimport/exportarehandledwiththesameformat.AllMicrosoftJetformatsexceptA.M.andP.M.aresupported.Intheabsenceofaformatstring,theWindowsControlPanelshortdatepictureandtimeoptionsareused.上一页 
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击