从CSV复制到访问时,避免数字被截断

时间:2013-01-17 07:05:43

标签: excel ms-access csv

我正在使用此代码将数据从csv文件复制到访问表:

str = "insert into tablex (field1, field2, field3) 
select field1, field2, field3
from
 [Text; 
FMT=Delimited; 
HDR=YES; 
CharacterSet=437; 
DATABASE=" & ThisWorkbook.Path & "\data-for-tool-refresh].csvtable.csv;"

但是在粘贴数据后,某些列会被截断,即十进制值被删除。我已经检查了访问表中的数据类型,它被设置为“double”但仍然被截断的值:15.12345变为15

有人可以建议我一种方法来获取这些值而不会被截断

1 个答案:

答案 0 :(得分:1)

将外部数据准确导入Access的最佳方法是描述外部文件。

这可以通过导入规范(导入向导中的“高级”选项卡)完成,可以由宏或VBA引用。

如果您需要坚持使用ODBC文本驱动程序,就像在您的问题中一样,您需要schema.ini。 http://office.microsoft.com/en-us/access-help/initializing-the-text-data-source-driver-HP001032166.aspx?CTT=1解释了这一点。一个很大的缺点是规范与文件名相关联。