我正在撰写Access 2003表单,以获取当前所有人员的列表。
我有一个保存的查询,当我查看数据表视图(列出包含相关帐号的所有名称)时,我会得到我期望的结果。
如果我使用与ListBox.RowSource相同的保存查询,我会获得相同的名称列表,但只有约10%的名称具有帐号。 tblOne.ACCOUNT保证不为空,所以我不确定这些空结果是如何出现的。
SELECT tblOne.NAME, tblOne.ACCOUNT
FROM tblOne INNER JOIN tblTwo ON
tblOne.ID = tblTwo.ID
WHERE tblOne.ENTER_DT >= (Date()-7)
AND tblTwo.EXIT_DT Is Null
ORDER BY tblOne.NAME
两个表都是链接表。列表框有两列。我无法解释为什么保存的查询会给我不同的结果,具体取决于我是使用数据表视图查看它还是将其用作ListBox的RowSource。
当我添加INNER JOIN时,错误开始发挥作用。但它仍然可以在带有JOIN语句的数据表视图中正常工作。
答案 0 :(得分:0)
那太神秘了。但是拍摄步骤有一些明显的麻烦。你用什么作为基础?
SELECT tblOne.NAME, tblOne.ACCOUNT FROM tblOne
故障排除通常包括“减少”,直到你得到似乎有效的东西,然后逐渐增加复杂性,直到你得到你想要的结果。在该路径的某个位置,您可以修复错误。
答案 1 :(得分:0)
如果在列表框和查询中都使用SELECT DISTINCT ,会发生什么? 这有助于获得相同的预期结果吗?