VB Net: Per SQL Abfrage Combo Box befüllen

Hallo,

ich versuche mit folgendem Code eine SQL-Abfrage an eine Access-DB zu schicken und dann damit eine ComboBox zu befüllen. Das funkioniert auch eigentlich. Aber irgendwie macht mir der LIKE-Befehl in der WHERE Clause einen Strich durch die Rechnung habe ich das Gefühl, bzw die *(Sternchen).

Dim preloadData As New DataSet

Datenbank\_pfad = System\_übersicht.tb\_datenbank\_pfad.Text
Dim myConnection As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Datenbank\_pfad & ":stuck\_out\_tongue\_winking\_eye:ersist Security Info=False")
Dim suche As String
Dim selData As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(("SELECT Geräte\_ID FROM GERÄTE WHERE Geräte\_ID LIKE '\*" + tb\_nummer.Text + "\*'"), myConnection)

 selData.Fill(preloadData)

 cb\_ergebnis.DataSource = preloadData.Tables(0)

 cb\_ergebnis.DisplayMember = "Geräte\_ID"
 cb\_ergebnis.ValueMember = "Geräte\_ID"

Es wird einfach gar nichts der ComboBox hinzugefügt und es kommt auch keine Fehlermeldung. Mit dem Debug-Modus habe ich auch versucht dem Problem auf die Schliche zu kommen. Hat mich aber auch nicht wesentlich weiter gebracht.

So hingegen funktionierts, aber natürlich nur wenn ich nach genau einer Geräte_ID suche,die auch existiert.

Dim selData As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(("SELECT Geräte\_ID FROM GERÄTE WHERE Geräte\_ID LIKE '" + tb\_nummer.Text + "'"), myConnection)

Wäre für Tipps und Lösungsvorschläge sehr dankbar :smile:

Hallo!

In SQL sind die Wildcard-Zeichen anders als Du offenbar gewohnt bist: Dort entspricht dem ‚*‘ das ‚%‘ und statt ‚?‘ schreibst Du ‚_‘.

Gruß,
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo!

In SQL sind die Wildcard-Zeichen anders als Du offenbar
gewohnt bist: Dort entspricht dem ‚*‘ das ‚%‘ und statt ‚?‘
schreibst Du ‚_‘.

Gruß,
Martin

Danke Danke, es klappt :smile:

Und ich bin hier schon verzweifelt.