导入文本文件时如何指定字段类型? -01-05 00:34
方法一:
菜单 -> 文件 -> 获取外部数据 -> 导入(或者是“链接表”)
图片如下:
选择你需要得格式得文件
图片如下:
点击“高级”按钮
图片如下:
在“导入规格”中定义字段规格,定义完成后按“保存”按钮
图片如下:
选择合适得规格名
图片如下:
定义完成后得字段规格存储在 MSysIMEXColumns 以及 MSysIMEXSpecs 表中
图片如下:
完成上述操作后,以后就不用再重新定义了,可以使用以下语句链接或者导入文本文件
关于 TransferText 方法请参考以下资料(摘自 Access XP 帮助)
方法二:
指定文件格式
指定字段
你可以有两种方法在一个字符分隔的文本文件中指定字段名
1、在文本文件中的第一行包含字段名,并且设置 ColNameHeader 为 True 。
2、用数字编号指定每一列并且指定每一列的名字以及数据类型
你必须用数字编号指定每一列并且指定每一列的名字、数据类型以及长度(在固定长度分隔的文本文件中需要指定长度)
注意,设定了 ColNameHeader 选项,在 Schema.ini 中 Windows 注册时会忽略 FirstRowHasNames 选项。
你也可以指定字段的数据类型,使用 MaxScanRows 选项用来指定在确定列的数据类型时要扫描多少行数据。设置 MaxScanRows 为 0 将扫描整个文件。
如果文本文件第一行包含字段名,并且要扫描整个文件,改项目就要定义如下:
接下来的项目用来指定表中的字段,使用列编号(Coln)选项来指定列。字段长度在“固定分隔文本文件中”是必填项目,在“字符分隔文本文件”中是可选项目。
示例:定义 2 个字段,CustomerNumber 是长度为 10 的文本字段、CustomerName 是长度为 30 的文本字段。
语法如下:
Coln=ColumnNametype[Width #]
参数解释如下:
指定字符集
CharacterSet 项有两个选择:ANSI | OEM
选择 ANSI 字符集用如下方法:
特别数据类型转换
特别数据类型转换主要是定义比如日期、货币型数据如何转换或者如何显示的,你可以参考下面这张表:
下面给出一个简单的例子,假设有一个表Contacts.txt类似下面:
导入 Access 应该类似下面表格:
那么 Schema.ini 则是类似下面的INI文件:
注释如下:
注意,Schema.ini 必须和需要导入的文本文件在同一目录。
此后,我们就可以利用下面的语句来导入数据了:
注意,到 2000 格式的 MDB 为止,以下语句都会导致导入失败,应该是 Access 本身的问题:
到 Access XP / access 出现不知道是否已经解决该问题,大家可以在“评论”中告诉我测试结果。
或者