导入文本文件时如何指定字段类型?(一)
|
问题:
| | 我有一个文本文件需要导入 __ Access __ ,但是文本文件中有一列数据原本是文本,但是导入数据库后自动变成了“双精度”类型,我该如何让各个字段按我需要的数据类型生成哪?
如何让 __ ACCESS __ 按照我规定的构架、规格从文本文件、XLS文档中导入数据? |
---|
方法一:
| Access __ 本身就有导入导出向导,里面得高级选项中就可以自定义需要导入数据得详细规格。
操作步骤如下:
| 菜单 __ -> __ 文件 __ -> __ 获取外部数据 __ -> __ 导入(或者是“链接表”) __ -> __ 选择你需要得格式得文件 __ -> __ 高级
菜单 __ -> __ 文件 __ -> __ 获取外部数据 __ -> __ 导入(或者是“链接表”)
图片如下:
选择你需要得格式得文件
图片如下:
点击“高级”按钮
图片如下:
在“导入规格”中定义字段规格,定义完成后按“保存”按钮
图片如下:
选择合适得规格名
图片如下:
定义完成后得字段规格存储在 __ MSysIMEXColumns __ 以及 __ MSysIMEXSpecs __ 表中
图片如下:
完成上述操作后,以后就不用再重新定义了,可以使用以下语句链接或者导入文本文件
DoCmd.TransferText __ acLinkDelim, __ "list1 __ 导入规格", __ "list1", __ "C:\list1.txt"
DoCmd.TransferText __ acImportDelim, __ "list1 __ 导入规格", __ "list1", __ "C:\list1.txt"
关于 __ TransferText __ 方法请参考以下资料(摘自 __ Access __ XP __ 帮助)
TransferText __ 方法
在 __ Visual __ Basic __ 中,TransferText __ 方法执行 __ TransferText __ 操作。
expression.TransferText(TransferType, __ SpecificationName, __ TableName, __ FileName, __ HasFieldNames, __ HTMLTableName, __ CodePage)
expression __ __ __ 必需。返回“Applies __ To”列表中的一个对象的表达式。
TransferType __ __ 可选 __ AcTextTransferType。
AcTextTransferType __ 可以是下列 __ AcTextTransferType __ 常量之一: __
acExportDelim __
acExportFixed __
acExportHTML __
acExportMerge __
acImportDelim __ 默认 __
acImportFixed __
acImportHTML __
acLinkDelim __
acLinkFixed __
acLinkHTML __
如果将该参数留空,则采用默认常量 __ (acImportDelim)。
注意 __ __ __ 可以链接到文本文件或 __ HTML __ 文件中的数据上,但数据在 __ Microsoft __ Access __ 中是只读的。
在 __ Microsoft __ Access __ 项目(Microsoft __ Access __ 项目:与 __ Microsoft __ SQL __ Server __ 数据库连接且用于创建客户/服务器应用程序的 __ Access __ 文件。项目文件中不包含任何数据或基于数据定义的对象(如表或视图)。) __ (.adp) __ 中仅支持 __ acImportDelim、acImportFixed、acExportDelim、acExportFixed __ 或 __ acExportMerge __ 转换类型。
__
SpecificationName __ __ 可选 __ Variant __ 型。字符串表达式(字符串表达式:任一求值为一列连续字符的表达式。表达式的元素可以包括:返回字符串或字符串 __ Variant __ (VarType __ 8) __ 的函数;字符串字面值、常量、变量或 __ Variant。),表示在当前数据库中创建并保存的导入或导出规格的名称。对于固定长度的文本文件, __ 必须指定参数或使用 __ schema.ini __ 文件,该文件还必须保存在导入、链接或导出的文本文件的同一个文件夹中。若要创建一个方案文件, __ 可使用文本导入/导出向导创建此文件。对于分隔的文本文件和 __ Microsoft __ Word __ 邮件合并数据文件,可以将该参数留空,以便选择默认的导入/导出规格。
TableName __ __ 可选 __ Variant __ 型。字符串表达式,表示要向其导入文本数据、从中导出文本数据或链接文本数据的 __ Microsoft __ Access __ 表的名称,或者要将其结果导出到文本文件的 __ Microsoft __ Access __ 查询(查询:有关表中所存数据的问题,或要对数据执行操作的请求。查询可以将多个表中的数据放在一起,以作为窗体、报表或数据访问页的数据源。)的名称。
FileName __ __ 可选 __ Variant __ 型。字符串表达式,表示要从中导入、导出到或链接到的文本文件的完整名称(包括路径)。
HasFieldNames __ __ 可选 __ Variant __ 型。使用 __ True __ (-1) __ 可以在导入、导出或链接时,使用文本文件中的第一行作为字段名。使用 __ False __ (0) __ 可以将文本文件中的第一行看成普通数据。如果将该参数留空,则采用默认值 __ (False)。该参数将被 __ Microsoft __ Word __ 邮件合并数据文件忽略,这些文件的第一行中必须包含字段名。
HTMLTableNam __ __ 可选 __ Variant __ 型。字符串表达式,表示要导入或链接的 __ HTML __ 文件中的表或列表的名称。除非 __ transfertype __ 参数设为 __ acImportHTML __ 或 __ acLinkHTML,否则该参数将被忽略。如果将该参数留空,则导入或链接 __ HTML __ 文件中的第一个表或列表。如果 __ HTML __ 文件中存在 __
1<caption> __ 标记,则 __ HTML __ 文件的表或列表名称取决于该标记指定的文本。如果没有 __ <caption> __ 标记,则名称由 __ <title> __ 标记指定的文本决定。如果有多个表或列表具有相同的名称,则 __ Microsoft __ Access __ 将通过给每个表或列表名称结尾添加一个数字,如“雇员1”和“雇员2”来区分它们。
2
3CodePage __ __ 可选 __ Variant __ 型。Long(Long __ 数据类型:存储大型整数的基础数据类型。Long __ 变量存储为 __ 32 __ 位数的值,范围介于 __ 2,147,483,648 __ 到 __ 2,147,483,647 __ 之间。) __ 型值,用于标识代码页的字符集。
4
5说明
6有关该操作及其参数如何使用的详细信息,请参阅该操作的主题。
7
8语法中的可选参数允许留空,但是必须包含参数的逗号。如果将位于末端的参数留空,则在指定的最后一个参数后面不需使用逗号。
9
10注意 __ __ __ 通过设置 __ Recordset __ 对象的 __ ActiveConnection __ 属性,也可使用 __ ActiveX __ 数据对象 __ (ADO)(数据访问对象 __ (DAO):一种数据访问接口,与 __ Microsoft __ Jet __ 和符合 __ ODBC __ 的数据源通讯,以连接到、检索、操作和更新数据和数据库结构。) __ 来创建链接。
11
12示例
13下面的示例使用规范“标准输出”,从 __ Microsoft __ Access __ 表“外部报表” __ 将数据导出到带有分隔符的文本文件 __ April.doc __ 中:
14
15DoCmd.TransferText __ acExportDelim, __ "Standard __ Output", __ _
16__ __ __ __ "External __ Report", __ "C:\Txtfiles\April.doc"
17
18---
19
20
21
22
23http://www.access911.net 站长收藏</title></caption></caption>