《在EXCEL中操作ACCESS数据库学习资料.doc》由会员分享,可在线阅读,更多相关《在EXCEL中操作ACCESS数据库学习资料.doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Good is good, but better carries it.精益求精,善益求善。在EXCEL中操作ACCESS数据库-在EXCEL中操作ACCESS数据库(发表时间:2007-3-3117:29:00)【评论】【打印】【字体:大中小】本文链接:分享到:0标签:excelvbaaccessmdb为了便于管理手中的一大堆联系厂家的联系方式,我建立了一个ACCESS的数据库文件(TEST.MDB(表名:telephone),把所有的客户信息存在数据库里面。但是由于操作ACCESS数据库很不方便,我平时又习惯使用EXCEL,所以便想做一个EXCEL文件,能够与这个数据库文件连接起来,实现对
2、数据的搜索、添加功能。于是使用VBA。当然首先是建立一个空白的EXCEL,并在里面针对数据库的各个字段标题建立标题。如:姓名公司座机手机传真打开VBA编辑器,添加三个模块:模块1:(从数据库取得全部数据,并显示到EXCEL文件中)PublicSubGetmdb()DimcmdAsStringDimoAssAsObjectconnstr=DBQ=D:test.mdb;DefaultDir=;DRIVER=MicrosoftAccessDriver(*.mdb);SetoAss=CreateObject(ADODB.connection)oAss.Openconnstrcmd=SELECT*FRO
3、MtelephoneORDERBYidDESCSetrs=oAss.Execute(cmd)btop=4bleft=2ast=A&btop&:Z1000Range(ast).ClearContentsDoWhileNotrs.EOFbtop=btop+1Cells(btop,bleft+2)=rs(姓名)Cells(btop,bleft+3)=rs(公司)Cells(btop,bleft+4)=rs(座机)Cells(btop,bleft+5)=rs(手机)Cells(btop,bleft+6)=rs(传真)rs.movenextLooprs.CloseWorksheets(1).addcom
4、EndSub模块2:(从数据库中搜索符合指定名字或者公司名字的项目)PublicSubSerchmdb(ByValso,si,stAsString)DimcmdAsStringDimoAssAsObjectconnstr=DBQ=D:test.mdb;DefaultDir=;DRIVER=MicrosoftAccessDriver(*.mdb);SetoAss=CreateObject(ADODB.connection)oAss.Openconnstrcmd=SELECT*FROMtelephoneWHERE+si+like+st+%+so+%+stOnErrorGoTo0Setrs=oAss
5、.Execute(cmd)btop=4bleft=2btop=btop+1ast=A&btop&:Z1000Range(ast).ClearContentsDoWhileNotrs.EOFCells(btop,bleft+2)=rs(姓名)Cells(btop,bleft+3)=rs(公司)Cells(btop,bleft+4)=rs(座机)Cells(btop,bleft+5)=rs(手机)Cells(btop,bleft+6)=rs(传真)btop=btop+1rs.movenextLooprs.CloseEndSub模块3:(网数据库中添加数据的函数)PublicSubAddmdb(By
6、Valatype,aname,acomp,ajob,aphone,amobil,afax,aemailAsString)DimcmdAsStringDimoAssAsObjectconnstr=DBQ=D:test.mdb;DefaultDir=;DRIVER=MicrosoftAccessDriver(*.mdb);SetoAss=CreateObject(ADODB.connection)oAss.Openconnstrcmd=INSERTINTOtelephone(姓名,公司,职位,座机,手机,传真)cmd=cmd+VALUES(+aname+,+acomp+,+ajob+,+aphon
7、e+,+amobil+,+afax+)OnErrorGoTo0oAss.Execute(cmd)EndSub在sheet1中添加以下内容:Dimso,si,stAsStringPrivateSubComboBox1_Change()(在EXCEL页面中添加ComboBox1控件,用于指定搜索项目名称)aa=ComboBox1.ListIndexIfaa0Thensi=Elsesi=ComboBox1.List(aa)EndIfIfsiidThenst=Elsest=EndIfEndSubPrivateSubCommandAdd_Click()(在EXCEL页面中添加一个“添加项目”按钮,以及一
8、系列的输入框,用于往数据库中添加内容)Dimaname,acomp,ajob,aphone,amobil,afaxAsStringaname=TextName.Textacomp=TextComp.Textajob=TextJob.Textaphone=TextPhone.Textamobil=TextMobil.Textafax=TextFax.TextAddmdbatype,aname,acomp,ajob,aphone,amobil,afax,aemailSerchmdbacomp,公司,EndIfEndSubPrivateSubCommandButton1_Click()(在EXCEL
9、中添加搜索输入框和“搜索”按钮,点击后开始搜索数据库)so=TextBox1.TextIfsi=Thensi=ComboBox1.List(0)EndIfIfsiidThenst=Elsest=EndIfSerchmdbso,si,stEndSubPublicSubaddcom()(ComboBox1控件里面原来是空白的,需要在页面打开的时候往里面放入搜索的项目名称)WithComboBox1.Clear.AddItem姓名.AddItem公司.AddItem座机.AddItem手机.AddItem传真.Text=.List(0)si=.List(0)EndWithEndSub在ThisWorkBook中,添加:PrivateSubWorkbook_Open()(在页面打开时执行以下函数,也就是往ComboBox1中添加内容)Sheet1.addcomEndSub至此,执行就完成所要的功能了,还差一点就是删除数据的功能,暂时很少用,就懒得编了。-