标题:VB6.0+access输入模糊查询求助
只看楼主
YWG202006
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2020-7-6
结帖率:100%
已结贴  问题点数:20 回复次数:11 
VB6.0+access输入模糊查询求助
求助目的:
  如何用VB实现输入关键字符时,在listbox1显示含有text1.text输入的字符,当选中并双击listbox1的记录时,把该条记录的3个字段内容分别填充到TEXT1、TEXT2、TEXT3中。
  ACCESS数据库名:YHXX,表名:YHB,字段名有3个:编号、用户名、密码
  恳请懂的老师帮忙。因为我是刚接触VB6.0(用的精简版),请给详细代码(最好有注释)。谢谢大家!



[此贴子已经被作者于2020-7-6 13:24编辑过]

搜索更多相关主题的帖子: access 模糊 VB6.0 查询 输入 
2020-07-06 13:21
YWG202006
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2020-7-6
得分:0 
有没有老师有时间?请帮忙看下的。

学无止境
2020-07-06 13:59
YWG202006
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2020-7-6
得分:0 
怎么都没有大师帮忙啊?

学无止境
2020-07-06 15:16
cwa9958
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:247
专家分:1228
注 册:2006-6-25
得分:0 
别急,大师现在不在。
你这个要用到数据库组件,精简版不知道能不能用。
你要先做好框架,放上数据库,这样别人好帮你完善代码。
text1作为输入框,又要输出数据,这样是不好的。还有你要text1查询哪个字段?

模糊查找的sql语句是:
select * form yhb where 用户名 like '%' & text1 & '%'

[此贴子已经被作者于2020-7-6 16:37编辑过]

2020-07-06 16:32
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
它这个代码,包含二个处理部分

1、初始化过程
读完整的表,把编号、姓名、密码组合成一个字符串,然后添加到 list1 中。
建议,不要把密码加进去,只添加 编号 + 姓名, 编号和姓名中间有一定的空格隔开来。确保能完整显示下数据,字体设为等宽字体,如宋体。

2、双击list1中。
读双击这行,取编号,然后按编号临时查表,查出三个字段,读到文本框中。

可以添加附加功能
3、修改
修改姓名和密码后,提供一个修改按钮。该按钮,把姓名和密码按编号生成修改的SQL命令,提交给数据库,同时更新list1这行。

4、添加新用户
提供一个新用户按钮。再添加一个保存按钮。
平时状态新用户按钮可用,保存按钮不可用。可以把这二个按钮重叠起来,新用户按钮在上面。
点击新用户按钮后,新用户按钮不可用,保存按钮可用。如果是重叠的,隐藏新用户按钮,显示保存按钮。同时其他按钮,如修改,删除这些与本功能的按钮均不可用。
点击新用户后,text1按数据库里的编号规律自动产生一个序号,不可修改,后面二个文本框清空,让用户输入
保存按钮,按编号、姓名、密码,生成SQL命令,保存到数据库。同时在LIST1最后添加本行记录。

5、删除。
提供删除按钮,点击后,根据编号(text1)到数据库中删数据,并且清掉list1中该行。

代码,没环境了,不写了。

授人于鱼,不如授人于渔
早已停用QQ了
2020-07-06 18:00
YWG202006
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2020-7-6
得分:0 
回复 5楼 风吹过b
谢谢老师的耐心解答

学无止境
2020-07-07 08:27
YWG202006
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2020-7-6
得分:0 
回复 4楼 cwa9958
谢谢您的解答

学无止境
2020-07-07 08:27
YWG202006
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2020-7-6
得分:0 
因为是刚入门,希望有大师能给详细代码。非常感谢。

学无止境
2020-07-07 10:29
cwa9958
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:247
专家分:1228
注 册:2006-6-25
得分:20 
好吧,写了个程序,给你参考。
数据库查询.rar (10.05 KB)


程序代码:
Dim cn As New ADODB.Connection
Dim cnStr As String

Private Sub Form_Load()
'    打开数据库
    cnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\YHXX.mdb;Jet OleDb:DataBase Password=1234"
    cn.Open cnStr
    
End Sub

Private Sub Form_Unload(Cancel As Integer)
'关闭数据库
    cn.Close
    
End Sub

Private Sub List1_Click()
    Dim st()  As String
    st = Split(List1.Text, ",")
    Text2 = st(0)
    Text3 = st(1)
    Text4 = st(2)
End Sub

Private Sub Text1_Change()
    
    Dim rs As New ADODB.Recordset
    Dim rsStr As String
    
    List1.Clear
    rsStr = "select * from YHB where 用户名 like '%" & Text1 & "%'"
    rs.Open rsStr, cn, adOpenStatic, adLockOptimistic
    
    Do While Not rs.EOF
        List1.AddItem rs("编号") & "," & rs("用户名") & "," & rs("密码")
        rs.MoveNext
    Loop
    rs.Close
    
End Sub
2020-07-07 13:01
YWG202006
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2020-7-6
得分:0 
回复 9楼 cwa9958
由衷感谢 9楼 cwa9958老师 的耐心帮助,您的帮助已完全解决了我的问题。同时也感谢关注此贴的本论坛其他老师们。再次谢过。

学无止境
2020-07-07 15:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-502403-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.179909 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved