access查询同一个表中多个字段内容

2024-12-21 22:21:01
推荐回答(3个)
回答1:

^_^

有80分,好好回答一下. 哈哈~~

数据库名:test.mdb
表名:table1
字段名:a1,a2,a3

查询直接用
sql="select * from table1"
即可.

关键是如何处理从表单传递过来的数据.

假如从表单传递的查询关键字为"KeyWords":


那么在后台对KeyWords处理时,可以利用InStr()函数检查在rs("a1"),rs("a2")和rs("a3")中是否含有KeyWords,如果包含了要查询的KeyWords,则显示该条记录.即:
if (InStr(rs("a1"),request("KeyWords"))<>0) or (InStr(rs("a2"),request("KeyWords"))<>0) or (InStr(rs("a3"),request("KeyWords"))<>0) then 显示该记录的值

思路已经很清楚了.

楼主说要详细的代码,那么给出一个完整的asp程序,请楼主调试运行:
(数据库结构如上所述)

search.asp

<%
'连接数据库
set conn=server.createobject("adodb.connection")
provider="provider=microsoft.jet.oledb.4.0;"
DBPath ="data source=" & Server.MapPath("test.mdb")
conn.Open provider & DBPath
%>










输入查询关键字:  




<%
total=0
sql="select * from table1"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
%>
<% if request("KeyWords")="" then %>

<%
else
for i = 1 to rs.recordcount
if (InStr(rs("a1"),request("KeyWords"))<>0) or (InStr(rs("a2"),request("KeyWords"))<>0) or (InStr(rs("a3"),request("KeyWords"))<>0) then
total=total+1
%>

<%
end if
rs.movenext
next
end if
%>

<%
rs.close
set rs=nothing
%>
查询结果:
没有您要查询的内容。
<%=rs("a1")%>,<%=rs("a2")%>,<%=rs("a3")%>
一共搜索到<%=total%>条记录!




祝你成功!

回答2:

sql = "select * from table1 where ((a1 like '%"&request("a1")&"%') or (a2 like '%"&request("a1")&"%') or (a3 like '%"&request("a1")&"%'))"

写查询语句为这样就可以了。

但值得注意的是查询语句中尽量少用or,很容易发生错误。:-)

回答3:

表中字段跟 input 的name值无关!

表字段查询用sql语句啊
如:select a1,a2,a3 from table_Name