给你一个获取函数,返回数据表模糊查询语句(连接字符串,表名称,查询关键字),可以动态获组合查询语句
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
另外一种思路:
将数据库字段名存放到一文本文件,查询时从文件提取字段名。
当数据库字段变化时,只要更新文本文件中的字段名,不需要另外修改程序。
你可以在程序中加入文本文件内容修改功能,或用其他程序打开文本文件修改。
第一个语句是用在ADO对象的,是对的,看看你的数据是不是确实只有一个满足条件的,另外LIKE和单引号是查字符类型的数据,你可以这样试试
select * from table where str(id) like '%2%'
第二个语句是用在DAO对象上的
遍历所有字段.你新增了字段也不用改代码的呀
可以动态获取所有字段的,这样就不用写死到代码里,字段怎么换都OK