2014-01-26 69 views
0

我的搜索代码正在工作,但在删除了我搜索的字符串后,listview中的数据将进入不确定的排序状态。我最初的排序是首先显示接近其到期日期的项目。VB6.0在列表视图上搜索

我有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 

末次

我的搜索代码,将整理与搜索栏的第一个字母的产品名称。 和一个问题,如果你想搜索字串不仅在 的第一个字母,而是在整个字中,什么是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

添加%符号在搜索键的开头: “SELECT * FROM表1,其中产品名称LIKE '%” & txtSearch & “%' ORDER BY产品名称”

+0

它的工作原理。你在一块石头上击中了两只鸟。我现在将在我的项目中工作。 @novian阿贡 – Francis