Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Select-Anweisung mit reserviertem Wort oder falschem Argumentnamen ...

700 views
Skip to first unread message

Rüdiger Gram

unread,
Feb 2, 2012, 11:16:38 AM2/2/12
to
Grüezi NG,

seit Stunden plage ich mich mit einem SQL-String ab, der folgende
Fehlermeldung bringt:

Die Select-Anweisung schließt ein reserviertes Wort oder Argumentnamen ein,
das/der falsch, mit falscher Zeichensetzung oder überhaupt nicht eingegeben
wurde.

Das ist der SQL-String:

strSQL = "SELECT DISTINCT Kandidaten.Datei, Grußkarten.GpID,
Kandidaten.Mailcode, Kandidaten.[E-Mail] AS eMail" & _
"FROM Grußkarten INNER JOIN Kandidaten ON Grußkarten.GpID =
Kandidaten.[Bewerber-Nr] WHERE (((Kandidaten.Mailcode) Like ""*M*"")" & _
"AND ((Grußkarten.[FSG versandt]) Not Like ""* &
[Forms]![Grußkarten]![Dokument] & *""))" & _
"OR (((Kandidaten.Mailcode) Like ""*M*"") AND ((Grußkarten.[FSG versandt])
Is Null)) ORDER BY Kandidaten.Datei"

Derselbe Code - in eine Abfrage umgewandelt - läuft einwandfrei. Wer hat
das Adlerauge, um zu sehen, wo der Syntaxfehler steckt?

Möglicherweise ist der Teil nicht in Ordnung:
Not Like ""* & [Forms]![Grußkarten]![Dokument] & *""

Für "zweckdienliche" Hinweise wäre ich sehr dankbar.

Gruß - Rüdiger





Karl Donaubauer

unread,
Feb 2, 2012, 11:41:15 AM2/2/12
to
Rüdiger Gram wrote:
> ...
> Fehlermeldung bringt:
>
> Die Select-Anweisung schließt ein reserviertes Wort oder
> Argumentnamen ein, das/der falsch, mit falscher Zeichensetzung oder
> überhaupt nicht eingegeben wurde.
>
> Das ist der SQL-String:
>
> strSQL = "SELECT DISTINCT Kandidaten.Datei, Grußkarten.GpID,
> Kandidaten.Mailcode, Kandidaten.[E-Mail] AS eMail" & _
> "FROM Grußkarten INNER JOIN Kandidaten ON Grußkarten.GpID =
> Kandidaten.[Bewerber-Nr] WHERE (((Kandidaten.Mailcode) Like ""*M*"")"
> & _ "AND ((Grußkarten.[FSG versandt]) Not Like ""* &
> [Forms]![Grußkarten]![Dokument] & *""))" & _
> "OR (((Kandidaten.Mailcode) Like ""*M*"") AND ((Grußkarten.[FSG
> versandt]) Is Null)) ORDER BY Kandidaten.Datei"
>
> Derselbe Code - in eine Abfrage umgewandelt - läuft einwandfrei. Wer
> hat das Adlerauge, um zu sehen, wo der Syntaxfehler steckt?
>
> Möglicherweise ist der Teil nicht in Ordnung:
> Not Like ""* & [Forms]![Grußkarten]![Dokument] & *""

Joo, mehrere doppelte Anführungszeichen sind durch einfache
zu ersetzen. Zudem fehlen Leerzeichen vor einigen Schlüsselworten.
Versuch's mal so:

strSQL = _
"SELECT DISTINCT Kandidaten.Datei, Grußkarten.GpID, " & _
"Kandidaten.Mailcode, Kandidaten.[E-Mail] AS eMail " & _
"FROM Grußkarten INNER JOIN Kandidaten " & _
"ON Grußkarten.GpID = Kandidaten.[Bewerber-Nr] " & _
"WHERE (Kandidaten.Mailcode Like '*M*' " & _
"AND Grußkarten.[FSG versandt] Not Like '*" & _
Forms!Grußkarten!Dokument & "*') " & _
"OR (Kandidaten.Mailcode Like '*M*' " & _
"AND Grußkarten.[FSG versandt] Is Null) "

ORDER BY kannst du einsparen. Das erledigt schon DISTINCT.

--
Servus
Karl
*********
Access-FAQ: http://www.donkarl.com + SNEK
SQL Server und .NET-Entwickler-Konferenz
24./25.03.2012 Nürnberg, 28./29.04.2012 Hannover


Gunter Avenius

unread,
Feb 2, 2012, 11:40:09 AM2/2/12
to
Hallo Rüdiger,

Rüdiger Gram schrieb folgendes:
> eMail" & _
> "FROM

u.a. an dieser Stelle fehlt ein Leerzeichen:

eMail " & _
"FROM

ich sehe auf die scnelle 3 Stellen wo Leerzeichen fehlen.

Gruß
Gunter
--
__________________________________________________________
Access FAQ: http://www.donkarl.com

http://www.avenius.de - http://www.AccessRibbon.de
http://www.ribboncreator.de - http://www.ribboncreator2010.de

Rüdiger Gram

unread,
Feb 2, 2012, 11:53:40 AM2/2/12
to

Karl Donaubauer schrieb:

> Joo, mehrere doppelte Anführungszeichen sind durch einfache
> zu ersetzen. Zudem fehlen Leerzeichen vor einigen Schlüsselworten.
> Versuch's mal so:
>
> strSQL = _
> "SELECT DISTINCT Kandidaten.Datei, Grußkarten.GpID, " & _
> "Kandidaten.Mailcode, Kandidaten.[E-Mail] AS eMail " & _
> "FROM Grußkarten INNER JOIN Kandidaten " & _
> "ON Grußkarten.GpID = Kandidaten.[Bewerber-Nr] " & _
> "WHERE (Kandidaten.Mailcode Like '*M*' " & _
> "AND Grußkarten.[FSG versandt] Not Like '*" & _
> Forms!Grußkarten!Dokument & "*') " & _
> "OR (Kandidaten.Mailcode Like '*M*' " & _
> "AND Grußkarten.[FSG versandt] Is Null) "
>
> ORDER BY kannst du einsparen. Das erledigt schon DISTINCT.

Phantastisch. Lief auf Anhieb. Karl sei Dank!

Rüdiger


Rüdiger Gram

unread,
Feb 2, 2012, 12:14:48 PM2/2/12
to

Gunter Avenius schrieb:

> u.a. an dieser Stelle fehlt ein Leerzeichen:
>
> eMail" & _
> "FROM
>
> ich sehe auf die schnelle 3 Stellen wo Leerzeichen fehlen.

Vermutlich, weil ich schon seit Stunden auf den selben String starre.
Irgendwann werde ich noch ganz gaga davon.

Vielen Dank Gunter

Rüdiger





0 new messages