求助 VB 数据库 模糊查询access

请问VB要怎样实现模糊查询access数据库内容呢? 求解答,我的邮箱是644804296@qq.com

我希望的效果是,在VB界面输入查询关键词,关键词是用户名中的任意一个或者多个字符,
例如关键词是a,那么查询结果显示在list1的就应该是,abc、abcdefg、eafg,3个用户名。
例如关键词是c,那么查询结果显示在list1的就应该是,abc、cde、abcdefg,3个用户名。

但是我根据网上教程编写的下面的程序没有实现,请大家帮忙解答,谢谢。

用户名 密码
abc 12345
cde 23456
abcdefg 6661
eafg 13
hijk 15178

图片说明
图片说明
图片说明
图片说明
我输入a,然后查询的结果是eafg 1个而已,应该有3个才对

Dim cnn As ADODB.Connection
Dim rec As New ADODB.Recordset

Private Sub Command_Chaxun_Click()

List1.Clear
List2.Clear

Set cnn = New ADODB.Connection

cnn.Open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = D:\数据库.mdb;Jet OLEDB:Database Password= greekf;Persist Security Info =false"

rec.Open "SELECT * FROM UserTable WHERE 用户名 LIKE '%" & Text_Chaxun.Text & "%'", cnn, adOpenKeyset, adLockOptimistic

Do Until rec.EOF = True

    List1.AddItem rec.Fields("用户名").Value
    List2.AddItem rec.Fields("密码").Value
    rec.MoveNext
Loop
cnn.Close

End Sub

2个回答

Do Until rec.EOF = True
->
Do While Not rec.EOF

ke1991
ke1991 回复caozhy: 用的是VB里面的ADO,是用%没错,如果用*作为通配符的话,什么结果都搜不到了。
大约 4 年之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复日月之风波: 哦,知道了,access用*而不是%
大约 4 年之前 回复
ke1991
ke1991 回复caozhy: %a%,搜索不到abc的结果是吗?
大约 4 年之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复ke1991: 通配符没问题
大约 4 年之前 回复
ke1991
ke1991 谢谢你的回答,修改后,搜索结果还是一样是1个,我觉得可能重点是在通配符那里有问题
大约 4 年之前 回复

1 在ACCESS软件中直接编写sql语句要用*号SELECT FROM ReportViewSetupWHERE (((ReportViewSetup.LinkID) Like 20081016) AND ((ReportViewSetup.CaseId)=1197))ORDER BY ReportViewSetup.LinkID;2 在程序中通过sql访......
答案就在这里:关于ACCESS数据库的模糊查询
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问