ich habe da ein Problem mit einer Abfrage in Access 2000.
Und zwar möchte ich auf einer Tabelle eine Abfrage erstellen, bei der eines der Kriterien ist, ob die Inhalte eines bestimmten Feldes in einem der Werte eines Feldes einer anderen Tabelle entspricht.
Hintergrund:
Ich könnte zwar in der Abfrage die ganzen Einzelwerte als „oder“-Kriterium eintragen, aber eine Zweite Tabelle, die nur die Werte für die Abfrage beinhaltet ist einfach leichter zu pflegen. Ausserdem sollten bei mehreren verschiedenen Abfragen immer wieder die gleichen Werte verwendet werden.
Kann mir hier jemand weiterhelfen, wie man dieses Problem relativ einfach lösen kann?
Do Until rst1.EOF = True
stSQL = stSQL & " OR Tabelle_die_abgefragt_wird.Kriteriumsfeld = " & rst1.[Feld_mit_Kriterium]
Loop
Set qdfNew = db.CreateQueryDef(stAbfrage, stSQL)
rst1.Close
Set qdfNew = Nothing
Set db = Nothing
Set rst1 = Nothing
Hab ich mal so heruntergeschrieben, also ungetestet. Wenn das Kriterium ein String (Zeichenkette) ist, muß man noch Anführungszeichen einbauen. Hier habe ich mal eine Zahl als Kriterium angenommen.
Kann mir hier jemand weiterhelfen, wie man dieses Problem
relativ einfach lösen kann?
Entweder ich habe deine Frage nicht richtig verstanden, oder ich verstehe nicht, warum Kollege ujk mit Kanonen auf Spatzen schiesst.
Meiner Meinung nach tut’s hier doch ein simpler Join:
SELECT MeineTabelle.\* FROM MeineTabelle INNER JOIN MeineKriterienTabelle ON MeineTabelle.Kriterium = MeineKriterienTabelle.Kriterium;
Oder sehe ich das falsch?
Die Lösung von ujk würde natürlich auch funktionieren.