我对Item表进行了查询。这是我们图书馆的所有项目,例如书籍,DVD,CD等。
我必须发送一个制表符分隔的文件,其中包含所有这些项目的数据。
有超过100,000件物品。
我遇到了使用MS Access的问题。
Access可以提取所有数据,但是它无法通过电子邮件发送结果集,因为它太大了(超过65,535行;我知道2007年以后的Excel版本可以容纳更多行,但这对我没有帮助) 。 所有列都是文本数据。所以正常的关系运算符不起作用(我试过)。
我需要将结果集拆分为两个或三个结果集,以便从Access访问Excel。对Excel的需求是供应商对它的期望,并且在发货之前需要对其进行一些调整。
我该怎么分呢?
我至少想过两种方式
条形码在获取之前不按排序顺序排列。 “排序依据”适用于结果集,而不是在选择数据之前如何处理数据。
我对如何实现我的目标感到茫然。这是重要的,而不是修复我的SQL来获得它的特定方法。我查看了一些页面,例如下面的页面,但没有找到解决方案。
https://support.office.com/en-us/article/Table-of-operators-e1bc04d5-8b76-429f-a252-e9223117d6bd#__toc272228349 MS ACCESS count/sum number of rows, with no duplicates http://www.techonthenet.com/access/functions/string/strcomp.php
答案 0 :(得分:0)
我不明白2的问题。
SELECT barcode FROM items ORDER BY barcode
打开一个Recordset,移至记录60000,获取条形码
rst.Move 60000
strBarcode = rst!barcode
请参阅https://msdn.microsoft.com/en-us/library/bb243789%28v=office.12%29.aspx
然后动态构建您的查询。
myQuerydef.SQL = "SELECT * FROM items WHERE barcode <= '" & strBarcode & "'"
导出查询,例如与DoCmd.TransferSpreadsheet
myQuerydef.SQL = "SELECT * FROM items WHERE barcode > '" & strBarcode & "'"
导出到第二个文件。
如果您需要两个以上的文件,请使用数组而不是strBarcode并执行
myQuerydef.SQL = "SELECT * FROM items WHERE barcode > '" & Barcode(i) & _
"' AND barcode <= '" & Barcode(i+1) & "'"