Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 停止自动分配数据类型的访问_Ms Access_Vba - Fatal编程技术网

Ms access 停止自动分配数据类型的访问

Ms access 停止自动分配数据类型的访问,ms-access,vba,Ms Access,Vba,首先,我知道最简单的事情是定义一个规范,然而,我想让它变得简单,消除了对规范的需要 我用的东西很简单 DoCmd.TransferText acImportDelim, , "TempPayments", theSource, True 当我这样做时,我会得到我的临时表,它有预定义的数据类型。这很可怕,因为Microsfot似乎认为“USD”是一个长整数,而不是双整数。它们还假定“年”、“月”和“日”的值为长整数 我希望一切都以“短文本”的形式出现。我可以不使用规范来执行此操作吗?否 真的,没

首先,我知道最简单的事情是定义一个规范,然而,我想让它变得简单,消除了对规范的需要

我用的东西很简单

DoCmd.TransferText acImportDelim, , "TempPayments", theSource, True
当我这样做时,我会得到我的临时表,它有预定义的数据类型。这很可怕,因为Microsfot似乎认为“USD”是一个长整数,而不是双整数。它们还假定“年”、“月”和“日”的值为长整数

我希望一切都以“短文本”的形式出现。我可以不使用规范来执行此操作吗?


真的,没什么好说的了。只需使用导入规范。

使用所有文本字段和自动编号ID提前创建您自己的临时表。然后使用HasFieldNames=False将您的文件导入该表。然后,您可以删除第一行(字段名),以任何方式验证/按摩数据,然后将其附加到需要的任何位置。
编辑:您需要命名临时表F1、F2、F3中的字段,…

如果您首先使用所有文本字段创建
tempayments
,然后可以使用
TransferText
导入数据,字段类型将保持文本。好的。我想我会使用规格。谢谢如果您使用
HasFieldNames=False
,Access将为源字段分配自己的名称,例如第一个字段的
F1
,等等。因此您需要在目标表中创建匹配的字段名称,以避免出现诸如“目标表中不存在字段“F1”之类的投诉。您是正确的。我通常使用字段名为F1、F2的临时表。。。这还允许我检查导入文件是否具有预期的字段名。