Access 2003:使用相同查询时,数据表和列表框具有不同的结果

时间:2009-07-24 19:27:11

标签: ms-access

我正在撰写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语句的数据表视图中正常工作。

2 个答案:

答案 0 :(得分:0)

那太神秘了。但是拍摄步骤有一些明显的麻烦。你用什么作为基础?

SELECT tblOne.NAME, tblOne.ACCOUNT FROM tblOne

故障排除通常包括“减少”,直到你得到似乎有效的东西,然后逐渐增加复杂性,直到你得到你想要的结果。在该路径的某个位置,您可以修复错误。

答案 1 :(得分:0)

如果在列表框和查询中都使用SELECT DISTINCT ,会发生什么? 这有助于获得相同的预期结果吗?