VB利用ADO控件连接access数据库
02VB连接Access数据库

5)EOFAction属性:返回或设置一个值,指示 在EOF属性为True时ADO数据控件进行什么操 作。有三种选择: 0 - adDoMoveLast:缺省设置。保持最后一 个记录为当前记录。 1 - adStayEOF:将当前记录位置定位在最后 一个记录之后。记录集的EOF值保持True,这 时禁止ADO数据控件上的 (Move Next) 按钮。 2 – adDoAddNew:移过最后一个记录时自动 添加一个新记录。
Command1.Enabled = False
Command2.SetFocus Else Adodc1.Recordset.MovePrevious End If End Sub
19
Private Sub Command2_Click()
' “下一个”按钮
Command1.Enabled = True
16
设计步骤:
1)新建一个标准EXE工程,打开“部件”对话框,选择 “Microsoft ADO Data Control 6.0(OLEDB)”,向工具箱 中添加一个ADO数据控件,并将其添加到窗体上,使 用默认名称Adodc1。设置其Visible属性为False。 2)在Adodc1控件的属性页的“通用”选项卡上生成连 接字符串如下: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\mydb\学生.mdb;Persist Security Info=False 3)在Adodc1控件的属性页的“记录源”选项卡上选择 命令类型为“2 - adCmdTable”,设置表名称为“学生基 本信息” 17
VBA|ADO录入数据到Access

VBA|ADO录入数据到Access如下图所示,在工作表中录入数据,使用代码可能快速将这些数据添加到“wwu.mdb'数据库的'news'工作表中。
VBA 代码如下:Sub ADO录入数据到Access()Dim cnn As ObjectDim rst As ObjectSet cnn =CreateObject('ADODB.Connection')Set rst =CreateObject('ADODB.recordset')Dim sql As Stringcnn.Open 'Provider=Microsoft.Jet.OLEDB.4.0;' & 'Data Source=' &'F:\Website\witisopc\23\selfrecords\wwu.mdb''sql = 'insert into news (vtime,week,lunar,weather,title,content) V ALUES ('' & [D3].Value & '','' & [D5].Value & '','' & [D7].Value & '','' &[D9].Value & '','' & [D11].Value & '','' & [D13].Value & '')'sql = 'insert into news (vtime,week,lunar,weather,title,content)V ALUES ('' & [D3].Value & '','' & [D5].Value & '','' &[D7].Value & '','' & [D9].Value & '','' & [D11].Value & '','' & [D13].Value & '')''文本用'...',日期用#...#()cnn.Execute sqlcnn.CloseSet cnn = NothingEnd Sub注:1 如果是Access2007,使用的连接字符需要更改为:cnn.Open'Provider=Microsoft.ACE.OLEDB.12.0;' & 'Data Source=' & 'F:\Website\witisopc\23\selfrecords\wwu.accdb'2 有时会出现“标准表达式中数据类型不匹配80040e07”的错误提示信息,是因为系统中装了某个软件破坏了系统的动态连接库。
(完整版)vb连接access数据库及数据读写操作

ACCESS数据库和VB的连接Edited by Ryan 20131、建立Access数据库2、启动VB,建立标准EXE图13、添加ActiveX控件鼠标指向任意VB控件,单击右键,选择“部件(O)”,出现图3所示界面图2图3选择部件“Microsoft ADO Data Control 6.0 (OLEDB)”,出现如图4所示控件图44、添加控件Adodc图54、在控件Adodc上添加数据源鼠标指向控件Adodc1,单击右键,选择“ADODC 属性”,弹出如图7所示界面图6图7单击“生成(U). . .”,弹出如图8所示界面图8选择“Microsoft Jet 4.0 OLE DB Provider”,单击“下一步(N) >>”,弹出如图9所示界面图9单击“. . .”,添加数据源(第一步所建Access 数据库),如图10所示图10单击“测试连接(T)”,出现提示框,如图11所示图11之后点击“确定”,退回到如图12所示界面图12单击“记录源”,弹出如图13所示界面图13在“命令类型”下,选择“1 - adCmdText”,在“命令文本(SQL)”下,输入“Select * from test1”,最后单击“应用”,“确定”即可之后,进入程序书写部分程序部分需要注意接头形式及简单例子如下:Private Sub Command1_Click() ‘VB按钮控件Dim mydb As New ADODB.Connection ‘定义新的数据库连接mydb.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\read database\test1\test1.mdb" ‘数据库绝对路径Dim rs As New ADODB.Recordset ‘定义数据库的一个对象mydb.Open ‘打开数据库rs.Open "select * from test1", mydb, 3, 3 ‘打开数据库中的表test1For i = 1 To 1 ! For循环控制选择哪一行rs.MoveNextNext iMe.Text1.Text = rs.Fields(1).Value ‘读取指定行中的哪个数据给文本框rs.Update ‘数据显示rs.Close ‘关闭表End Sub。
ADO控件连接ACCESS数据库并进行修改添加

ADO控件连接ACCESS数据库并进行修改添加
一、连接access及其工作列表
1、引用ADO控件和DataGRID显示控件
2、拖入两个控件和新建三个BT按钮,一个文本框数组(0-2)
因为在ACCESEE中,列的顺序是从0 开始。
第一个字段为0。
3、设置ADO控件:连接ACCESS。
难点!
选择4.0的这个驱动器后,选择相应的.xls的access数据库文件。
默认允许打开.mdb文件,选择全部类型文件就可以打开access文件啦。
Access的特殊性在于:设置扩展属性。
以上就将access连接好了,下面需要设置连接access 的那个工作表【Sheet1…….】,
4、连接工作列表注意[Sheet1$]
此时已经连接好access及其工作列表。
二、关联ADO控件和DataGrid显示控件
1、在DataGrid显示控件属性栏中,选择DateSource——Adodc1。
将数据和显示器连接。
2、显示access的字段和数据
3、为了能够进行数据库读写,需要设置显示控件的属性
三、关联显示控件和文本框代码如下:
Private Sub DataGrid1_Click()
For i = 0 To 2
Text1(i).Text = DataGrid1.Columns(i)
Next i
End Sub
四、设置命令按钮实现数据读写。
效果如下。
VBA连接数据库的方法与技巧

VBA连接数据库的方法与技巧VBA (Visual Basic for Applications) 是一种用于Microsoft Office套件中的宏语言。
通过使用VBA,用户可以编写自定义的宏,以实现自动化任务。
连接数据库是在VBA中进行数据操作的重要任务之一。
本文将介绍VBA连接数据库的方法与技巧,帮助您优化和简化数据库操作。
1. VBA连接Access数据库Access数据库是一种常用的本地数据库,VBA可以通过ADO (ActiveX Data Objects) 来连接Access数据库。
以下是连接Access数据库的基本代码示例:```vbaDim conn As ObjectSet conn = CreateObject("ADODB.Connection")conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\path\to\database.accdb;"```上述代码首先创建了一个ADODB.Connection对象,并使用`Open`方法打开了一个Access数据库(.accdb文件)。
您需要将路径`C:\path\to\database.accdb`替换为实际的数据库文件路径。
2. VBA连接SQL Server数据库SQL Server是一种功能强大的关系型数据库,可以使用VBA通过ADO来连接SQL Server数据库。
以下是连接SQL Server数据库的基本代码示例:```vbaDim conn As ObjectSet conn = CreateObject("ADODB.Connection")conn.Open "Provider=SQLOLEDB;DataSource=server_name;Initial Catalog=database_name;UserID=username;Password=password;"```上述代码中,`provider`参数设置为`SQLOLEDB`,`Data Source` 参数指定了SQL Server的名称,`Initial Catalog`参数指定了要连接的数据库名称,`User ID`和`Password`参数指定了连接所需的用户名和密码。
在VB中连接ACCESS数据库的方法

在VB中,连接ACCESS数据库的方法主要有下面三种∙使用ADO对象,通过编写代码访问数据库C onnection 对象ODBC数据源∙使用ADO Data 控件快速创建数据库连接有三种连接方法Data Link文件使用ODBC数据源名称使用连接字符串∙使用数据环境设计器创建数据库连接首先添加环境引用。
然后找到数据源进行连接无论是哪一种连接,都是先有一个路径,通向要连接的数据源,和数据源建立关系,在连接。
就好比从北京到上海,可以做汽车,可以做火车,还可以做飞机,汽车走高速,火车走铁路,飞机走航线,过程不一样,但结果是一样的,都是到达上海目的地。
在操作这三种连接方式的时候,会发现有重复的操作。
Data 控件连接中,ODBC数据源的连接和使用字符串的连接与直接使用ODBC数据源连接中,不同是,直接使用ODBC数据源设置好路径后,再用connection对象连接即可;Data控件则不用Connection 对象,有控件,设置好路径了,就直接连到啦。
数据环境设计器和ADO 对象,都用到了connection连接。
不同的是,数据环境设计器中,connection连接途径是和data控件中字符串的连接步骤一致。
总结不同:ADO对象连接需要编写代码,其他的不用编写代码。
下面详细介绍每一种连接方法的详细步骤:1,使用ADO connection对象首先,要建立ADO引用,定义connection这个类,然后实例化对象。
代码完成如下:[vb]view plaincopyprin t?2,使用ODBC数据源首先,打开电脑上的ODBC数据源,建立关系。
步骤如下:1),打开电脑上的ODBC数据源如下图所示:2)点击添加3)命名4)和数据库源建立关系5)用代码实现连接[vb]view plaincopyprin t?3,ADO Data 控件创建连接1)右击data控件,选择ADODC属性2)从三种连接资源中选择一种。
使用data Link 文件:直接点击浏览,找到包含连接字符串的.udl文件即可使用ODBC数据源连接,单击新建选择用户数据库,之后的操作跟2中步骤一样。
VBAADO连接ACCESS数据库

VBAADO连接ACCESS数据库⼀、ACCESS数据库加密1、ACCESS 2013数据库加密⽅式(1)使⽤旧版加密(适⽤于反向兼容和多⽤户数据)(2)使⽤默认加密(安全性较⾼)ADO连接仅⽀持旧版加密,使⽤VBA代码动态创建带密码的Access 数据库⽂件,也是旧版加密。
2、数据库如果采⽤⼿⼯设置密码,则要设置为旧版加密⽅式:打开ACCESS 2013—Access选项—客户端设置—加密⽅法--使⽤旧版加密(适⽤于反向兼容和多⽤户数据)⼆、设置ADO连接ACCESS数据库⽅式⼀(1)引⽤ Microsoft ActiveX Data Objects 2.x Library(操作⽅式:Visual Basic-⼯具-引⽤,不同office版本不同)说明:当未引⽤,运⾏后会显⽰“⽤户定义类型未定义”(2)连接代码Sub 导⼊数据1()Dim cnn As ADODB.Connection '数据库连接Dim mydata As String '数据库的完整路径和名称Dim mytable As String '数据表名称Dim sql As String 'sql语句Dim rs As ADODB.Recordset '临时数据表纪录Dim i As Integer '循环数据变量(获取数据表字段)'1、连接数据库Set cnn = New ADODB.Connectionmydata = ThisWorkbook.Path & "\进销存数据库.accdb"With cnn.Provider = "Microsoft.ACE.OLEDB.12.0;Jet OLEDB:Database Password='123456'".Open mydataEnd With'2、建⽴与数据库的连接mytable = "采购数据3"sql = "select 采购数据3.ID,采购数据3.采购⽇期,采购数据3.供货类型,采购数据3.采购分类,采购数据3.供应商,采购数据3.名称,采购数据3.单位,采购数据3.单价,采购数据3.数量,采购数据3.⾦额,采购数据3.⼊账⽇期" & " from " & mytable & " order by 采购⽇期"Set rs = New ADODB.Recordsetrs.Open sql, cnn, adOpenKeyset, adLockOptimistic'3、复制数据库数据' (1)清除原数据ActiveSheet.Cells.ClearContents'(2)复制字段名For i = 1 To rs.Fields.CountCells(1, i) = rs.Fields(i - 1).NameNext i'(3)复制全部数据Range("A2").CopyFromRecordset rsrs.Closecnn.CloseSet rs = NothingSet cnn = NothingEnd Sub三、设置ADO连接ACCESS数据库⽅式⼆⽆需引⽤,直接创建连接Sub 导⼊数据2()Dim cnn As Object '数据库连接Dim strcnn As String 'ACCESS连接语句Dim mydata As String '数据库的完整路径和名称Dim mytable As String '数据表名称Dim sql As String 'sql查询语句Dim rs As Object '临时数据表纪录Dim i As Integer '循环数据变量(获取数据表字段)'1、连接数据库Set cnn = CreateObject("ADODB.Connection")mydata = ThisWorkbook.Path & "\进销存数据库.accdb"Select Case Application.Version * 1 '设置连接字符串,根据版本创建连接Case Is <= 11strcnn = "Provider=Microsoft.Jet.Oledb.4.0;Jet OLEDB:Database Password='123456';Data Source=" & mydataCase Is >= 12strcnn = "Provider=Microsoft.ACE.OLEDB.12.0;Jet OLEDB:Database Password='123456';Data Source=" & mydataEnd Selectcnn.Open strcnn '打开数据库链接'2、设置sql查询语句mytable = "采购数据3"Set rs = CreateObject("ADODB.Recordset")sql = "select 采购数据3.ID,采购数据3.采购⽇期,采购数据3.供货类型,采购数据3.采购分类,采购数据3.供应商,采购数据3.名称,采购数据3.单位,采购数据3.单价,采购数据3.数量,采购数据3.⾦额,采购数据3.⼊账⽇期" & " from " & mytable & " order by 采购⽇期"Set rs = cnn.Execute(sql) '执⾏查询,并将结果输出到记录集对象'3、复制数据库数据With ActiveSheet.Cells.ClearContentsFor i = 0 To rs.Fields.Count - 1 '填写标题.Cells(1, i + 1) = rs.Fields(i).NameNext i.Range("A2").CopyFromRecordset rs'.Cells.EntireColumn.AutoFit '⾃动调整列宽'.Cells.EntireColumn.AutoFit '⾃动调整列宽End Withrs.Closecnn.CloseSet rs = NothingSet cnn = NothingEnd Sub。
VBA中的连接与操作Access数据库

VBA中的连接与操作Access数据库随着计算机技术的不断发展和应用范围的不断扩大,数据库管理成为各个领域中必不可少的一项技能。
Microsoft Access作为一种常用的关系数据库管理系统(RDBMS),提供了许多功能强大的工具和功能,用于存储、处理和管理大量的数据。
在VBA(Visual Basic for Applications)编程中,连接和操作Access数据库是一项基本技能,本文将为您介绍如何在VBA中进行这些操作。
1. 连接Access数据库在VBA中连接Access数据库,需要使用ADODB (ActiveX Data Objects)对象库。
ADODB是Microsoft提供的用于连接和操作多种数据库的组件,并提供了一套一致的API(Application Programming Interface)接口。
首先,我们需要在VBA的代码中添加对ADODB的引用。
在VBA编辑器中,选择“工具”菜单,然后选择“引用”选项。
在弹出的对话框中,找到“Microsoft ActiveX Data Objects x.x Library”(其中x.x表示版本号),选中并点击“确定”按钮。
接下来,我们需要声明和创建ADODB的相关对象,以连接到Access数据库。
以下是一个连接到Access数据库的示例代码:```Dim conn As ADODB.ConnectionSet conn = New ADODB.Connectionconn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\path\to\database.accdb;"```在上述代码中,我们首先声明了一个名为conn的ADODB.Connection对象,并使用New关键字创建了一个新的连接。
conn.Open语句用于打开数据库连接,其中Provider参数指定了使用的数据提供程序(这里使用的是Microsoft Access引擎),Data Source参数指定了Access 数据库文件的路径和文件名。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VB利用ADO控件连接access数据库今天告诉大家VB利用ADO控件连接access数据库的两种方法:一种是在 adodc1的属性里设置数据库文件的路径,这种方法的优点是简单易操作,缺点是,当源文件换了地方后,要重新设置数据库的路径,否则连接不上数据库了。
一种是用代码设置数据库的路径,这种方法的优点就是只要源文件和数据库在同一文件夹下,无论移动到哪里都能连接上。
如果没有建立好数据库的话,先建立一个数据库,然后建立一个表比如我们建的表名为message,然后把里面的字段名称和数据类型都按自己的需要设置好.然后保存就可以了.打开Microsoft Visual Basic6.0 我用的是VB6.0,在需要调用数据库的窗体上加入一个adodc控件,默认名称为:Adodc1。
默认的情况下工具栏里是没有这个控件的,可以打开工程---部件(快捷键CTRL+T),去掉只显示选定项的勾,然后勾上Microsoft ADO Data Control(OLEDB),然后确定,工具栏就会多了一个adodc的控件。
第一种方法:设置adodc1的属以连接数据库.在adodc1控件上右键--Adodc属性--使用连接字符串--生成--Microsoft Jet 4.0 OLE DB Provider--下一步--选择或输入数据库名称---找到要连接的数据库后,确定.然后记录源设置属性. 如果要把内容提交到数据库一般使用adCmdTable. 表选择要连接的表。
设置完毕后就可以了.如果我们想把内容提交到数据库.举个例子..在窗体建立一个文本框,设置属性中的DataSource为adodc1 DataField为要连接的数据库的字段名。
如果数据库中有字段,会让你选择。
设置好后在窗体加一个添加记录和一个提交的按钮,设置代码:Private Sub Command1_Click() Adodc1.Recordset.Update '保存Adodc1.Refresh '刷新End Sub添加按钮代码:Private Sub Command2_Click() Adodc1.Recordset.AddNew '添加新纪录Adodc1.Recordset("姓名").Value = Text1.Text End Sub第二种方法:在窗体添加Adodc控件一个text控件一个添加记录按钮一个提交按钮在窗体设置代码:Private Sub Form_Load()Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\db1.mdb;Persist Security Info=False" '设置数据库路径mandType = adCmdText '设置记录源Adodc1.RecordSource = "select * from message" '连接数据库的message 表文件Set Text1.DataSource = Adodc1 text1.DataField = "姓名"End Sub添加记录按钮代码:Private Sub Command1_Click() Adodc1.Recordset.AddNew '添加新纪录End Sub提交代码:Private Sub Command2_Click() Adodc1.Recordset.Update '保存Adodc1.Refresh '刷新End Sub好了连接方法讲完了,我都在机子上测试过了,因该没有什么问题的。
如果有问题请多看几遍,或看些别人写的程序代码,会有很大进步的,我的VB也不好,因为不是计算机专业的,老师也没有教很多,高手莫笑。
好了我再给大家几个查询数据库常用的代码:首记录按钮的代码:Private Sub sjl_Click() Adodc1.Recordset.MoveFirst End Sub上一条记录按钮代码:Private Sub up_Click()Adodc1.Recordset.MovePrevious If Adodc1.Recordset.BOF ThenAdodc1.Recordset.MoveFirstEnd IfEnd Sub下一条记录代码:Private Sub down_Click() Adodc1.Recordset.MoveNext IfAdodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast End If End Sub末记录代码:Private Sub mjl_Click() Adodc1.Recordset.MoveLast End Sub删除记录代码:Private Sub Command3_Click() Adodc1.Recordset.DeleteAdodc1.Recordset.MoveNext If (Adodc1.Recordset.BOF OrAdodc1.Recordset.EOF) ThenMsgBox "已经无记录", , "提示"End IfEnd Sub如果有什么不对的地方,请大家指正。
posted @ 2008-11-26 07:19 大鸟阅读(1053) | 评论 (0) | 编辑收藏使用 DataGrid 控件DataGrid 控件是一种类似于电子数据表的绑定控件,可以显示一系列行和列来表示 Recordset 对象的记录和字段。
可以使用 DataGrid 来创建一个允许最终用户阅读和写入到绝大多数数据库的应用程序。
DataGrid 控件可以在设计时快速进行配置,只需少量代码或无需代码。
当在设计时设置了DataGrid 控件的DataSource 属性后,就会用数据源的记录集来自动填充该控件,以及自动设置该控件的列标头。
然后您就可以编辑该网格的列;删除、重新安排、添加列标头、或者调整任意一列的宽度。
在运行时,可以在程序中切换 DataSource 来察看不同的表,或者可以修改当前数据库的查询,以返回一个不同的记录集合。
注意 DataGrid 控件与 Visual Basic 5.0中的 DBGrid 是代码兼容的,除了一个例外:DataGrid 控件不支持 DBGrid 的“解除绑定模式”概念。
DBGrid 控件包括在 Visual Basic 的 Tools 目录中。
可能的用法查看和编辑在远程或本地数据库中的数据。
与另一个数据绑定的控件(诸如 DataList 控件)联合使用,使用 DataGrid控件来显示一个表的记录,这个表通过一个公共字段链接到由第二个数据绑定控件所显示的表。
使用 DataGrid 控件的设计时特性可以不编写任何代码,只通过使用 DataGrid 控件的设计时特性来创建一个数据库应用程序。
下面的说明概要地说明了在实现 DataGrid 控件的典型应用时的一般步骤。
完整的循序渐进的指示,请参阅主题“DataGrid 方案1: 使用 DataGrid 控件创建一个简单数据库应用程序”。
要在设计时实现一个 DataGrid 控件1. 为要访问的数据库创建一个 Microsoft 数据链接 (.MDL) 文件。
请参阅“创建 Northwind OLE DB 数据链接”主题,以获得一个示例。
2. 在窗体上放置一个 ADO Data 控件,并将其 ConnectionString 属性设置为在第 1 步中所创建的OLE DB 数据源。
3. 在这个 Ado Data 控件的 RecordSource 属性中输入一条将返回一个记录集的 SQL 语句。
例如,Select * From MyTableName Where CustID = 124. 在窗体上放置一个 DataGrid 控件,并将其 DataSource 属性设置为这个ADO Data 控件。
5. 右键单击该 DataGrid 控件,然后单击“检索字段”。
6. 右键单击该 DataGrid 控件,然后单击“编辑”。
7. 重新设置该网格的大小、删除或添加网格的列。
8. 右键单击该 DataGrid 控件,然后单击“属性”。
9. 使用“属性页”对话框来设置该控件的适当的属性,将该网格配置为所需的外观和行为。
在运行时更改显示的数据在创建了一个使用设计时特性的网格后,也可以在运行时动态地更改该网格的数据源。
下面介绍实现这一功能的通常方法。
更改 DataSource 的RecordSource更改所显示的数据的最通常方法是改变该 DataSource 的查询。
例如,如果DataGrid 控件使用一个ADO Data控件作为其 DataSource,则重写RecordSource 和刷新该ADO Data 控件都将改变所显示的数据。
' ADO Data 控件连接的是 Northwind 数据库的' Products 表。
新查询查找所有' SupplierID = 12 的记录。
Dim strQuery As StringstrQuery = "SELECT * FROM Suppliers WHERE SupplierID = 12"Adodc1.RecordSource = strQueryAdodc1.Refresh更改 DataSource在运行时,可以将 DataSource 属性重新设置为一个不同的数据源。
例如,您可能具有若干个 ADO Data 控件,每个控件连接不同的数据库,或设置为不同的RecordSource 属性。
可以简单地将 DataSource 从一个 ADO Data控件重新设置为另一个 ADO Data 控件:' 将 DataSource 重新设置为一个连接到 Pubs 数据库的、' 使用 Authors 表的 ADO Data 控件。
Set DataGrid1.DataSource = adoPubsAuthors重新绑定 DataSource当将 DataGrid 控件用于一个远程数据库,诸如 SQLServer 时,可以改变表的结构。
例如,可以给这个表添加一个字段。
在这种情形下,可以调用Rebind 方法根据新的结构来重新创建该网格。
注意,如果已经在设计时改变了这个列的布局,DataGrid 控件将会试图重新创建当前的布局,包括任何空的列。