使用 DoCmd.TransferText 命令将表导出到 .csv 时,如何保留必要的小数位?
我正在使用 MS-Access-2010 VBA 中的 DoCmd.TransferText 将表导出到 .csv 文件。但是,当我执行此操作时,生成的 .csv 文件会截断表中的信息。例如,经度 -85.350223 变为 -85.35。如何使生成的 .csv 文件仍然以逗号分隔并保留表中的完整信息?
如果我需要创建导入/导出规范并使用 DoCmd.TransferText 的 SpecificationName 功能在命令行中引用它(假设我已正确将此功能解释为格式化工具),请解释如何操作那。
这是我当前用于将文件导出到 .csv 的行:
DoCmd.TransferText acExportDelim,, “所有仪表平均RSSI”, 当前项目.路径和 “\AllMetersAvgRSSI.csv”
I am using the DoCmd.TransferText in MS-Access-2010 VBA to export a table to a .csv file. However when I do this the resulting .csv file truncates the information in the table. For example the longitude -85.350223 becomes -85.35. How do I make it where the resulting .csv file is still comma delimited and keeps the full information from the table?
If I need to create an Import/Export specification and reference it in the command line using the SpecificationName feature of DoCmd.TransferText (assuming I have correctly interpreted this feature as a formatting tool) please explain how to do that.
Here is the line I am currently using to export the file to .csv:
DoCmd.TransferText acExportDelim, ,
"AllMetersAvgRSSI",
CurrentProject.Path &
"\AllMetersAvgRSSI.csv"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我建议您使用取自 eraserve 的此函数:
以下是使用/调用它的方式
:功能如下:
您也可以通过将有问题的字段更改为文本字段,或者在导出之前将它们简单地复制到一些临时文本字段中来获得成功。
I recommend you use this function taken from eraserve:
Here's how you use/call it:
And here's the function:
You may also have success by changing the offending fields to text fields, or simply copying them into some temporary text fields before you do the export.
感谢 @HK1 发布此代码。我做了一些修改:
注意:这可用于导出表或查询(选择或交叉表)。
以下是您如何调用它(假设文本分隔符使用双引号):
这是函数:
Thanks, @HK1 for posting this code. I made a few modifications:
Note: This can be used to export tables or queries (select or crosstab).
Here's how you call it (assuming double-quotes for the text delimiter):
Here's the function:
大家的代码都很棒。它工作得很好而且很快。我添加了一行,以处理传入的表名包含空格的情况。
我的整个过程的版本(有一个更改):
Great code everyone. It works very well and fast. I added one line, to handle the situation where the table name passed in contains a space.
My version of the entire procedure (with that one change):