木子屋 Dnawo's BLOG

ACCESS全库搜索

👤 dnawo 📅 2007-01-29 👁 5562 👍 0 💬 0 🔄 本站原创
有时需要在ACCESS数据库中查找一特定字符串,ACCESS自身的查找功能只能实现一个一个表的去搜索,碰上表非常多的话,一次一次的按"CTRL+F",设定"查找内容"、"查找范围"和"匹配",这无疑是一件非常烦琐的事情!

一、下边的函数实现在ACCESS全库中搜索指定字符串:


<%
Function searchaccess(key,access)
	Dim searchstr,searchstr2,conn,rs,rs2,sqlstr,t_count,table_name,i,j
	Searchstr = key
	Searchstr2 = ""
	If searchstr ="" then
		Searchaccess = searchaccess & "请输入搜索字符串!"
		Exit function
	End if
	Searchaccess = searchaccess & "<b>搜索<font color=red>" & searchstr & "</font>结果:</b><br>" 
	On error resume next
	Set conn = Server.CreateObject("ADODB.Connection")
	Conn.Connectionstring="provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Server.MapPath(access)
	Conn.open
	If err then
		Searchaccess = searchaccess & "错误:找不到ACCESS数据库,请检查!"
		err.clear
		Response.End
	End if
	On error goto 0
	T_count = 0
	Set rs = Conn.openschema(20)
	Do while not rs.eof
		If rs("table_type")="TABLE" then
			j = 0
			T_count = T_count + 1
			table_name = rs("table_name")
			Sqlstr = "select * from " & table_name
			Set rs2 = Server.CreateObject("ADODB.RecordSet")
			Rs2.open sqlstr,conn,0,1
			Do while not rs2.eof
				j = j + 1
				For i=0 to rs2.fields.count-1
					If instr(rs2.fields(i).value,Searchstr)>0 then
						searchstr2 = searchstr2 & "表:" & table_name & " 字段:" & rs2.fields(i).name & " 行:" & j & "<br>"
					End if
				Next
				rs2.movenext
			Loop
			Rs2.close
			Set rs2 = nothing
			End if
		Rs.movenext
	Loop
	If searchstr2 ="" then
		Searchaccess = searchaccess & "Sorry,没有搜索到相关信息!"
	Else
		Searchaccess = searchaccess & searchstr2
	End if
	Searchaccess = searchaccess & "<p>"
	Searchaccess = searchaccess & "<b>总计</b><font color=red>" & t_count & "</font><b>个表</b>"
	Rs.close
	Set rs = nothing
	Conn.close
	Set conn=nothing
End function
%>


二、返回结果示例:

搜索重新开一贴结果:
表:Dv_bbs1 字段:Topic 行:11
表:Dv_Board 字段:LastPost 行:1
表:Dv_Board 字段:LastPost 行:2
表:Dv_Topic 字段:Title 行:3

总计34个表


三、实例下载

本例结合"先锋无组件上传类(杜绝上传漏洞版) Ver2004"实现搜索指定数据库内容:点击下载

评论(0)

暂无评论。

计算题
评论需审核通过后显示
← 上一篇 巧用Server.Transfer回传消息 下一篇 → XML动态菜单