【发布时间】:2017-03-19 07:01:53
【问题描述】:
我正在使用 Access 2013,特别是由于老板的指示,我无法使用 VBA 代码编辑器来最小化保存的查询和表 - 而且我无权修改表结构。
我有两个表:InvoiceDetails 和 AllItems,由 ItemID 连接。
INVOICEDETAILS ALLITEMS
¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
ItemID←-----------→ItemID
InvoiceNumber Invoiced (Yes/No)
有时可以单独记入 InvoiceDetails 中的 Item,在这种情况下,将取消选中 AllItems 中对应的 Invoiced。我正在尝试比较
- TotalItemCount = 给定
InvoiceNumber“1”的Items的数量
与
- InvoicedItemCount =
Items的数量与给定的InvoiceNumber“1”仍然是Invoiced
对于第一个数字,我有
TotalItemCount = DCount("ItemID", "InvoiceDetails", "InvoiceNumber = 1")
对于第二个数字,我有一个 SELECT 查询,它提供了 SQL 中的计数,但我不知道如何将其转换为 VBA 变量 InvoicedItemCount。
SELECT Count(InvoiceDetails.ItemID)
FROM InvoiceDetails INNER JOIN AllItems
ON InvoiceDetails.LoadID = AllItems.LoadID
WHERE InvoicedDetails.InvoiceNumber = 1 AND AllItems.Invoiced = True);
我知道DoCmd.RunSQL,但 AFAIK 只是运行查询并且没有提供可输出的整数以存储为 VBA 变量。有没有办法只在 VBA 中做到这一点?
【问题讨论】:
-
我认为这是重复的:stackoverflow.com/q/23992226/42346
-
谢谢伯尼!那里的解决方案对我有用。
-
干杯,伙计!祝您编码愉快。