2009-08-31 7 views
0

die Zeilenquelle für ein Listenfeld sieht wie folgt aus:ms-Zugang: listbox ist die Anzeige keine Daten

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; 

aus irgendeinem Grund, wenn es mehr als nur ein paar Artikel, dass diese Aussage zurückgibt, die Listbox Nullwerte anzeigen !! Wenn diese Anweisung jedoch 2-3 Elemente zurückgibt, werden sie kein Problem darstellen.

Antwort

4

1) Funktioniert die Abfrage, wenn Sie sie im Abfrage-Designer ausführen?

2) Sind die Anzahl der Felder in der Abfrage die gleiche Anzahl wie in der Listbox Column Count-Eigenschaft?

3) Was ist die 4 in "ORDER BY 4"? 4 sollte ein Feldname wie users.last oder user_type sein.

4) First und Last sind die Namen von Funktionen, die in Abfragen verwendet werden. Das wird Ihnen wahrscheinlich in der Zukunft Probleme bereiten, wenn es nicht schon passiert. Setzen Sie eckige Klammern um die Feldnamen oder verwenden Sie unterschiedliche Feldnamen. Siehe auch Tony's Table and Field Naming Conventions

+0

1. ich werde auf dieses Thema zurückkommen, 2. da es einige Datensätze korrekt zurückgibt, denken Sie, dass dies immer noch ein Problem wäre? 3. Ich wechselte zu users.last und es ergab das gleiche Ergebnis. 4. Ich verwende diese auf die gleiche Weise in anderen Beispielen und sie funktionieren gut –

+1

2. Ich hatte Wierdnesses passieren in der Vergangenheit, wenn die Anzahl der Spalten in der Abfrage nicht mit der Anzahl der Spalten übereinstimmen. Zugegeben, das war vor zehn Jahren und ich habe das Problem seitdem nicht gesehen. OTOH Ich bin seither viel vorsichtiger. Es dauert nur eine Minute oder so zu überprüfen, indem Sie die Anzahl der Spalten in der Abfrage Datenblattansicht zählen. 3. Interessant die Verwendung von 4 in der ORDER BY dann. Ich habe das nie zuvor gesehen, aber es ist nicht in Access-Hilfe, aber scheint zu funktionieren. –

+0

hey tony danke für deine antwort. Kannst du bitte näher erläutern, wie ich nach # 2 schauen kann? –