SQL in VB klappt nicht richtig

meilon

Erfahrenes Mitglied
Hi,
ich schreibe gerade eine mp3-wiederfind-Applikation! Im moment haperts an der wiederfind-Funktion :-)

Wenn ich versuche, mit
Code:
frmMain.rsView_DAO frmMain.DbFile, "mp3", "SELECT * FROM mp3 WHERE (" & Suf & ");"
etwas wieder zu finden, zeigt er mir nur einen Datensatz. (In Suf steht "((Interpret) = "Nightwish")))

Wenn in Suf aber "((Interpret) LIKE = "*Nightwish*"))" steht, findet er alle! Warum?

Und noch eine Frage: Wie setzte ich den AutoWert wieder auf Start zurück?

Benutze DAO 3.51 Zugriff

mfg
 
Sry, böses Copy'n'Paste :D

Soll natürlich nur "((Interpret) LIKE "*Nightwish*")" heißen.

Warum bringt "((Interpret) = "Nightwish")" nur ein Ergebnis, "((Interpret) LIKE "*Nightwish*")" aber alle?

Der Query funktioniert in Access Astrein. Warum in VB nicht?

mfg
 
SQL technisch kann nur alles angezeigt werden wenn zb nur mit dem Joker (*) gesucht wird. Warum übergibst du den Spaltenamen mit einer Variablen?

Code:
...."SELECT * FROM mp3 WHERE Interpret like '" & Suf & "'"
Hierbei wird lediglich der Variablen Suf der Titel übergeben
 
Das liegt daran, dass ich die Abfrage Dynamisch generiere. Hier mal der ganze Code dazu:
Code:
Private Sub cmdSearch_Click()
 	Error = False
 	If InStr(txtInterpret.Text, "*") > 0 Then
 		OperatorInt = "LIKE"
 	Else
 		OperatorInt = "="
 	End If
 	If InStr(txtTitel.Text, "*") > 0 Then
 		OperatorTit = "LIKE"
 	Else
 		OperatorTit = "="
 	End If
 	If chkInterpret.Value = 1 Then
 		If chkTitel.Value = 1 Then
 			Suf = "((Interpret) " & OperatorInt & " """ & txtInterpret.Text & """) AND ((Titel) " & OperatorTit & " """ & txtTitel.Text & """)"
 		ElseIf chkTitel.Value = 0 Then
 			Suf = "((Interpret) " & OperatorInt & " """ & txtInterpret.Text & """)"
 		End If
 	ElseIf chkInterpret.Value = 0 Then
 		If chkTitel.Value = 1 Then
 			Suf = "((Titel) " & OperatorTit & " """ & txtTitel.Text & """)"
 		ElseIf chkTitel.Value = 0 Then
 		    MsgBox "Keine Suchabfrage eingegeben!", vbOKOnly + vbInformation, "Fehler!"
 			Error = True
 		End If
 	End If
 	
 	If Error = False Then
 		frmMain.rsView_DAO frmMain.DbFile, "mp3", "SELECT * FROM mp3 WHERE (" & Suf & ");"
 		Unload Me
 	End If
 End Sub
Die rsView_DAO-Funktion habe ich für meine Zwecke hiervon abgeändert.

mfg
 
Entschuldigung für doppelpost, aber hat denn keiner eine Idee für irgend einer der beiden Fragen (das mit dem AutoIncrement Wert interrsiert mich gerade mehr! :))

mfg
 
Wenn du einen Autoincrementgenerator zurücksetzen willst dann nimm diesen Code:

Code:
...."ALTER TABLE <tabellenname> AUTO_INCREMENT=1"
 
Zurück