从 CSV 复制到访问时,避免数字被截断
Posted
技术标签:
【中文标题】从 CSV 复制到访问时,避免数字被截断【英文标题】:Avoid numbers from getting truncated when copying from CSV to access 【发布时间】:2013-01-17 07:05:43 【问题描述】:我正在使用此代码从 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】:将外部数据准确导入 Access 的最佳方法是描述外部文件。
这可以通过导入规范(导入向导中的高级选项卡)来完成,宏或 VBA 可以引用该规范。
如果您需要坚持使用 ODBC 文本驱动程序,就像您的问题一样,您需要一个 schema.ini。 http://office.microsoft.com/en-us/access-help/initializing-the-text-data-source-driver-HP001032166.aspx?CTT=1 解释了这一点。一个很大的缺点是规范与文件名相关联。
【讨论】:
以上是关于从 CSV 复制到访问时,避免数字被截断的主要内容,如果未能解决你的问题,请参考以下文章
将行从一个表复制到另一个表时如何解决数据截断错误,两个表具有相同的模式?