【发布时间】:2022-01-11 11:13:28
【问题描述】:
在 Access 中,我有一个名为 tblBundle 的表,我试图查询在订单中的每个捆绑包上完成的最后一步。
tblBundle 包含:工单、Bundle#、BundleLtr、Step、Complete [boolean]
我最终想将其复制到 vba 中以创建 Bundle #、Ltr 和上一步完成的列表,以便在下一步完成时继续输入数据。
由于某种原因我无法确定,下面的 SQL 查询在我认为它应该只返回一条记录 - 200 时返回捆绑 1 (190, 200) 的 2 条记录。
SELECT Max(tblBundle.Step) AS intLstep, tblBundle.BundleNbr, tblBundle.BundleLtr,
tblBundle.Complete
FROM tblBundle
GROUP BY tblBundle.WO, tblBundle.BundleNbr, tblBundle.BundleLtr, tblBundle.Complete
HAVING (((tblBundle.WO)="195687-1-1") AND ((tblBundle.Complete)=True));
谁能帮我弄清楚为什么我的查询返回了额外的值?
【问题讨论】:
-
这两条记录之间的
BundleLtr可能存在不可见的差异。例如。一个为空,另一个为空字符串。 -
有趣的是它们都是空的并且通过缩放窗口确认。此外,Bundle 2 的记录与 Bundle 1 完全相同,因为它们是复制和粘贴的。所以我很好奇为什么 Bundle 2 也没有出现 190
-
我不是 Access 用户,所以我不确定“缩放窗口”是什么,但我很难相信前两条记录在
BundleNbr和BundleLtr -
@samwiseVB 确认聚合查询结果中是否有空字符串或空字符串或两者兼有的最佳方法是在 tblBundle 中显式查询它们。为此,我不相信缩放窗口。
-
缩放是当您单击单元格时,shift+f2 会打开一个更大的单元格窗口。此外,在过滤字段时,选项是(空白)、a、b