我自己想写一个数据库软件来管理我的影音资源。其实就是存储一些电影、音乐、书籍的资料,以方便后面的检索。
现在想做一个模糊搜索,用Txt_Str文本框来输入关键字。搜索范围是所有字段(注意:是所有字段),代码该怎么写呢?得遍历所有的字段吗?不然的话只能是把所有的“字段”名称写到代码里来搜索了,我不怎么想用这个方法,原因是软件写好后如果动态增加了“字段”的话,就得修改代码才能搜索新增的“字段”了,不知道我的表述是否清楚,请教大家,先谢了!
简而言之就是:VB根据关键字模糊搜索整张表,求具体代码
VB ACCESS模糊搜索问题
答案:5 悬赏:70 手机版
解决时间 2021-03-21 01:42
- 提问者网友:缘字诀
- 2021-03-20 11:26
最佳答案
- 五星知识达人网友:由着我着迷
- 2021-03-20 12:58
第一个语句是用在ADO对象的,是对的,看看你的数据是不是确实只有一个满足条件的,另外LIKE和单引号是查字符类型的数据,你可以这样试试
select * from table where str(id) like '%2%'
第二个语句是用在DAO对象上的
select * from table where str(id) like '%2%'
第二个语句是用在DAO对象上的
全部回答
- 1楼网友:从此江山别
- 2021-03-20 15:09
你写的语句不匹配,后面有个" ' " ,但前面找不到对应的
这样修改试试:
set currs = curdb.openrecordest["select * trom device where 设备号= '" & 设备_号.value & "'" ]
- 2楼网友:话散在刀尖上
- 2021-03-20 14:58
给你一个获取函数,返回数据表模糊查询语句(连接字符串,表名称,查询关键字),可以动态获组合查询语句
Public Function cx_str(conzfc As String, biao As String, str As String) As String '返回数据表模糊查询语句(连接字符串,表名称,查询关键字)
Dim fs
Dim s1 As String
Dim s2 As String
Dim i As Integer
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.Open conzfc
s1 = "select * from " & biao
s2 = ""
rs.Open s1, conn, 3 '执行查询语句
For Each fs In rs.Fields
s2 = "or " & fs.Name & "like%" & str & "%" & s2
Next
cx_str = " select * from " & biao & " where " & Mid(s2, 4)
rs.Close '释放内存
conn.Close
Set rs = Nothing
Set conn = Nothing
End Function
- 3楼网友:玩家
- 2021-03-20 14:43
sql语句select * from 表名
*就是所有字段,如果用字段1,字段2就是指定字段
VB6吗?还是VB.net,不行我写段实例给你算了
- 4楼网友:笑迎怀羞
- 2021-03-20 13:36
另外一种思路:
将数据库字段名存放到一文本文件,查询时从文件提取字段名。
当数据库字段变化时,只要更新文本文件中的字段名,不需要另外修改程序。
你可以在程序中加入文本文件内容修改功能,或用其他程序打开文本文件修改。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯