Warum noch ein Access-Buch?
Für wen ist das Buch?
Jetzt bestellen
+ direkter Download des eBooks!
Nur EUR 59,95!
Fehler gefunden?
Bitte melden!
Wünsche an das Buch?
Her damit!
Was denken die Leser über dieses Buch?
Lesen Sie aktuelle Rezensionen!
Kapitel des noch nicht veröffentlichten Buchs zum Downloaden, Probelesen und Kommentieren
Beispieldatenbanken
Zusätzliches Material

Das Buch im HTML-Format

Für unbestimmte Zeit bieten Addison-Wesley und André Minhorst den kompletten Inhalt des Buchs als Download an. Schauen Sie rein und informieren Sie sich über den Inhalt! Und wenn Ihnen das Buch nützlich erscheint und Sie glauben, dass Sie etwas gelernt haben oder durch das Gelesene sogar etwas Zeit und somit Geld bei Ihrer Arbeit einsparen konnten, können Sie sich ja beim Autor und beim Verlag revanchieren - beispielsweise durch den Kauf dieses Buchs.

Am schönsten wäre es natürlich, wenn Sie das Buch direkt hier bestellen - Sie erhalten das Buch dann direkt vom Verlag, und der Autor und Verlag haben dann noch mehr davon, als wenn Sie es anderswo kaufen.

Danke für Ihr Interesse!

3.3.7 Probleme mit Kriterienausdrücken bei SQL-Ausdrücken in VBA

3.3.8 Zeichenkette oder Zahlenwert?

Der Fehler aus Abbildung 3.9 resultiert fast immer aus dem Fehlen von Anführungszeichen im SQL-Ausdruck beim Verwenden von Zeichenketten als Kriterium.

Abbildung 3.9: Fehlermeldung beim Verwenden einer SQL-Anweisung per VBA

Das folgende Listing zeigt einen solchen Fehler:

Public Function MitarbeiterSuchen(strNachname As String)
    ...
    Set rst = CurrentDB.OpenRecordset("SELECT MitarbeiterID, " _
        & "Vorname, Nachname FROM tblMitarbeiter WHERE Nachname = " _
        & strNachname)
    ...
End Function

Listing 3.3: Falsche Verwendung einer Zeichenkette als Kriterium

In dieses Listing wurden keine Anführungszeichen für die Zeichenkette integriert. Der SQL-Ausdruck sieht für den Aufruf MitarbeiterSuchen "Müller" wie folgt aus:

SELECT MitarbeiterID, Vorname, Nachname FROM tblMitarbeiter WHERE Nachname = Müller

»Müller« wird hierbei nicht als Zeichenkette, sondern als Parameter ausgelegt. Da für diesen kein Wert vorliegt, erscheint obige Fehlermeldung. Die Lösung des Problems ist einfach.

Fassen Sie den Parameter einfach in Anführungszeichen oder Hochkommata ein (in einer Zeile):

Set rst = db.OpenRecordset("SELECT MitarbeiterID, Vorname, Nachname FROM tblMitarbeiter WHERE Nachname = '" & strNachname & "'")

oder besser

Set rst = db.OpenRecordset("SELECT MitarbeiterID, Vorname, Nachname FROM tblMitarbeiter WHERE Nachname = """ & strNachname & """")

Nächster Abschnitt:

3.3.9 Probleme mit Datumsangaben

© 2006-2008 André Minhorst Alle Rechte vorbehalten.