2009-08-31 65 views
0

對於一個列表框行來源是這樣的:MS-訪問:列表框不顯示數據

SELECT users.id, users.first, users.last, chavrusas.luser_type AS user_type, chavrusas.id, users.title, users.city, users.state, users.home_phone, users.email FROM Users INNER JOIN chavrusas ON Users.id=chavrusas.luser_id WHERE ((chavrusas.ruser_id)=id_txt and chavrusas.ended=false) AND (chavrusas.luser_type)<>(chavrusas.ruser_type) AND NOT ((chavrusas.luser_type)='teacher' AND (chavrusas.ruser_type)='student') AND NOT ((chavrusas.ruser_type)='teacher' AND (chavrusas.luser_type)='student'); UNION SELECT users.id, users.first, users.last, chavrusas.ruser_type AS user_type, chavrusas.id, users.title, users.city, users.state, users.home_phone, users.email FROM Users INNER JOIN chavrusas ON Users.id=chavrusas.ruser_id WHERE ((chavrusas.luser_id)=id_txt and chavrusas.ended=false) AND (chavrusas.luser_type)<>(chavrusas.ruser_type) AND NOT ((chavrusas.luser_type)='teacher' AND (chavrusas.ruser_type)='student') AND NOT ((chavrusas.ruser_type)='teacher' AND (chavrusas.luser_type)='student') 
ORDER BY 4; 

出於某種原因,當有不僅僅是幾個項目的更多,這個語句返回,列表框會顯示空值!但如果此語句返回2-3個項目,它將顯示它們沒有問題。

回答

4

1)在查詢設計器中運行查詢時查詢是否有效?

2)查詢中的字段數是否與列表框中的列計數屬性中的字段數相同?

3)「ORDER BY 4」中的4是什麼? 4應該是一個字段名稱,例如users.last或user_type。

4)First和Last是查詢中使用的函數名稱。所以如果還沒有的話,這可能會在未來導致你的問題。將方括號放在字段名稱的周圍或使用不同的字段名稱。另請參閱Tony's Table and Field Naming Conventions

+0

1.我會在此回覆您,2.因爲它正確地返回了一些記錄,您認爲這仍然是一個問題嗎? 3.我改成了users.last,結果也一樣。 4.我在其他例子中以相同的方式使用它們,並且它們工作正常 – 2009-08-31 18:21:20

+1

2.當查詢中的列數與列數不匹配時,過去發生過奇怪事情。當然,這是十年前,我從那以後就沒有看到過這個問題。 OTOH從那時起,我可能會更加小心謹慎。 通過計算查詢數據表視圖中的列數,也只需要一分鐘左右的時間來檢查。 3.有趣的是,在ORDER BY中使用了4。我從來沒有見過,但它不是在訪問幫助,但似乎工作。 – 2009-08-31 18:43:05

+0

嘿託尼謝謝你的回覆。你能否詳細說明我可以如何檢查#2? – 2009-08-31 18:50:55