正文

用VBA在EXCEL中搜索显示ACCESS数据库内容2006-06-05 16:25:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/otot/15450.html

分享到:

首先建立一个ACCESS数据库,名字为TEST.MDB,里面建立一个“telephone”的表,字段有  "姓名"公司""座机"等,并加入几条记录,保存在D盘。 在EXCEL的VB编辑器中,插入一个模块,输入搜索数据库函数: Public Sub Serchmdb(ByVal so, si As String)  Dim cmd As String  Dim oAss As Object  connstr = "DBQ=D:\test.mdb;DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"  Set oAss = CreateObject("ADODB.connection")  oAss.Open connstr  cmd = "SELECT * FROM telephone WHERE " + si + " like '%" + so + "%'"   On Error GoTo 0  Set rs = oAss.Execute(cmd)  btop = 4  bleft = 2  Range("A2:Z1000").ClearContents  Cells(btop, bleft + 1) = "序号"  Cells(btop, bleft + 2) = "姓名"  Cells(btop, bleft + 3) = "公司"  Cells(btop, bleft + 4) = "座机"  Do While Not rs.EOF  btop = btop + 1  Cells(btop, bleft + 1) = rs("id")  Cells(btop, bleft + 2) = rs("姓名")  Cells(btop, bleft + 3) = rs("公司")  Cells(btop, bleft + 4) = rs("座机")  rs.movenext  Loop  rs.CloseEnd Sub 在EXCEL页面上加一个文本框(TextBox1),一个组合框(ComboBox1),一个按钮(CommandButton1)。 在VB编辑器界面中,点击sheet1,添加以下代码: Dim so, si As String Private Sub ComboBox1_Change()aa = ComboBox1.ListIndexIf aa < 0 Then  si = ""Else  si = ComboBox1.List(aa)End IfEnd Sub Private Sub CommandButton1_Click()so = TextBox1.TextIf si = "" Then  si = ComboBox1.List(0)End IfSerchmdb so, siEnd Sub Public Sub addcom()With ComboBox1  .Clear  .AddItem "姓名"  .AddItem "公司"  .AddItem "座机"  .Text = .List(0)  si = .List(0)End WithEnd Sub addcom()为往组合框中输入搜索项目名称的函数,需要先运行一下。在文本框中输入搜索内容(或空),点击按钮显示查询结果。 暂时不知道怎样实现分页和往数据库中添加数据或者编辑数据,请高手指点。

阅读(6790) | 评论(2)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册