VB ACCESS模糊搜索问题

2025-03-13 10:07:25
推荐回答(5个)
回答1:

  给你一个获取函数,返回数据表模糊查询语句(连接字符串,表名称,查询关键字),可以动态获组合查询语句

  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

回答2:

另外一种思路:

将数据库字段名存放到一文本文件,查询时从文件提取字段名。
当数据库字段变化时,只要更新文本文件中的字段名,不需要另外修改程序。
你可以在程序中加入文本文件内容修改功能,或用其他程序打开文本文件修改。

回答3:

第一个语句是用在ADO对象的,是对的,看看你的数据是不是确实只有一个满足条件的,另外LIKE和单引号是查字符类型的数据,你可以这样试试
select * from table where str(id) like '%2%'
第二个语句是用在DAO对象上的

回答4:

遍历所有字段.你新增了字段也不用改代码的呀

回答5:

可以动态获取所有字段的,这样就不用写死到代码里,字段怎么换都OK