Ich bin ein Amateur-vba Programmierer zur Zeit mit folgenden kämpfen:SQL-Abfrage in Access nicht anwenden WHERE-Klausel
ich eine einfachen SQL-Abfrage für mein VBA-Programm schrieb Daten aus einer vorhandenen Abfrage (GroupedData) in Access zu extrahieren:
Dim strSQL as string
Dim db as dao.database
dim rs as dao.recordset
strSQL = "SELECT GroupedData.EmployeeID, GroupedData.End, GroupedData.LOB, GroupedData.Position, GroupedData.WorkStatus " & _
"FROM GroupedData WHERE (((GroupedData.End) Is Null) AND ((GroupedData.Position)=0) AND ((GroupedData.WorkStatus)=0));"
Set db = OpenDatabase(MY_DB, dbOpenDynaset)
Set rs = db.openrecordset(strSQL, dbOpenSnapshot)
Do While Not rs.EOF
ListBox1.AddItem rs!EmployeeID
rs.MoveNext
Loop
Also mein Problem ist, dass SQL reibungslos läuft, aber bewirbt sich keine Filter (das ist, wo Klausel - es Aufzeichnungen erzeugt, wo workstatus und Positionswerte über 0 enthalten)
ich solche Abfragen getan haben in die Vergangenheit ohne irgendwelche Probleme. Dieses Mal jedoch stecke ich fest
Jede Hilfe wäre sehr geschätzt!
Vielen Dank
Bitte entfernen Sie alle Klammern aus Ihrer WHERE-Klausel. Schauen Sie sich auch Aliase an, sie werden Ihren Code verkürzen und ihn lesbarer machen. So: 'SELECT gd.EmployeeID FROM GroupedData gd' –
Abgesehen von den Kosmetika sollte die Abfrage gut funktionieren. – sstan
Vielen Dank für Ihre Tipps, aber nach dem Entfernen der Klammern liefert der Code immer noch nicht die richtigen Ergebnisse. Wenn ich diesen Code in den Zugriff einfügen, funktioniert es hervorragend – SqU33z3R