SQL Abfrage Probleme

Sfire

Grünschnabel
Hallo, hab nochmal ne Frage!
Set rs = db.OpenRecordset("SELECT [lfd-Nr] FROM Personal Where [Nachname] & ', ' & [vorname]=" & (Istzugriff.Text), dbOpenSnapshot)

wo hab ich hier den Fehler wenn bei Istzugriff.Text z.b: "Matz, Sascha" steht ?

Danke Gruß Sascha
 
Hallo SFire,

Dein SQL String müsste folgendermaßen lauten:

"SELECT lfd-Nr FROM Personal WHERE Nachname+', '+vorname = " & Istzugriff

Die beiden Felder Nachname und vorname werden nicht mit einem & Zeichen, sondern mit einem + Zeichen verkettet.

Ich wünche noch einen schönen Sonntag. :)
 
Zuletzt bearbeitet:
Normalerweise muß das funktionieren, habe es nochmal an einer eigenen Datenbank getestet.

Hmmm... Hast Du mal versucht, einfach nur den Nachnamen oder den Vornamen abzufragen? Funktioniert das denn? Am SQL String kann es eigentlich dann nicht liegen.

Mit welcher Datenbank arbeitest Du?
 
Hi, arbeite mit access 97 noch!

die abfrage funktioniert:
Set rs = db.OpenRecordset("SELECT * FROM Personal Where [vorname]= 'Michael'", dbOpenSnapshot)

Gruß Sascha
 
Set rs = db.OpenRecordset("SELECT [lfd-Nr] FROM Personal WHERE [Nachname] + ', ' + [vorname] = " & helpselect, dbOpenSnapshot)

hierbei kommt: 1 Parameter wurde erwartet aber zu wenige übergeben
 
Ach ne! Sorry...

es kommt syntax Fehler in Abfrage ausdruck!... (Komma)

hatte mich grad vertan!... mit der alten fehlerbeschreibung
 
Hallo SFire,

sorry, habe einen wichtigen Punkt beim anpassen übersehen:

SELECT lfd-Nr FROM Personal WHERE Nachname + ', ' + vorname = '" & helpselect & "'"

Das helpselect ist ein String und der muss in ' ' solche Anführungszeichen. Du kanst die eckigen Klammern auch weglassen... Die sind bei dieser Abfrage nicht notwendig.
 
Oder man mach das ganze nämlich auf die richtige Art, und benennt den SQLString wie es sich gehört:

Visual Basic:
Dim Dummy() as String
Dim SQLString as String

Dummy=Split(lstzugriff.Text,",")

SQLString="SELECT [lfd-Nr] FROM Personal Where [Nachname] ='" & Trim$(dummy(0)) & "' And [Vorname]='" & trim$(Dummy(1)) & "';"

Set rs = db.OpenRecordset(SQLString, dbOpenSnapshot)
 
Zuletzt bearbeitet:
Sorry aber was wollt ihr machen?

Wenn ihr den Nachnamen abfragen wollt
dann so
SQL:
SELECT lfd-Nr FROM Personal WHERE Nachname like '"& helpselect & "'"

wenn ihr beides abfragen wollt dann

SQL:
SELECT lfd-Nr FROM Personal WHERE Nachname like '"& helpselect & "'"
AND Vorname Like '" +irgendwas +"'"

und wenn ihr den Vornamen und nachnamen addieren wollt um dann zu vergleichen dann:

SQL:
SELECT lfd-Nr FROM Personal WHERE Nachname +', ' + Vorname  like '"& helpselect & "'"

wobei ich persönlich die Addition für denkbar schlecht halte den allein ein fehlendes oder zu viel geschriebenes Leerzeichen zwischen Vorname und Nachname liefert kein Ergebnis mehr.
Bestenfalls hat man auch zwei getrennte Suchfelder für Vornamen und Nachnamen und sucht mit *.

Grüsse bb
 
Zurück