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:
-
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.
- 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