So suchen Sie eine access-Datenbank und die Anzeige in Listview-Steuerelement VB6?
Ich bin Programm erstellen, wo der Benutzer suchen kann, die Elemente in einer access-Datenbank und die Ergebnisse werden in einem listview angezeigt.
Wenn ich auf suchen klicken, werden alle Elemente angezeigt, aber wenn ich geben Sie ein Element in der textbox dann Suche wird nichts angezeigt.
Dies ist mein code
Private Sub cmdProdSearch_Click()
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim list_item As ListItem
Dim itm As ListItem
db_file = db_file & "ProductsDatabase.mdb"
Set conn = New ADODB.Connection
conn.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\VB and Database\ProductsDatabase.mdb;Persist Security Info=False" & _
"Data Source=" & db_file & ";" & _
"Persist Security Info=False"
conn.Open
Set rs = conn.Execute("Select * from Export")
ListView1.ListItems.Clear
If InStr(1, rs!Product, txtProduct.Text, vbTextCompare) Then
With ListView1
.View = lvwReport
.FullRowSelect = True
Do While Not rs.EOF
Set itm = .FindItem(txtProduct.Text, lvwText, , lvwPartial)
Set list_item = .ListItems.Add(, , rs!Product)
list_item.SubItems(1) = rs!barcode & ""
list_item.SubItems(2) = rs!quantity & ""
list_item.SubItems(3) = rs!Department
rs.MoveNext
Loop
End With
End If
End Sub
Irgendwelche Ideen, was falsch ist?
I dont get ein Fehler, nur wird nichts angezeigt.
Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie mit der wenn-Bedingung und die Schleife in der falschen Art und Weise. Deine if-Bedingung prüfen, ob der aktuelle Datensatz der Produkt-Bereich ist der gleiche wie der eingegebene text. Wenn dem so ist, in einer Schleife durch die Datensätze und fügen Sie die listview.
Könnten Sie die Suche auf zwei Arten:
Ist die Nutzung WIE in der sql. Zum Beispiel
SELECT * FROM Export WHERE product LIKE 'a%'
würde, werden die Datensätze mit dem Produkt Feld, beginnend mit "a".Weitere details: http://www.w3schools.com/sql/sql_like.asp
Andere Weg ist, um eine Schleife durch alle Datensätze der Reihe nach durch und über eine if-Bedingung(wie Sie jetzt), überprüfen Sie, ob das Feld enthält den zu Suchenden text ein. Wenn Sie mit diesem, dann die änderung, die Sie haben, um auf Ihrem jetzigen code ist, bewegen Sie die if-Bedingung innerhalb der Schleife. So, wie es sein würde, innerhalb der while-Schleife prüft die übereinstimmung mit der if-Bedingung.