Suche per SQL in VBA ? DAO

TaylorDorton

Mitglied
Hallo, ich sitze hier an einem Code Schnipsel, der folgende kleine
Aufgabe erfüllen soll, er durchsucht die Tabelle Kunden im Feld Name
nach der Eingabe in der Inputbox, sofern er fündig wird, wird das Feld Name und
das Feld Vorname in einer MsgBox ausgegeben.

Das Problem ist, ich kann den Schnippsel so umschreiben das er nach
Wildcards sucht oder Zahlen, funktioniert Prima, aber aus einem Grund
der mir nicht klar ist, weigert er sich den Eingegeben SuchString zu suchen
Ich denke meine SQL Anweisung ist nicht Korrekt.

Hier der Code:

Code:
Private Sub Befehl31_Click()
  Dim db As DAO.Database
  Dim rs As Recordset
  Dim strSQL As String
  Dim strSuche As String
  
  Set db = CurrentDb()
  strSuche = InputBox("Geben Sie einen mit Sternchen [*]" _
  & vbCr & "eingefassten Suchbegriff ein.")
  strSQL = "Select * from Kunden where Kunden.Name = " & strSuche
  Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)
  MsgBox rs!Name & " " & rs!Vorname
    
End Sub

Vielen Dank im Vorraus für euere Hilfe!
greetz Taylor
 
Hallo, versuch´s mal so:
Code:
strSQL = "Select * from Kunden where Kunden.Name = '" & strSuche & "'"
 
Merci. Funktioniert wunderbar!

Auf diese Syntax wäre ich im Leben nicht gekommen.
Kannst du mir vieleicht Erklären was es mit dem ' auf sich hat?
Ist das ein teil der SQL Anweisung bzw. eine SQL Spezifische Syntax?
Ist mir so noch nicht untergekommen.

greetz Taylor
 
Hallo, wenn das Tabellenfeld ein Textfeld ist muss man strSuche in Hochkommas setzen.
Code:
strSQL = "Select * from Kunden where Kunden.Name = '" & strSuche & "'"
Bei Zahlenfeldern sieht es so aus:
Code:
strSQL = "Select * from Kunden where Kunden.PLZ = " & strSuche
Bei Datumfeldern:
Code:
strSQL = "Select * from Kunden where Kunden.Geburtsdatum = #" & Format(strSuche, "dd-mm-yyyy") & "#"
 
Zurück