DoCmd Befehlt Syntak-Error Access 2010

Hallo ich kommt mit der Syntak von dem DoCmd.OpenForm nicht ganz klar -.-*, hoffe ihr könnt mir helfen

Code:
stLinkCriteria = "[tbl_mitarbeiter] = " & Me![cbo_mitarbeiter] & "’ " & _ "AND [lfdnr]= " & Me![cbo_schulung]DoCmd.OpenForm „frm_kompetenz_überblick_Schul_überblick“, , , stLinkCriteria

Jetzt kommt beim Ausführen immer folgende Meldung:Syntakfehler (Fehlender Operator) in Abfrageausdruck ‚[tbl_mitarbeiter]= 4965‘ AND [lfdnr]= AS004-MPD".

Was ist  da falsch ? hoffe ihr könnt mir weiterhelfen

Mit freundlichen Grüßen

Fizzo361

Moin, Fizzo,

(Fehlender Operator) in Abfrageausdruck ‚[tbl_mitarbeiter]=
4965‘ AND [lfdnr]= AS004-MPD".

Was ist  da falsch ?

wo hier tbl_mitarbeiter steht, erwartet SQL einen Spaltennamen.

Gruß Ralf

Guten Morgen Ralf,
[tbl_mitarbeiter] ist ein Spaltenname ,das hatte mein vorgänger leider so benannt…
ich habe es dennoch auch mit anderen Tabellenspalten ausprobiert, jedoch immer ohne erfolg,
Allerding müsste das obige eingentlich stimmten, da es genau in der tbl_mitarbeiter den eintrag 4965 gibt genau so wie in der Spalte lfdnr der AS004-MPD eintrag enthalten ist.

Muss die Syntak evtl abgeändert werden da es sich bei dem ersten Krit um ein Integer Wert handelt und bei der zweiten um einen String?

Hoffe Ralf du kannst mir nochmal weiterhelfen , über hilfe von anderen Personen wäre ich naturlich auch erfreut, vielen dank im vorraus und bis dann

Mfg
Fizzo361

Hallo,

stLinkCriteria = "[tbl_mitarbeiter] = " & Me![cbo_mitarbeiter] & " AND [lfdnr]= " & Me![cbo_schulung]

Gruß
DF6GL,Franz

stLinkCriteria = "[tbl_mitarbeiter] = " & Me![cbo_mitarbeiter]
& " AND [lfdnr]= " & Me![cbo_schulung]

Gruß
DF6GL,Franz

Hi Df6Gl,Franz, danke für deinen Hinweis, habe ihn sofort ausprobiert und es kam schonmal keine Fehlermeldung mehr, allerdings werde ich jetzt nach Parametern gefragt die ich übergeben soll, wie kann ich dies noch umgehen?

Zwischeninfo: tbl_mitarbeiter = Zahlen & lfdnr = Text

Vielen dank für deine Hilfe

Gruß Fizzo361

stLinkCriteria = "[tbl_mitarbeiter] = " & Me![cbo_mitarbeiter]
& " AND [lfdnr]= " & Me![cbo_schulung]

Hi Df6Gl,Franz, danke für deinen Hinweis, habe ihn sofort
ausprobiert und es kam schonmal keine Fehlermeldung mehr,
allerdings werde ich jetzt nach Parametern gefragt die ich
übergeben soll, wie kann ich dies noch umgehen?

Zwischeninfo: tbl_mitarbeiter = Zahlen & lfdnr = Text

Dann so:

stLinkCriteria = "[tbl\_mitarbeiter] = " & Me![cbo\_mitarbeiter] & " AND [lfdnr]= '" & Me![cbo\_schulung] & "'"
1 Like

Dann so:

stLinkCriteria = „[tbl_mitarbeiter] = " & Me![cbo_mitarbeiter]
& " AND [lfdnr]= '“ & Me![cbo_schulung] & „’“

Wow vielen dank dir funktioniert bestens, danke danke danke

Gruß Fizzo

Hallo Df6gl,
Ich hätte da mal eine Frage/bitte an dich, ich benötige in kommender Zeit öffters den DoCmd.openForm befehl, verstehe aber nie genau wie der Ausdruck nun geschrieben werden muss, in der Hilfe habe ich auch schon geschaut und in unzähligen foren aber zu einer guten erklärung kam ich noch nicht durch. Nun zur frage könntest du mir einmal ausführlich erklären wie man solch ein ausdruck bildet, wann muss ich " ’ " verwenden und wann nicht ? wäre sehr nett wenn du mir dabei weiterhelfen könntest

Dann so:

stLinkCriteria = „[tbl_mitarbeiter] = " & Me![cbo_mitarbeiter]
& " AND [lfdnr]= '“ & Me![cbo_schulung] & „’“

Bis bald Fizzo361 und vielen dank

1 Like

Hallo,´

Ich hätte da mal eine Frage/bitte an dich, ich benötige in
kommender Zeit öffters den DoCmd.openForm befehl, verstehe
aber nie genau wie der Ausdruck nun geschrieben werden muss,
in der Hilfe habe ich auch schon geschaut und in unzähligen
foren aber zu einer guten erklärung kam ich noch nicht durch.
Nun zur frage könntest du mir einmal ausführlich erklären wie
man solch ein ausdruck bildet, wann muss ich " ’ " verwenden
und wann nicht ? wäre sehr nett wenn du mir dabei weiterhelfen
könntest

Dann so:

stLinkCriteria = „[tbl_mitarbeiter] = " & Me![cbo_mitarbeiter]
& " AND [lfdnr]= '“ & Me![cbo_schulung] & „’“

Das ist im Grunde ganz einfach:

Wenn das zu vergleichende Tabellenfeld („lfdnr“) den Datentyp TEXT besitzt, dann müssen wie oben um den Vergleichswert Hochkommata gesetzt werden.
Hätte „lfdnr“ den Datentyp Zahl (Integer, bzw. Long) , dann müssen die Hochkommata weggelassen werden:

stLinkCriteria = "[tbl\_mitarbeiter] = " & Me![cbo\_mitarbeiter]
& " AND [lfdnr]= " & Me![cbo\_schulung] & ""

was dem identisch ist:

stLinkCriteria = "[tbl\_mitarbeiter] = " & Me![cbo\_mitarbeiter]
& " AND [lfdnr]= " & Me![cbo\_schulung] 

Zwei weitere Datentypen sind zudem auch anders zu behandeln:

  1. Datentyp Zahl Single, bzw. Double:

    stLinkCriteria = "[tbl_mitarbeiter] = " & Me![cbo_mitarbeiter]
    & " AND [lfdnr]= " & Str(Me![cbo_schulung])

Hier sorgt die Str()-Funktion dafür, dass das Dezimal-Komma in der Zahl (auf deutschen Rechnern üblich) zu einem Punkt konvertiert und dadurch im Criteria-String richtig eingebaut wird.

  1. Datentyp Datum/Uhrzeit:
    hier muss dafür gesorgt werden, dass der Vergleichs-Datumswert entweder im USA- oder im ISO-Format eingebaut wird:

USA-Format: 12/31/2013
ISO-Format: 2013-12-31

und von „#“-Zeichen umschlossen wird: #12/31/2013# bzw.: #2013-12-31#

Im Code erreicht man das mit der Formatfunktion:

stLinkCriteria = "[tbl\_mitarbeiter] = " & Me![cbo\_mitarbeiter]
& " AND [Geburtsdatum]= " & Format(Me![txtDatum],"\#mm/dd/yyyy\#")

bzw.:

 

stLinkCriteria = "[tbl\_mitarbeiter] = " & Me![cbo\_mitarbeiter]
& " AND [Geburtsdatum]= " & Format(Me![txtDatum],"\#yyyy-mm-dd\#") 

In „[txtDatum]“ muss natürlich von vornherein auch ein gültiges Datum stehen…

Gruß
Franz,DF6GL

1 Like

Danke df6gl,
das ist mal eine super hilfe für mich, mit deiner erklärung können die nächsten herrausforderungen auf mich zukommen :d
Vielen dank hab mir gleich deine tipps in einer txt zwischengespeichert.

Netten gruß und bis bald

Fizzo361