PDA

Vollständige Version anzeigen : Meine Where-Klausel will nicht


anotherone
10.08.2001, 10:31
Hallo,

ich möchte mit Hilfe einer SQL-Abfrage eine Tabelle öffnen, um sie in einem Formular anzuzeigen. Dabei soll über ein Kombinationsfeld der Mitarbeiter ausgewählt werden.

Leider bekomme ich immer die Fehlermeldung "Datentypen in Kriterienausdruck unverträglich".

Hab schon einiges versucht, z.B. Umwandlung des Wertes in einen String

Dim such_mitarbeiter as string, such_mitarbeiter=mid(str(Me("SuchMitarbeiter)),1)

hat aber nix gebracht(vielleicht hab ich es auch falsch gemacht?). Hier einmal die Anweisung:

Set db = CurrentDb
krit = "SELECT * FROM KALENDER WHERE Mitarbeiter=" + [SuchMitarbeiter] + ";"
Set rs = db.OpenRecordset(krit, dbOpenDynaset)

wobei die Tabelle Kalender heisst, das zu durchsuchende Feld Mitarbeiter und das Kombinationsfeld suchMitarbeiter, welches seine Daten aus der Tabelle Mitarbeiter bezieht(ist das vielleicht ein Problem?), 2 Spalten hat, die erste ist nicht sichtbar und enthält das Feld ID, welches der Autowert-Index der Tabelle Mitarbeiter ist
und das zweite den Namen des Mitarbeiters zum auswählen. Wenn ich der SQL-Anweisung einen Wert von ID in Form von

WHERE MITARBEITER='1' übergebe, klappt es!

???WAS MACHE ICH FALSCH???

Stema
10.08.2001, 10:37
Versuch's mal mit:
krit = "SELECT * FROM KALENDER WHERE Mitarbeiter='" + [SuchMitarbeiter] + "';"

Wenn auf ein Stringfeld abgefragt wird muß der String-Wert im SQL-Befehl in "" gesetzt. werden.

A.S.
10.08.2001, 10:37
krit = "SELECT * FROM KALENDER WHERE Mitarbeiter='" & _
[SuchMitarbeiter] & "';"

Textuelle Parameter sind in einfache Hochkommatas zu fassen ;)

------------------
HTH

Arno

Stema
10.08.2001, 10:38
Also das ist ja ziemlich schlecht zu erkennen. Also noch mal mit Leerzeichen. Mußt Du aber rausnehmen.

krit = "SELECT * FROM KALENDER WHERE Mitarbeiter=' " + [SuchMitarbeiter] + " ';"

anotherone
10.08.2001, 11:34
Hallo,
<h1>Ihr seid so Klasse, Jungs!!! </h1>Das sind manchmal solche fiesen Kleinigkeiten, da soll man nun drauf kommen.

Vielen vielen Dank!!!