资源描述:
《在excel中操作access数据库》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、在EXCEL中操作ACCESS数据库(发表时间:2007-3-3117:29:00)【评论】【打印】【字体:大中小】本文链接:http://blog.pfan.cn/otot/24443.html复制链接分享到:0标签:excel vba access mdb 为了便于管理手中的一大堆联系厂家的联系方式,我建立了一个ACCESS的数据库文件(TEST.MDB(表名:telephone)),把所有的客户信息存在数据库里面。但是由于操作ACCESS数据库很不方便,我平时又习惯使用EXCEL,所以便想做一个EXCEL文件,能够与这个数据库文件连接起来,实现对数
2、据的搜索、添加功能。于是使用VBA。当然首先是建立一个空白的EXCEL,并在里面针对数据库的各个字段标题建立标题。如:姓名公司座机手机传真打开VBA编辑器,添加三个模块:模块1:(从数据库取得全部数据,并显示到EXCEL文件中)PublicSubGetmdb() DimcmdAsString DimoAssAsObject connstr="DBQ=D:test.mdb;DefaultDir=;DRIVER={MicrosoftAccessDriver(*.mdb)};" SetoAss=CreateObject("ADODB.connection"
3、) oAss.Openconnstr cmd="SELECT*FROMtelephoneORDERBYidDESC" Setrs=oAss.Execute(cmd) btop=4 bleft=2 ast="A"&btop&":Z1000" Range(ast).ClearContents DoWhileNotrs.EOF btop=btop+1 Cells(btop,bleft+2)=rs("姓名") Cells(btop,bleft+3)=rs("公司") Cells(btop,bleft+4)=rs("座机") Cells(btop,bleft+5)
4、=rs("手机") Cells(btop,bleft+6)=rs("传真") rs.movenext Loop rs.CloseWorksheets(1).addcomEndSub模块2:(从数据库中搜索符合指定名字或者公司名字的项目)PublicSubSerchmdb(ByValso,si,stAsString) DimcmdAsString DimoAssAsObject connstr="DBQ=D:test.mdb;DefaultDir=;DRIVER={MicrosoftAccessDriver(*.mdb)};" SetoAss=Crea
5、teObject("ADODB.connection") oAss.Openconnstr cmd="SELECT*FROMtelephoneWHERE"+si+"like"+st+"%"+so+"%"+st OnErrorGoTo0 Setrs=oAss.Execute(cmd) btop=4 bleft=2 btop=btop+1 ast="A"&btop&":Z1000" Range(ast).ClearContents DoWhileNotrs.EOF Cells(btop,bleft+2)=rs("姓名") Cells(btop,bleft+
6、3)=rs("公司") Cells(btop,bleft+4)=rs("座机") Cells(btop,bleft+5)=rs("手机") Cells(btop,bleft+6)=rs("传真") btop=btop+1 rs.movenext Loop rs.CloseEndSub模块3:(网数据库中添加数据的函数)PublicSubAddmdb(ByValatype,aname,acomp,ajob,aphone,amobil,afax,aemailAsString) DimcmdAsString DimoAssAsObject connstr="
7、DBQ=D:test.mdb;DefaultDir=;DRIVER={MicrosoftAccessDriver(*.mdb)};" SetoAss=CreateObject("ADODB.connection") oAss.Openconnstr cmd="INSERTINTOtelephone(姓名,公司,职位,座机,手机,传真)" cmd=cmd+"VALUES('"+ aname+"','"+acomp+"','"+ajob+"','"+aphone+"','"+amobil+"','"+afax+"'')" OnErrorGoTo0 oAss
8、.Execute(cmd)EndSub在sheet1中添加以下内容:Dimso,