加载中…
个人资料
uei2
uei2
  • 博客等级:
  • 博客积分:0
  • 博客访问:16,350
  • 关注人气:267
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Excel连接并调用Access数据库

(2012-09-09 20:10:56)
标签:

access数据库

单元格

数据更新

数据库文件

宏代码

it

分类: 学习

如何在Excel中通过宏的方法,连接Access数据库,是一直没有研究的问题,今天总算初有成效。百度查了一下相关的信息,结合自己一直做的ASP程序,学会了如何通过宏,调用Access数据,并显示在Excel中。当然也可以通过Excel单元格输入信息,再将数据成功存入Access数据库。由于一些基本功能与ASP有所不同,因此在研究时遇到了一些障碍,但总算成功完成。

具体操作过程如下:先建立test.mdb数据库文件,建表test,字段为id,name,content三个,可在里面加些内容。再建立test.xls文件,在右边空白处建立两个按钮,分别命名为“提取”和“提交”。

双击提取按钮,写入宏代码

Private Sub CommandButton1_Click()

Dim cnn, rs, i
i = 1
cnn = "DBQ=" & ThisWorkbook.Path & "\" & Dir(ThisWorkbook.Path & "\test.mdb") ";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
Set rs = CreateObject("adodb.Recordset")
rs.Open "select * from test", cnn, 1, 1
    Do While Not rs.EOF
        Range("a" & i).Value = rs("name")
        Range("b" & i).Value = rs("content")
    rs.movenext
    i = i + 1
    Loop
rs.Close
Set rs = Nothing
End Sub
双击提交按钮,写入代码

Private Sub CommandButton2_Click()
Dim cnn, rs
i = 1
cnn = "DBQ=" & ThisWorkbook.Path & "\" & Dir(ThisWorkbook.Path & "\test.mdb") & ";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
Set rs = CreateObject("adodb.Recordset")
rs.Open "select * from test", cnn, 1, 3
        rs.Addnew
        rs("name") = Range("d1").Value
        rs.Update
        Range("d1").Value = ""
rs.Close
Set rs = Nothing

End Sub

其中录入单元格为D1单元格,需要录入的数据写入D1单元格,按提交,就可以将数据记录入test.mdb数据库中了,录入后将D1单元格内容删除,表示已经录入完成。

当然还没有研究数据更新的问题,数据更新完成,则excel与access之间文件的交换,将变得非常方便。如果谁有这方面的研究成果,也可以一起来讨论一下。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有