永发信息网

VB ACCESS模糊搜索问题

答案:5  悬赏:70  手机版
解决时间 2021-03-21 01:42
  • 提问者网友:缘字诀
  • 2021-03-20 11:26
我自己想写一个数据库软件来管理我的影音资源。其实就是存储一些电影、音乐、书籍的资料,以方便后面的检索。

现在想做一个模糊搜索,用Txt_Str文本框来输入关键字。搜索范围是所有字段(注意:是所有字段),代码该怎么写呢?得遍历所有的字段吗?不然的话只能是把所有的“字段”名称写到代码里来搜索了,我不怎么想用这个方法,原因是软件写好后如果动态增加了“字段”的话,就得修改代码才能搜索新增的“字段”了,不知道我的表述是否清楚,请教大家,先谢了!

简而言之就是:VB根据关键字模糊搜索整张表,求具体代码
最佳答案
  • 五星知识达人网友:由着我着迷
  • 2021-03-20 12:58
第一个语句是用在ADO对象的,是对的,看看你的数据是不是确实只有一个满足条件的,另外LIKE和单引号是查字符类型的数据,你可以这样试试
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
另外一种思路: 将数据库字段名存放到一文本文件,查询时从文件提取字段名。 当数据库字段变化时,只要更新文本文件中的字段名,不需要另外修改程序。 你可以在程序中加入文本文件内容修改功能,或用其他程序打开文本文件修改。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯