我的搜索代码正在运行,但在我删除了我搜索过的字符串之后,listview中的数据将会变得不确定。我的原始排序是首先显示接近其到期日期的项目。
我有4个字段
Sub LoadData()
Dim list As ListItem
Dim x As Integer
ConnectDB
rs.Open "Select * from Table1 Order by Expiry ASC", db, 3, 3
Do Until rs.EOF
Set list = ListView1.ListItems.Add(, , rs(0))
For x = 1 To 3
list.SubItems(x) = rs(x)
Next x
rs.MoveNext
Loop
Set rs = Nothing
db.Close: Set db = Nothing
End Sub
我的搜索代码将使用搜索栏上的第一个字母对产品名称进行排序。 还有一个问题,如果你想搜索不仅仅是的字符串,那么SQL语句是什么 第一个字母,但整个字。
Private Sub txtSearch_Change()
ListView1.ListItems.Clear
ConnectDB
rs.Open "Select * from Table1 where ProductName LIKE '" & txtSearch & "%'", db, 3, 3
Do Until rs.EOF
Set list = ListView1.ListItems.Add(, , rs(0))
For x = 1 To 3
list.SubItems(x) = rs(x)
Next x
rs.MoveNext
Loop
Set rs = Nothing
db.Close: Set db = Nothing
End Sub
答案 0 :(得分:0)
在搜索键的开头添加%符号: “从Table1中选择*,其中ProductName LIKE'%”& txtSearch& “%'ORDER BY ProductName”