您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > VB通过DAO访问Access数据库
VB通过DAO访问Access数据库:06中国电脑教育报文/张喜瑞、毛立夏Access是Office系列中功能完备的数据工具,本文将其作为应用程序的后台仓库,即一个数据库可以包括多个二维表,实现各类数据的存储,适合用来作为数据处理的中间桥梁。VisualBasic对Access数据库的集成非常紧密,通常由以下几个部分组成。引用DAO类型库1、从“工程”菜单中选择“引用”菜单项;2、在可引用列表框中选择“MicrosoftDAO3.51ObjectLibrary”项。3、最后“确定”即可设置DAO数据类型变量DAO数据类型变量共分成两种:1、Database变量对应于Access数据库,通常在模块中被定义为Public全程变量:PublicAccessDBFAsDatabase'定义数据库对象实例AccessDBF2、RecordSet变量对应于Access数据库中的一个表,可定义为全程变量或局部变量,亦可作为函数参数进行传递:DimthePrintTableAsRecordSet'定义一个表对象实例thePrintTable打开DAO数据类型1、打开Access的方法通常可设置一个专门的Public函数用来打开一个Access数据库,并且该函数在启动窗体的PrivateSubForm_load()过程中被调用,函数定义格式如下:PublicSubOpenDatabase()DimsConeectAsStringSConnect=;PWD=8830428;UID=admin'设置打开时的用户名、口令等参数SetAccessDBF=Nothing'确认关闭对象实例SetAccessDBF=WorksPaces(0).OpenDatabase(App.Path&&/ToXls.MDB,False,sConnect)'打开当前路径的ToXls.MDB数据库EndSub2、打开RecordSet的方法RecordSet遵循即用即开的原则,所以它通常在函数中打开SetthePrintTable=AcessDBF.OpenRecordSet(Table_1,dbOpenSnapshot)相关的数据操作数据实际需要对Access表中的记录、字段、数据项进行操作。下列双重循环把数据输出到Excel对应的单元格中:Forj=0To2ForI=0To3ThePrintTable.MoveNextExcel.Sheet.Range(Trim(chr(71+j*10+I))+G).Value=thePrintTable.Fields(0)NextINextj关闭数据库1、关闭Database它通常在整个应用程序的最后进行操作,即通常出现在PrivateSubForm_unload(CannelAsInterger)过程中。命令格式实例如下:AccessDBF.Close2、关闭RecordSet它遵循用完即关的原则,所以通常出现在函数中。当完成了相关的数据操作后就关闭它,下次再用时再打开即可:thePrintTable.Close结论:通过系统集成开发应用程序的输入和输出模块,它一方面充分利用了OLE对象程序的优点,轻松完成人机界面设计,使程序员从繁琐而又简单的点、线、框等定位中脱离出来;另一方面,由于充分利用了用户操作熟练的软件作为人机界面,使用户有亲切感和熟练操作的能力,从而能够充分发挥所开发的应用程序的功能。在vb.net中用ado.net连接Access巧巧电脑网络2007-12-27qqread逃の妖豆论坛收藏此文大中小在ADO.net中,微软为我们提供了OleDB和SqlClient两种数据库的调用方法,对于微软的SQLServer,我们使用SqlClient来处理在速度上比较快,而OleDB可用于其它各种类型的数据库。SqlClient在vb.net中命名空间为System.Data.SqlClient,OleDB的命名空间为System.Data.OleDb。对于连接Access数据库,则可以使用OleDB来实现。一个数据库连接,最重要的是建立一个Connection,对于一个Access数据库,其Connection的标准ConnectionString为以下语句:Connection.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=\somepath\mydb.mdb;UserId=admin;Password=;Provider为数据源提供者,DataSource为数据库名称,UserId和Password为数据库的用户名与密码,对于没有密码保护的Access数据库我们可以省略后面的两个参数。[art_myurl]下面一段代码是一个根据数据库名称或者路径来建立一个数据连接的函数:PublicFunctionCreateConnection(ByValfilepathAsString)AsOleDbConnectionDimmycnAsNewOleDbConnectionTry'检查filepath是完整的路径还是缺省的文件名IfInStr(1,filepath,:\,1)>0Thenmycn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=&filepathElse'假定该文件位于程序运行的目录下mycn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=&Application.StartupPath&\&filepathEndIfmycn.Open()CatchexAsExceptionMessageBox.Show(ex.Message)EndTryReturnmycnEndFunctionvs2005如何连接access2007的*.accdb文件2007年04月14日星期六11:11vs2005如何连接access2007的*.accdb文件description:Provider=Microsoft.ACE.OLEDB.12.0;DataSource=c:\work\users.accdb;PersistSecurityInfo=Falseaddname=fyConnectionString2connectionString=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:\test\fy.mdbproviderName=System.Data.OleDb/如果要用虚拟路径的话要怎么办?在CS页面可以用Server.MapPath(test\fy.mdb),在Web.Config里面直接写数据库的相对路径就行了。vb.net连接access20072009-12-2618:01:17|分类:数据库|标签:|字号大中小订阅.今天弄了一下午用vb.net连接access2007开始想应该是按套路来,但过程中遇到了各种各样的问题首先是连接字符串请注意连2007access时的字符串是Provider=Microsoft.ACE.OLEDB.12.0;DataSource=+My.Application.Info.DirectoryPath+\data\hostel.accdbMy.Application.Info.DirectoryPath是指向工程目录因为我把数据库放在了工程下的data文件夹里然后出现了提示NetFramework数据提供程序要求MicrosoftDataAccessComponents(MDAC)2.6或更高。但我的MDAC是2.8上网找原因【第一、打开c:\windows\inf注意:“inf”是隐藏目录。找到文件“mdac.inf”。鼠标点击右键——安装。第二、提示要“I386文件夹中的文件”,插入windowsxp安装盘(或为网上下在windowsI386文件。)安装完,就ok了!】但却出现了无法安装和复制adcjavas.inc再找错.找到c:\windows\inf\mdac.inf2.选中,点鼠标右键,选择安装3.提示需要adcjavas.inc文件,选择来源:C:\WINDOWS\ServicePackFiles\i3864.竟然出现复制错误:安装程序无法复制文件adcjavas.inc(换其它电脑安装时没有发现问题)...别急,继续找解决办法...5.原来是Windows安全资料库出现问题,用如下命令修复:esentutl/pC:\Windows\security\database\secedit.sdb6.再安装mdac.inf,一切顺利...曲折后我终于成功看到网上很多朋友在查找使用VB.net如何对DBF、XLS等常用数据文件进行访问,特别写了个小程序,来演示一下。由于对具体数据文件的操作已经被封装到了oledb中,所以对数据文件的操作在vb。net的代码是一样的,学要我们做的就是为oldb连接字符串设置为正确连接字符串就行了。有个网站提供了大量的关于连接字符串的信息,大家可以参考。并不是设置好链接字符串就可以访问所有的数据文件,可能还需要安装数据访问驱动程序。本实例支持dbf文件、Excel、Access(含2007版)文件的支持文章出处:飞诺网():=NewOleDb.OleDbConnection004PrivateSubButton1_Click()SubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click005'dbf文件操作006'=dbffoxpro007Dimpath,FileNameAsString008Me.OpenFileDialog1.Title=选择dbf文件009Me.OpenFileDialog1.Filter=dbf文件|*.dbf010IfMe.OpenFileDialog1.ShowDialog()=Windows.Forms.DialogResult.OKThen011path=System.IO.Path.GetDirectoryName(OpenFileDialog1.FileName)012FileName=System.IO.Path.GetFileName(OpenFileDialog1.FileName)013014FileName=Microsoft.VisualBasic.Left(FileName.ToUpper,FileName.Length-4)015016017DimconnAsString=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=&path&;ExtendedProperties=dBASEIV;UserID=Admin;Password=;018019'DimconnAsString=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=e:mp;ExtendedProperties=dBASEIV;UserID=Admin;Password=;020Dimdbfconn
本文标题:VB通过DAO访问Access数据库
链接地址:https://www.777doc.com/doc-6134490 .html