首页 > 解决方案 > 访问 VBA TransferText 输出记录乱序

问题描述

我有一个 MS Access 应用程序,它连接来自多个源和一个表单的数据,从中构建一个表,然后将表逐行导出到一个文本文件,然后将其重命名以将扩展名.txt.ipj. 这样做的目的是创建一个由我们的统计过程控制程序读取的文本文件。

这工作了几个月,但大约 3 周前突然开始打乱输出文件的顺序。源表和查询的顺序是我想要的,但输出看起来不像源表或查询。

我已经尝试了该方法并将表加载到记录集中并使用循环DoCmd.Transfertext将其逐行打印到文件中。Do While Not rst.EOF两次我都遇到同样的问题:在不应该出现的地方出现线条。

我正在运行 MS Access 365,它是最新的更新。

有什么建议可以调试这个问题吗?

标签: vbams-accesstextexportoutput

解决方案


MS Access 使用无序数据集:也就是说,除非通过order by查询中的子句定义显式排序,否则您不能依赖任何 MS Access 查询或方法处理或输出记录的顺序。

因此,为了保证一致的输出,您应该使用指定排序顺序的已保存查询或通过配备order by子句的 SQL 语句从表中获取记录的记录集,按字段之一对数据集进行排序。


推荐阅读