vb读取access并且显示

合集下载

(完整版)vb连接access数据库及数据读写操作

(完整版)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。

在VBA中操作Access数据库的方法和技巧

在VBA中操作Access数据库的方法和技巧

在VBA中操作Access数据库的方法和技巧VBA(Visual Basic for Applications)是一种用于Microsoft Office应用程序的编程语言。

在许多办公环境中,Microsoft Access 是常用的数据库管理系统。

通过使用VBA,您可以利用Access数据库中的数据和功能来编写自定义的应用程序。

本文将介绍在VBA中操作Access数据库的一些方法和技巧,帮助您更有效地处理数据。

首先,让我们了解一些基本概念。

在操作Access数据库之前,您需要了解表、字段以及如何连接数据库。

在Access中,表是数据的集合,字段是表中的列。

通过连接数据库,您可以将VBA与Access数据库建立起联系。

以下是一些常用的方法和技巧来操作Access数据库。

1. 连接到Access数据库在VBA代码中,您可以使用ADODB(ActiveX Data Objects DataBase)对象连接到Access数据库。

首先,需要声明变量来表示数据库连接。

然后,使用`OpenDatabase`方法打开连接。

以下是连接到Access数据库的示例代码:```vbaDim db As DatabaseSet db = OpenDatabase("C:\Path\to\your\database.accdb")```2. 创建查询在VBA中,您可以使用SQL语句执行查询。

查询是用来检索、过滤和排序数据库中的数据。

以下是一个简单的查询示例:```vbaDim strSQL As StringstrSQL = "SELECT * FROM TableName WHERE FieldName='Value'"```在上面的示例中,`TableName`是要查询的表的名称,`FieldName`是要过滤的字段,`Value`是过滤条件的值。

3. 执行查询在连接并创建查询之后,您可以使用`Execute`方法执行查询语句。

在VB中访问ACCESS数据库的方法

在VB中访问ACCESS数据库的方法

在VB中访问ACCESS数据库的方法作者:周小萍来源:《中国校外教育·基教(中旬)》2013年第03期Visual BASIC具有面向对象、软件的集成式开发、事件驱动、结构化的程序设计语言、数据库访问功能、网络功能、支持对象的链接与嵌入技术、支持动态交换、多个应用程序向导等特点。

以可视化的窗口为主的应用广泛的编程软件。

一、Visual BASIC课程开设的意义对于中职的计算机专业的学生到第五学期面临综合实践的完成。

我们利用了VB的面向对象的程序设计思想,是将复杂的程序设计问题分解为多外具有独立功能并相对简单的对象集合等特点开设了这门课程以帮忙学生完成毕业设计。

二、开发实例中的难点及问题软件开发中程序员可根据程序和界面设计要求,直接在先设计出窗口、菜单、按钮等不同类型的对象,并为每个对象设置好具体的属性。

事件的触发是由用户通过方法来完成的操作,也可以由系统或应用程序触发。

所以学生在每章每节的课堂点点滴滴的教学中掌握并理解了具体的控件。

三、行之有效的连接方法开发数据库管理系统就是要对数据库进行操作时,一是要使用户可以在窗口界面上对需要的数据进行访问;二是对数据库中的数据进行各种操作,最后的结果还要反馈给用户。

这里我们采用ADODB,相比DAO和能访问数据库的API来说,它比DAO更灵活,更强大;而比起API,它更简单易用,更适合初学者。

而Access数据库比起SQL也相对简单了很多,且能够满足中小型应用程序的需要,所以我们在使用数据库时,选择了Access。

下面我就自己的一点教学经验谈谈在VB中连接ACCESS数据库的两种有效的方法:第一种方法:首先我们从控件箱中托入一个adodc1控件到窗口中,adodc1控件名称为Date1,然后在Date1控件的属性里设置数据库文件的路径。

设置Date1控件的属用以连接数据库,在date控件上右键——Adodc属性——使用连接字符串——成——Microsoft Jet 4.0 OLE DB Provider——下一步——选择或输入数据库名称——找到要连接的数据库后,确定。

(完整版)vb连接access数据库及数据读写操作

(完整版)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。

VB连接Access数据库的两种方法

VB连接Access数据库的两种方法

VB连接Access数据库的两种方法首先有一点要注意,数据库的使用与我们以往所使用的文本文件不同.例如我们使用文本文件,来记录各种有用的数据.那么大致有以下几步: 读取文件-- 格式化数据-- 关闭文件-- 使用数据如果数据量较大,需要进行筛选,且存放数据的源文件可能不定时变更,那么我们可以用一个临时文件来存放有用的数据,这样可大大提高程序的效率.要[格式化数据]时,我们首先要进行筛选,然后还得进行分类,这样文件中的字符串才能被转换成有用的信息来供程序使用.这样一来,不用说,处理速度将大大减慢,而且就算你设计的数据格式比较科学,当数据量非常大时,文件的容量也会变的让普通计算机无法承受.相对文本文件来说数据库的使用也大致分为以下几步:打开数据库-- 查找数据-- 使用数据-- 关闭数据库从中可以看出,里面少了一步格式化数据,因为数据库本身在存储数据时,它就是按照一定的格式来进行存储的.其次是,数据库与文本文件返回数据的方法不同.如果把文本文件比作一个Textbox 的话,那么数据库更像是一个ListBox.使用文本文件时我们需要从整个Textbox中取出有用的信息,并进行处理,而Listbox则可以根据需要返回特定的某一项.由于VB本身并不带有可以访问数据库的类,所以我们需要引用一个包含能访问数据库的类来使用数据库.这里我们采用ADODB,相比DAO和能访问数据库的API来说,它比DAO更灵活,更强大;而比起API,它更简单易用,更适合初学者.而Access数据库比起SQL,也相对简单了很多,且能够满足中小型应用程序的需要,所以我们在使用数据库时,选择了Access.就像使用文本文件来存储数据一样,我们需要先设计好数据结构,只不过在设计Access数据库的结构时,我们需要用到其它的程序来进行详细的规划.建议采用的程序是office中的Access或V B自带的VISDATA.当数据库设计好了以后,我们可以开始"数据库编程"了.首先,我们需要引用ADO.具体的方法是,在"工程" -- "引用" 中,找到"Microsoft ActiveX Da ta Object *.* Library",这里的"*.*"是指的时ADO的版本号,一般来说,应用程序或ActiveX 控件都具有向下兼容性,所以我们尽可能选择比较新的版本.以确保程序在能识别旧版本Access 的同时,也能识别较新版本的Access.然后我们需要在程序中创建一个对象.就好比我们在窗体上添加一个FileBox才能看到文件名一样,只有创建了ADO对象,我们才能够访问数据库.常用的对象有两个,Connection和Records et.创建这两个对象的具体方法是:1.在引用后,使用New关键字,如Private Conn As New ADODB.ConnectionPrivate Reco As New ADODB.Recordset2.在没引用时,用CreateObject创建对象:Dim Conn,RecoSet Conn =CreateObject("ADODB.Connection")Set Reco =CreateObject("ADODB.Recordset")创建了对象之后,下一步我们要做的就是打开数据库了.先看下面的代码,可以成功的打开数据库.Conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Main.mdb"这句代码打开了D盘中的Main.mdb这个数据库.Connection.Open方法的第一个参数是连接代码,它将传递给系统的数据库引擎.前半部分"Provider=Microsoft.Jet.OLEDB.4.0",它表示了数据库的类型.不同的数据库可能会不同.后半句"Source=d:\main.mdb"它表示了数据库所在的绝对路径.打开数据库之后,还要打开表.假如数据库中有一个表,表名为"Users",字段有两个,一个为用户名,一个为密码.那么看以下代码.1.想返回"Users"中,[用户名]为"去年烟花"的[密码]Recordset.open "Select 密码From Users Where 用户名='去年烟花'",Connection,1, 1之后我们就可以把用户输入的密码进行比较,看是否允许登录.If Recordset.eof and Recordset.bof thenMsgbox "用户不存在!",16ElseIf PassWord =Recordset("密码").value thenmsgbox "登录成功!",64Elsemsgbox "密码错误!",32End IfEnd IfRecordset.Close2.假设Admin已经成功登录系统,我们想把所有的用户名和密码都显示出来Recordset.open "Select * From Users",Connection,1,1这时,表已经被打开,我们就用以下代码把它显示出来.Do whlie Not Recordset.eofPrint "用户名: " & Recordset("用户名").value & "密码: " & Recordset("密码").valueRecordset.MoveNextLoopRecordset.Close由以上代码示例可以看出,打开表时,可以只打开其中的一个字段,也可以打开所有.第一个参数是SQL语句.Select [字段名] From表名[Where 条件]这里的条件可以省略.且字段名也可以用"*"来代替所有字段.需要注意的是,如果你用(1)中的方法打开,那么(2)后面显示的代码就不能再用在(1)中.因为(1)里并没有打开[用户名]字段,所以这一句Recordset("密码")就没有值存在,还有可能出错.后面的条件,可以用"="、">"、"<"等运算符.比如"Where ID >32".(这里假设[ID]为数字型.)这是打开的部分.第二个很重要的部分就是查询记录.数据库它并不是把所有记录全部放到一个变量中备用的.而是以"当前记录"的形式来返回一个值.所以我们想从中找到有用的信息,就必须要对信息进行定位/筛选.定位:移动到下一条Recordset.MoveNext移动到上一条Recordset.MovePrevious移动到最后一条Recordset.MoveLast移动到第一条Recordset.MoveFrist移动到某一条Recordset.Move Number筛选:Recordset.Find "条件"如:[用方法(2)打开表之后]Private Sub Command1_Click()Recordset.Find "用户名=" & "text1.text"If Recordset.Eof <> True ThenMsgbox "该用户的密码是:" & Recordset("密码").value,64ElseMsgbox "未找到该用户的资料!",16End IfEnd SubMoveNext 只有当Eof不为True时,才可用,否则发生错误.而MovePrevious刚是Bof不为T rue时....而只要Eof 和Bof中有一个不为真时,也就是说只要有一条记录时,它就可以使用.Find 方法中的条件和Open时的第一个参数中的条件表述方法是完全一致的.当在已打开的记录集中,找不到该记录时,Eof为True.找到则当前的值就是符合条件的记录.第三个部分就是添加/修改记录.修改记录很简单,先按以上的方法找到相关记录之后,给记录赋值就可以了.比如:[(修改密码)按方法(1)打开表之后]Recordset("密码").value = "123456"Recordset.Updata需要注意的就是,在修改完成后,要调用Updata方法,这样修改才能生效.而添加记录则可以用以下代码来实现:Recordset.addnewRecordset("用户名").value ="Admin"Recordset("密码").value = "Admin"Recordset.Updata这里,先要调用Addnew方法,增加一条新记录,然后对这个新记录中的各字段赋值,最后再调用Updata方法.到这里就差不多了,最后说一下上面提到的几个方法.Recordset.Open SQL语句,数据源,游标类型,打开方法SQL语句不用说了,就是Select那啥的,目的就是按要求从表中返回数据数据源就是一个打开之后的Connection对象.去他妈的游标类型,填1就可以了[偷笑ing]打开方法对应了几个常数,具体哪几个可以从对象浏览器里看.对应数值的意义:1 只读2 独占3 可写4 自已可写,别人可读Connection.open 连接代码,服务器用户名,密码这里的连接代码就不在多说了,服务器用户名,密码只有在连接远程数据库时才用到.VB如何连接access数据库2009年07月25日星期六下午 07:07VB如何连接access数据库?最近在学习VB,正在研究当中!今天告诉大家VB连接数据库的方法,我知道的有两种:一种是在adodc1的属性里设置数据库文件的路径,这种方法的优点是简单易操作,缺点是,当源文件换了地方后,要重新设置数据库的路径,否则连接不上数据库了。

用vb成功连接access2010.

用vb成功连接access2010.

用vb成功连接access2010.在用vb连接access数据库时,出现了这样的错误:这是你的数据库格式不被程序识别。

vb默认的一般是.,mdb access 数据库格式!这时我们看一下我们要连接的是.accdb 格式的。

看一下代码,我们以前使用的是:Provider=Microsoft.jet.oledb.4.0当数据库格式发生变化时,连接语法格式就变了:Microsoft office 12.0 access database engine oledb provider 这时连接字符创立已经有的,我们把它填上以后就成如下错误了。

为什么呢?原因是,.accdb 数据格式不适用jet 引擎连接了。

而是:provider=microsoft.ace.oledb.12.0这样一改就可以连接上了。

o7版以前的access数据库的格式都是.mdb 的,而vb6.0 本身带的数据库格式也是.mdb的,所以大家也都习惯了连接.mdb格式的access数据库,但是07版以后的数据库格式就成了 .accdb 的了,在连接的过程中可就要做一下改变了。

总结一下:通常连接数据库我们可以使用下面两种连接方法:添加引用,使用代码连接。

解决如下:一、引用连接添加引用,使用代码连接。

工程——引用——microsoft activeX data objects 2.5 library代码窗口中加入:Dim objcn As NewConnectionDim objrs As New RecordsetDim strsql As Stringobjcn.ConnectionString="provider=microsoft.ace.oledb.12.0;" & "data source="& App.Path & "\3.accdb" (3为数据库的名字)objcn.Open strsql = "select 密码from 3 where账号='" & username & "'" (账号表中的字段,username为自定义的变量)Set objrs.ActiveConnection = objcnobjrs.Open (strsql)二、控件连接:1,工程——部件——添加microsoft ado data control 6.0 控件。

VB读取ACCESS并且显示

VB读取ACCESS并且显示

你一个示例,这个是用户登录系统'准备工作:数据库D:\Mydb.mdb数据库中,建数据表:UserInfo,数据表中,建字段:User,Password,并添加一条记录'点工程->引用选中Microsoft Activex Data Objects2.1Library'控件:添加一个文本框,一个命令按钮Private Sub Command1_Click()Dim s As StringDim Conn As New ADODB.ConnectionDim Rs As New ADODB.RecordsetConn.Open"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\mydb.mdb" '请将数据库名及路径换成你的实际数据库名及路径Dim UserName As StringDim Password As Strings=Text1.TextIf s="1"Or s="2"ThenUserName=InputBox("请输入用户名")Password=InputBox("请输入用户密码")sql="Select*From[UserInfo]where User='"&UserName&"'"'UserInfo请换成你的实际数据表名Rs.Open sql,Conn,1,3If Rs.EOF ThenMsgBox"没有找到此用户"ElseIf Rs("Password")=Password ThenIf s="1"ThenMsgBox"123"ElseIf s="2"ThenMsgBox"456"End IfElseMsgBox"密码错误"End IfEnd IfEnd IfEnd Sub上面的例子实现了查询如果是要添加,删除,更新等操作,只要编写相应的SQL语句,再用Conn.Execute SQL就可以了,如:添加的:SQL="Insert Into[UserInfo](User,Password)Values('aaaa','1234')"Conn.Execute SQL'执行后,就添加了一条记录删除:SQL="Delete From[UserInfo]Where User='aaaa'"Conn.Execute SQL'删除用户名为aaaa的用户记录更新:SQL="Update[UserInfo]Set Password='abcdefg'Where User='aaaa'" Conn.Execute SQL'执行后,修改用户aaaa的密码为abcdefg以上只是示例,在实际使用过程中,可以将一些内容用控件输入等方式进行,这样就有很大的灵活性了动态创建数据库引用microsoft DAP3.6Object LibraryDim myDB As DAO.DatabaseSet myDB=CreateDatabase(App.Path+"\111.mdb",dbLangGeneral)'如果不存在数据库Set myDB=OpenDatabase(App.Path+"\111.mdb")'如果存在数据库Dim str_SQL As Stringstr_SQL="Create Table NewTable1(Field1Text(10),Field2Short)"myDB.Execute str_SQLstr_SQL="Create Table NewTable2(Field1Text(10),Field2Short)"myDB.Execute str_SQLmyDB.Close向已经建好的数据库中添加记录建立数据库a,表名字b,字段c,文本格式,在窗体上画一command,画一个文本框,这个代码就是将文本内容写入数据库要先引用microsoft activeX data object2.5library代码如下:Private Sub Command1_Click()Dim cnDk As New ADODB.ConnectionDim strDk As StringDim rDk As New ADODB.RecordsetDim sql As StringstrDk="DBQ="&App.Path&"\a.mdb;Driver=;"cnDk.Open strDksql="insert into b(c)values('"&text1.text&"')"cnDk.Execute sqlcnDk.CloseSet cnDk=NothingEnd Sub在数据库中添加多条记录只要可以进行输入文本的都可以改一下这些吧,你单击一次就提示输入一次,输完了自动保存改后Data1.Recordset.AddNewData1.Recordset.Fields("username")=trim(inputbox("请输入名字"))Data1.Recordset("password")=val(trim(inputbox("请输入电话")))Data1.UpdateRecord ——————————————————————————————Data1.Recordset.AddNewData1.Recordset.Fields("username")="张三|"Data1.Recordset("password")="fsdfsd"Data1.UpdateRecordData1.Recordset.AddNewData1.Recordset.Fields("username")="李四|"Data1.Recordset("password")="fsdf432d"Data1.UpdateRecordData1.Recordset.AddNewData1.Recordset.Fields("username")="王五|"Data1.Recordset("password")="f42342d"Data1.UpdateRecordMsgBox"adad"=========================================================== =============================vb+access数据库的记录的添加与删除Dim cn As New ADODB.ConnectionDim rs As New ADODB.RecordsetPrivate Sub Command2_Click()Set rs=cn.Execute("select*from wenzhang where内容='"&Text1.Text&"'") If Text1.Text=""ThenMsgBox("文章不能为空!")ElseIf rs.EOF=False ThenMsgBox("文章不能重复!")Elsecn.Execute("insert into wenzhang values('"&Combo1.Text&"','"&Text3.Text&"','"&Text4.Text&"','"&Text1.Text&"')")MsgBox("ok")End IfEnd Sub'添加按钮Private Sub Command3_Click()Dim myval As StringSet rs=cn.Execute("select*from wenzhang where内容='"&Text1.Text&"'") If rs.EOF Thenmyval=MsgBox("是否保存文章?",vbInformation+vbYesNoCancel,"提示") If myval=vbYes Thencn.Execute("insert into wenzhang values('"&Combo1.Text&"','"&Text3.Text&"','"&Text4.Text&"','"&Text1.Text&"')")MsgBox("保存成功")ElseCombo1.Text=""End IfElseText1.Text=""Combo1.Text=""End IfEnd Sub'删除按钮Private Sub Command4_Click()If Text1.Text=""ThenMsgBox("不能删除空记录!")ElseDim myval As Stringmyval=MsgBox("是否删除文章?",vbInformation+vbYesNo,"提示")If myval=vbYes ThenSet rs=cn.Execute("delete from wenzhang where内容='"&Text1.Text&"'") MsgBox("删除成功!")End IfEnd IfEnd Sub'连接数据库Private Sub Form_Load()cn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\temp.mdb;Persist Security Info=False"cn.CursorLocation=adUseClientcn.OpenEnd Sub//**************另外一种读取access的方法Dim cn As New ADODB.ConnectionDim rs As New ADODB.Recordsetcn.Provider="microsoft.jet.oledb.4.0"cn.ConnectionString=App.Path+"\#db.mdb"cn.OpenSet rs=cn.Execute("select*from[user]")If rs.EOF ThenMsgBox"您输入的信息有误!"ElseMsgBox"恭喜你!"End IfText2.Text=rs("user_name")cn.Close。

Excel中使用VBA访问Access数据库

Excel中使用VBA访问Access数据库

Excel中使⽤VBA访问Access数据库VBA访问Access数据库1. 通⽤⾃动化语⾔VBAVBA(Visual Basic For Application)是⼀种通⽤⾃动化语⾔,它可以使Excel中的常⽤操作⾃动化,还可以创建⾃定义的解决⽅案。

Excel中使⽤VBA的优点:使固定、重复的任务程序⾃动化,提⾼⼯作效率。

可进⾏复杂的数据处理和分析。

可⾃定义Excel函数、⼯具栏、菜单和界⾯。

可连接多种数据库,并进⾏相应的操作。

宏是VBA的⼀种简单应⽤。

宏可以通过编写VBA、录制宏两种⽅式获得。

通常是先录制宏,再在获得的宏的基础上进⾏语句优化调整,最后得到想要的宏。

2. Excel中使⽤VBA操作Access数据库在《谁说菜鸟不会数据分析(⼯具篇)》第四章让报告⾃动化中,涉及到根据输⼊⽇期,从Access数据库中提取相关数据到Excel中相关操作。

打开VBA编辑器的两种⽅式:Excel →开发⼯具→ Visual Basic:打开VBE后,点击插⼊,选择模块,就可以在该项⽬下新建⼀个空⽩模块。

Excel →开发⼯具→插⼊→控件→右键控件→指定宏:可以直接将宏绑定到控件上,然后进⾏编辑。

进⾏编写代码前的准备⼯作:Visual Basic →⼯具→引⽤:引⽤ Microsoft ActiveX Data Objects 2.x Library,否则运⾏代码会报“⽤户定义类型未定义”提⽰。

Excel中⽤VBA根据输⼊的⽇期从Access数据库中提取相应的数据并插⼊到Excel表中:Sub 数据提取()'定义数据库链接对象AdoConnDim AdoConn As ADODB.Connection'定义数据库存放路径Dim MyData As String'定义⽇期变量Dim D1 As Date'定义⽇期变量Dim D2 As Date'定义表⽰Ecxel⾏数的变量Dim N As Integer'定义SQL字符串Dim strSQL1 As String'定义SQL字符串Dim strSQL2 As String'定义SQL字符串Dim strSQL3 As String'定义SQL字符串Dim strSQL4 As String'初始化数据库连接对象Set AdoConn = New ADODB.Connection'指定数据库,该数据库放在当前Excel⽂件⽬录中,且名为“业务数据库.accdb”MyData = ThisWorkbook.Path & "\业务数据库.accdb"'⽇期输⼊对话框中的⽇期赋值给D1D1 = InputBox("请输⼊需要提数的⽇期,例如:2011-9-4", "提数⽇期")'将D2赋值为D1+1D2 = D1 + 1'将数据源表中第三列第⼀个空格单元格的⾏数赋值给NN = ActiveSheet.Range("C1").End(xlDown).Row + 1Debug.Print N'建⽴数据库链接,打开指定的数据库MyDataWith AdoConn.Provider = "Microsoft.ACE.OLEDB.12.0".Open MyDataEnd With'在⽤户明细表中根据输⼊的⽇期查询当天有多少⽤户注册strSQL1 = "SELECT count(⽤户ID) FROM ⽤户明细 WHERE 注册⽇期<#" & D2 & "# AND 注册⽇期>=#" & D1 & "#"'在订购明细表中根据输⼊的⽇期查询当天有多少⽤户购买,注意去重strSQL2 = "SELECT count(⽤户ID) FROM (SELECT DISTINCT ⽤户ID FROM 订购明细 WHERE 订购⽇期<#" & D2 & "# AND 订购⽇期>=#" & D1 & "#)"'在订购明细表中根据输⼊的⽇期查询当天订单数和业务收⼊strSQL3 = "SELECT count(订单编号), sum(订购⾦额) FROM 订购明细 WHERE 订购⽇期<#" & D2 & "# AND 订购⽇期>=#" & D1 & "#"'在订购明细表中根据输⼊的⽇期查询截⽌到当前累计订购⽤户,注意去重strSQL4 = "SELECT count(⽤户ID) FROM (SELECT DISTINCT ⽤户ID FROM 订购明细 WHERE 订购⽇期<=#" & D1 & "#)"'将新增⽤户数插⼊到数据源表的当前时间⾏的新增⽤户列ActiveSheet.Cells(N, 3).CopyFromRecordset AdoConn.Execute(strSQL1)'将订购⽤户数插⼊到数据源表的当前时间⾏的订购⽤户数列ActiveSheet.Cells(N, 4).CopyFromRecordset AdoConn.Execute(strSQL2)'将订单数和订购⾦额插⼊到数据源表当前时间⾏的订单数和业务收⼊列ActiveSheet.Cells(N, 5).CopyFromRecordset AdoConn.Execute(strSQL3)'经累计订购⽤户数插⼊到数据源表当前时间⾏的累计⽤户数列ActiveSheet.Cells(N, 7).CopyFromRecordset AdoConn.Execute(strSQL4)'测试数据库是否连接成功'If AdoConn.State = adStateOpen Then' MsgBox "连接成功"' AdoConn.Close'End IfMsgBox "数据提取完毕"'释放变量Set AdoConn = NothingEnd Sub该宏是绑定在⼀个按钮控件上的,点击该按钮,会弹出输⼊⽇期提⽰框,根据提⽰输⼊⽇期,就可以从数据库中提取数据到Excel表中。

用VBA访问ACCESS数据库new

用VBA访问ACCESS数据库new
要点一
总结词
要点二
详细描述
在查询结果中可能会遇到NULL值,需要正确处理这些值以 避免程序出错。
当访问Recordset对象中的字段值时,如果该字段的值为 NULL,不能直接访问,否则会导致程序出错。因此,需要 使用IsNull函数来检查字段值是否为NULL,并相应地处理 。如果字段值为NULL,可以使用相应的空值处理方式,如 使用空字符串或特殊标记来表示。
VBA具有强大的编程能力,可以用于创建复杂的逻辑和算法,以及与Office应用 程序的对象模型进行交互。
Access数据库简介
Access是Microsoft Office套件中的一个关系数据库管理系 统(RDBMS),它使用表、查询、窗体、报表和其他数据库 对象来存储、检索、显示和管理数据。
Access支持多种数据类型,包括文本、数字、日期/时间、货 币等,并提供了丰富的查询、报表和窗体功能。
04
CATALOGUE
获取查询结果
获取单个记录的结果
总结词
使用VBA访问Access数据库时,可以通过 执行SQL查询来获取单个记录的结果。
详细描述
首先,使用ADO对象模型打开数据库连接 ,然后执行SQL查询语句。通过遍历记录集
来获取单个记录的结果,可以使用 Recordset对象的Fields属性来访问记录集
使用ADO建立连接
总结词
ADO(ActiveX Data Objects)是一种用于访问数据库的对象模型,它提供了一种简单的方法来连接和操作数据 库。
详细描述
在VBA中,可以通过创建ADO对象并设置其ConnectionString属性来建立与Access数据库的连接。 ConnectionString通常包括数据库文件的路径、数据库名称以及其他可选参数。一旦连接建立,可以使用ADO 对象执行SQL查询、读取和写入数据等操作。

VB读取ACCESS数据库

VB读取ACCESS数据库

VB读取ACCESS数据库Private Sub Command1_Click()Dim dbs As Database '定义为数据库类型Dim rst As Recordset '定义为记录类型Dim theday As Date '定义为日期类型Dim i As IntegerDim Bcell, Ecell, SQLString As StringOn Error GoTo aa:Set ExcelReport = New Excel.ApplicationExcelReport.Workbooks.Open FileName:=App.Path + "\APP\脱硫系统运行日志.xls"ExcelReport.DisplayAlerts = FalseSet Sheet1 = ExcelReport.Sheets("Sheet1")Set Sheet2 = ExcelReport.Sheets("Sheet2")Set Sheet3 = ExcelReport.Sheets("Sheet3")Set Sheet4 = ExcelReport.Sheets("Sheet4")Sheet1.Activate'theday = DateAdd("d", 1, DTPicker1.Value)Set dbs = OpenDatabase(App.Path + "\APP\TL.mdb")'dbs.Execute "delete from day1 "SQLString = "select * from TL1 where DT='" & CStr(DTPicker1.Value) & "'"dbs.Execute SQLStringSet rst = dbs.OpenRecordset("TL1")If rst.EOF = False Thenrst.MoveFirstEnd IfExcelReport.Visible = Truei = 0While rst.EOF = Falsei = i + 1Sheet1.Cells(i + 7, 2) = rst!GLFH Sheet1.Cells(i + 7, 3) = rst!PHSheet1.Cells(i + 7, 4) = rst!TFTW Sheet1.Cells(i + 7, 5) = rst!TFMD Sheet1.Cells(i + 7, 6) = rst!JT1Sheet1.Cells(i + 7, 7) = rst!CT1 Sheet1.Cells(i + 7, 8) = rst!JP1Sheet1.Cells(i + 7, 9) = rst!CP1 Sheet1.Cells(i + 7, 10) = rst!CWSP Sheet1.Cells(i + 7, 11) = rst!CWXP Sheet1.Cells(i + 7, 12) = rst!XAI Sheet1.Cells(i + 7, 13) = rst!XBI Sheet1.Cells(i + 7, 14) = rst!XCI Sheet1.Cells(i + 7, 15) = rst!MAI Sheet1.Cells(i + 7, 16) = rst!MBI Sheet1.Cells(i + 7, 17) = rst!YAI Sheet1.Cells(i + 7, 18) = rst!YAP Sheet1.Cells(i + 7, 19) = rst!YBI Sheet1.Cells(i + 7, 20) = rst!YBP Sheet1.Cells(i + 7, 21) = rst!SHAP Sheet1.Cells(i + 7, 22) = rst!SHBP Sheet1.Cells(i + 7, 23) = rst!SH_4MIDU Sheet1.Cells(i + 7, 24) = rst!SGAISheet1.Cells(i + 7, 25) = rst!SGBISheet1.Cells(i + 7, 26) = rst!MFTSheet1.Cells(i + 7, 27) = rst!MFPrst.MoveNextWendExcelReport.Visible = TrueGoTo ccaa:ExcelReport.DisplayAlerts = FalseUnload Mecc:End Sub执行到 Set dbs = OpenDatabase(App.Path + "\APP\TL.mdb")之后就跳到了ExcelReport.DisplayAlerts = False请高手们帮我看看我的程序哪里出问题了!!满意答案Set dbs = OpenDatabase(App.Path + "\APP\TL.mdb")参数不对:workspace.OpenDatabase(数据库名,打开模式,是否只读,连接字符串)Setdbs=Workspaces(0).OpenDatabase(App.Path+"\APP\TL.mdb",Fa lse,False,"MS Access;PWD=***")'下面引用ADO2.1Private Sub Command1_Click()On Error GoTo aa:Dim dbs As New Connection '定义为数据库类型Dim rst As Recordset '定义为记录类型Dim theday As Date '定义为日期类型Dim connstr As StringDim i As IntegerDim Bcell, Ecell, SQLString As StringSet ExcelReport = New Excel.ApplicationExcelReport.Workbooks.Open FileName:=App.Path + "\APP\脱硫系统运行日志.xls"ExcelReport.DisplayAlerts = FalseSet Sheet1 = ExcelReport.Sheets("Sheet1")Set Sheet2 = ExcelReport.Sheets("Sheet2")Set Sheet3 = ExcelReport.Sheets("Sheet3")Set Sheet4 = ExcelReport.Sheets("Sheet4")Sheet1.Activatetheday = Day(CDate(DTPicker1.Value))connstr = "DBQ=" + App.Path + "\APP\TL.mdb" + ";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"Set dbs = New Connectiondbs.Open connstr'dbs.Execute "delete from day1 "SQLString = "select * from TL1 where DT='" &CStr(DTPicker1.Value) & "'"dbs.Execute SQLStringSet rst = dbs.Execute("select * from TL1") If rst.EOF = False Thenrst.MoveFirstEnd IfExcelReport.Visible = Truei = 0While rst.EOF = Falsei = i + 1Sheet1.Cells(i + 7, 2) = rst!GLFHSheet1.Cells(i + 7, 3) = rst!PHSheet1.Cells(i + 7, 4) = rst!TFTWSheet1.Cells(i + 7, 5) = rst!TFMDSheet1.Cells(i + 7, 6) = rst!JT1Sheet1.Cells(i + 7, 7) = rst!CT1Sheet1.Cells(i + 7, 8) = rst!JP1Sheet1.Cells(i + 7, 9) = rst!CP1Sheet1.Cells(i + 7, 10) = rst!CWSPSheet1.Cells(i + 7, 11) = rst!CWXPSheet1.Cells(i + 7, 12) = rst!XAISheet1.Cells(i + 7, 13) = rst!XBISheet1.Cells(i + 7, 14) = rst!XCISheet1.Cells(i + 7, 15) = rst!MAISheet1.Cells(i + 7, 16) = rst!MBISheet1.Cells(i + 7, 17) = rst!YAISheet1.Cells(i + 7, 18) = rst!YAP Sheet1.Cells(i + 7, 19) = rst!YBI Sheet1.Cells(i + 7, 20) = rst!YBP Sheet1.Cells(i + 7, 21) = rst!SHAP Sheet1.Cells(i + 7, 22) = rst!SHBP Sheet1.Cells(i + 7, 23) = rst!SH_4MIDU Sheet1.Cells(i + 7, 24) = rst!SGAI Sheet1.Cells(i + 7, 25) = rst!SGBI Sheet1.Cells(i + 7, 26) = rst!MFT Sheet1.Cells(i + 7, 27) = rst!MFPrst.MoveNextWendExcelReport.Visible = TrueGoTo ccaa:ExcelReport.DisplayAlerts = False dbs.CloseSet dbs = NothingUnload Mecc:End Sub。

用VB调用Access数据库1

用VB调用Access数据库1

VB中怎么载如或显示Access数据库中的报表'首先在“工程/引用”菜单下引用Microsoft Access 9.0 Object LibraryOption ExplicitDim MSAccess As Access.ApplicationPrivate Sub Command1_Click()Set MSAccess = New Access.ApplicationMSAccess.OpenCurrentDatabase (App.Path & "\db1.mdb")MSAccess.DoCmd.OpenReport "rptTB", acViewNormalMSAccess.CloseCurrentDatabaseSet MSAccess = NothingEnd SubrptTB是access中的一个报表名称要引用Microsoft Access 9.0 Object Librarydim objAccess As Access.ApplicationSet objAccess = CreateObject("Access.Application")objAccess.OpenCurrentDatabase ("c:\1.mdb")objAccess.DoCmd.OpenReport "ReportName", acViewPreviewobjAccess.Visible = True这个要引用Microsoft Access 9.0 Object Library(Office 2000)我没试过Office97会怎么样。

∙VB中打印ACCESS报表∙作者:aspxer 来源:internet 日期:2007-5-20 13:56:44 关键字:∙VB中打印ACCESS报表acc As ObjectSet acc = CreateObject("Access.Application")If Right$(Trim$(App.Path), 1) = "\" Thenacc.OpenCurrentDatabase App.Path & "data.mdb"@#打开数据库Elseacc.OpenCurrentDatabase App.Path & "\data.mdb"End Ifacc.docmd.OpenReport "打印准考证" @#, acPreview打印报表“打印准考证”acc.QuitSet acc = Nothing使用ACCESS报表主要缺点就是不能预览Dim acc As ObjectSet acc = CreateObject("Access.Application")If Right$(Trim$(App.Path), 1) = "\" Thenacc.OpenCurrentDatabase App.Path & "data.mdb"'打开数据库Elseacc.OpenCurrentDatabase App.Path & "\data.mdb"End Ifacc.docmd.OpenReport "打印准考证" ', acPreview打印报表“打印准考证”acc.QuitSet acc = Nothing使用ACCESS报表主要缺点就是不能预览怪问题:在Access 里新建了报表后,VB/VC 可不可以直接调用并打印?'先引用access objOption ExplicitPrivate Sub Form_Load()Call PrintReport(App.Path & "\test.mdb", "test")End SubPrivate Function PrintReport(ByVal MdbFileName As String, ByVal ReportName As Stri ng) As BooleanOn Error GoTo ErrTrapDim localReport As New Access.ApplicationCall localReport.OpenCurrentDatabase(MdbFileName)Call localReport.DoCmd.OpenReport(ReportName, acViewDesign)Call localReport.DoCmd.CloseCall localReport.DoCmd.MaximizelocalReport.Visible = TrueCall localReport.DoCmd.OpenReport(ReportName, acViewNormal)Call localReport.QuitSet localReport = NothingPrintReport = TrueGoTo Fun_exitErrTrap:PrintReport = FalseCall localReport.QuitSet localReport = NothingFun_exit:End Function可不可以在VB里调用ACCESS表象调用EXCEL一样容易Dim conn As New ADODB.ConnectionDim cona As New ADODB.ConnectionDim rs As New ADODB.RecordsetDim ra As New ADODB.Recordset'连接accessconn.ConnectionString = "driver={Microsoft Access Driver (*.mdb)};DBQ=" & App.Path & "\xxx.mdb;password=xxx"conn.Open'连接excelcona.ConnectionString = "driver={Microsoft Access Driver (*.xls)};DBQ=" & App.Path & "\xxx.xls;password=xxx"cona.Open'打开并查询access表rs.cursorlocation=3rs.Open "select * from xxx where ....", conn'打开excel表ra.cursorlocation=3ra.Open "select * from [xxx]", cona'新增到Excelra.addnewra("xx")=rs("xxx")....ra.updaters.closera.closeset conn=nothingset cona=nothing能在VB中调用ACCESS中的窗体吗?OpenCurrentDatabase 方法示例以下示例通过“自动化”(Automation) 从其他应用程序中打开一个Microsoft Access 数据库,然后打开一个数据库中的窗体。

VB访问Access数据库

VB访问Access数据库

技术 3在标签框中显示数据表中的数据 建立如图54所示:
技术
命令按钮显示mand1和退出mand2的事件处理过程代码如下: Private Sub mand1_Click
Dim conn As New ADODB Connection Dim rs As New ADODB Recordset conn ConnectionString="Provider=Microsoft ACE OLEDB 12 0 DATA Source="&App Path&"\cityaqi mdb" conn Open Set rs ActiveConnection=conn rs Open"SELECTFROM aqi" Text1 Text=rs Fields"地区" Text2 Text=rs Fields"aqi" Text3 Text=rs Fields"等级" rs Close conn Close Set rs=Nothing Set conn=Nothing End Sub Private Sub mand2_Click End End Sub
conn Open Set rs ActiveConnection=conn rs Open"SELECTFROM aqi" Text1 Text=rs Fields"地区" Text2 Text=rs Fields"aqi" Text3 Text=rs Fields"等级" rs Close conn Close Set rs=Nothing Set conn=Nothing
Text3 Text=rs Fields"等级"

VB连接Access数据库

VB连接Access数据库

首先有一点要注意,数据库的使用与我们以往所使用的文本文件不同.例如我们使用文本文件,来记录各种有用的数据.那么大致有以下几步:读取文件-- 格式化数据-- 关闭文件-- 使用数据如果数据量较大,需要进行筛选,且存放数据的源文件可能不定时变更,那么我们可以用一个临时文件来存放有用的数据,这样可大大提高程序的效率.要[格式化数据]时,我们首先要进行筛选,然后还得进行分类,这样文件中的字符串才能被转换成有用的信息来供程序使用.这样一来,不用说,处理速度将大大减慢,而且就算你设计的数据格式比较科学,当数据量非常大时,文件的容量也会变的让普通计算机无法承受.相对文本文件来说数据库的使用也大致分为以下几步:打开数据库-- 查找数据-- 使用数据-- 关闭数据库从中可以看出,里面少了一步格式化数据,因为数据库本身在存储数据时,它就是按照一定的格式来进行存储的.其次是,数据库与文本文件返回数据的方法不同.如果把文本文件比作一个Textbox 的话,那么数据库更像是一个ListBox.使用文本文件时我们需要从整个Textbox中取出有用的信息,并进行处理,而Listbox则可以根据需要返回特定的某一项.由于VB本身并不带有可以访问数据库的类,所以我们需要引用一个包含能访问数据库的类来使用数据库.这里我们采用ADODB,相比DAO和能访问数据库的API来说,它比DAO更灵活,更强大;而比起API,它更简单易用,更适合初学者.而Access数据库比起SQL,也相对简单了很多,且能够满足中小型应用程序的需要,所以我们在使用数据库时,选择了Access.就像使用文本文件来存储数据一样,我们需要先设计好数据结构,只不过在设计Access数据库的结构时,我们需要用到其它的程序来进行详细的规划.建议采用的程序是office中的Access或V B自带的VISDATA.当数据库设计好了以后,我们可以开始"数据库编程"了.首先,我们需要引用ADO.具体的方法是,在"工程" -- "引用" 中,找到"Microsoft ActiveX Da ta Object *.* Library",这里的"*.*"是指的时ADO的版本号,一般来说,应用程序或ActiveX 控件都具有向下兼容性,所以我们尽可能选择比较新的版本.以确保程序在能识别旧版本Access 的同时,也能识别较新版本的Access.然后我们需要在程序中创建一个对象.就好比我们在窗体上添加一个FileBox才能看到文件名一样,只有创建了ADO对象,我们才能够访问数据库.常用的对象有两个,Connection和Records et.创建这两个对象的具体方法是:1.在引用后,使用New关键字,如Private Conn As New ADODB.ConnectionPrivate Reco As New ADODB.Recordset2.在没引用时,用CreateObject创建对象:Dim Conn,RecoSet Conn = CreateObject("ADODB.Connection")Set Reco = CreateObject("ADODB.Recordset")创建了对象之后,下一步我们要做的就是打开数据库了.先看下面的代码,可以成功的打开数据库.Conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Main.mdb"这句代码打开了D盘中的Main.mdb这个数据库.Connection.Open方法的第一个参数是连接代码,它将传递给系统的数据库引擎.前半部分"Provider= Microsoft.Jet.OLEDB.4.0",它表示了数据库的类型.不同的数据库可能会不同.后半句"Source=d:\main.mdb"它表示了数据库所在的绝对路径.打开数据库之后,还要打开表.假如数据库中有一个表,表名为"Users",字段有两个,一个为用户名,一个为密码.那么看以下代码.1.想返回"Users"中,[用户名]为"去年烟花"的[密码]Recordset.open "Select 密码From Users Where 用户名='去年烟花'",Connection,1, 1之后我们就可以把用户输入的密码进行比较,看是否允许登录.If Recordset.eof and Recordset.bof thenMsgbox "用户不存在!",16ElseIf PassWord =Recordset("密码").value thenmsgbox "登录成功!",64Elsemsgbox "密码错误!",32End IfEnd IfRecordset.Close2.假设Admin已经成功登录系统,我们想把所有的用户名和密码都显示出来Recordset.open "Select * From Users",Connection,1,1这时,表已经被打开,我们就用以下代码把它显示出来.Do whlie Not Recordset.eofPrint "用户名: " & Recordset("用户名").value & "密码: " & Recordset("密码").valueRecordset.MoveNextLoopRecordset.Close由以上代码示例可以看出,打开表时,可以只打开其中的一个字段,也可以打开所有.第一个参数是SQL语句.Select [字段名] From 表名[Where 条件]这里的条件可以省略.且字段名也可以用"*"来代替所有字段.需要注意的是,如果你用(1)中的方法打开,那么(2)后面显示的代码就不能再用在(1)中.因为(1)里并没有打开[用户名]字段,所以这一句Recordset("密码")就没有值存在,还有可能出错.后面的条件,可以用"="、">"、"<"等运算符.比如"Where ID > 32".(这里假设[ID]为数字型.)这是打开的部分.第二个很重要的部分就是查询记录.数据库它并不是把所有记录全部放到一个变量中备用的.而是以"当前记录"的形式来返回一个值.所以我们想从中找到有用的信息,就必须要对信息进行定位/筛选.定位:移动到下一条Recordset.MoveNext移动到上一条Recordset.MovePrevious移动到最后一条Recordset.MoveLast移动到第一条Recordset.MoveFrist移动到某一条Recordset.Move Number筛选:Recordset.Find "条件"如:[用方法(2)打开表之后]Private Sub Command1_Click()Recordset.Find "用户名=" & "text1.text"If Recordset.Eof <> True ThenMsgbox "该用户的密码是:" & Recordset("密码").value,64ElseMsgbox "未找到该用户的资料!",16End IfEnd SubMoveNext 只有当Eof不为True时,才可用,否则发生错误.而MovePrevious刚是Bof不为T rue时....而只要Eof 和Bof中有一个不为真时,也就是说只要有一条记录时,它就可以使用.Find 方法中的条件和Open时的第一个参数中的条件表述方法是完全一致的.当在已打开的记录集中,找不到该记录时,Eof为True.找到则当前的值就是符合条件的记录.第三个部分就是添加/修改记录.修改记录很简单,先按以上的方法找到相关记录之后,给记录赋值就可以了.比如:[(修改密码)按方法(1)打开表之后]Recordset("密码").value = "123456"Recordset.Updata需要注意的就是,在修改完成后,要调用Updata方法,这样修改才能生效.而添加记录则可以用以下代码来实现:Recordset.addnewRecordset("用户名").value = "Admin"Recordset("密码").value = "Admin"Recordset.Updata这里,先要调用Addnew方法,增加一条新记录,然后对这个新记录中的各字段赋值,最后再调用Updata方法.到这里就差不多了,最后说一下上面提到的几个方法.Recordset.Open SQL语句,数据源,游标类型,打开方法SQL语句不用说了,就是Select那啥的,目的就是按要求从表中返回数据数据源就是一个打开之后的Connection对象.去他妈的游标类型,填1就可以了[偷笑ing]打开方法对应了几个常数,具体哪几个可以从对象浏览器里看.对应数值的意义:1 只读2 独占3 可写4 自已可写,别人可读Connection.open 连接代码,服务器用户名,密码这里的连接代码就不在多说了,服务器用户名,密码只有在连接远程数据库时才用到.VB如何连接access数据库2009年07月25日星期六下午 07:07VB如何连接access数据库?最近在学习VB,正在研究当中!今天告诉大家VB连接数据库的方法,我知道的有两种:一种是在 adodc1的属性里设置数据库文件的路径,这种方法的优点是简单易操作,缺点是,当源文件换了地方后,要重新设置数据库的路径,否则连接不上数据库了。

VB怎么能连接访问Access数据库

VB怎么能连接访问Access数据库

VB怎么能连接访问Access数据库有时候我们需要用到VB来连接Access数据库,但是却无从下手,那么VB怎么连接访问Access数据库呢?其实不难,先理清好步骤就行,不懂的朋友请看以下内容。

方法/步骤:1、Access,建立数据库,数据库命名为Database1.mdb。

(注意:这里的后缀是mdb,如果Access是2007版本的,保存的时候要另存为2003版本的才行,因为,VB不直接支持07版的accdb后缀格式!)2、数据库建立后就进入了数据表界面,可以输入数据了,输完以后Ctrl+S保存,输入表名,这里表名为test,OK,准备工作搞定。

2、打开VB,然后新建标准EXE。

3、菜单中找到工程→部件→勾选Microsoft ADO Data Control 6.0及其Microsoft Hierarchical Flexgrid Control 6.0,勾选后左侧工具栏里就多了两个控件即ADODC控件和MSHFlexGrid控件。

4、选择ADODC控件和MSHFlexGrid控件,放在窗体的合适位置5、设置ADODC控件的属性:右键窗体内ADODC1控件。

(1)ADODC属性页→通用→选择使用连接字符串→点击生成→选择Microsoft Jet 4.0 OLE DB Provider 点击下一步→选择之前准备好的数据库→点击测试连接,显示测试成功则OK,确定。

(2)ADODC属性页→记录源→命令类型选择2-adcmdtable,表或存储过程名称选择之前建立的数据表test,点击确定,ADODC属性设置完成。

6、设置MSHFlexGrid控件的属性:VB右侧属性表里,找到datasource,选择adodc1。

7、测试效果:(1)菜单→运行→启动(F5),发现显示的数据排列不是我们想要的行数和列数。

修改方法:(1)MSHFlexGrid属性→通用→设置行和列,固定行和固定列(2)MSHFlexGrid属性→带区→把列标题的√取消掉补充:MySQL 数据库常用命令create database name; 创建数据库use databasename; 进入数据库drop database name 直接删除数据库,不提醒show tables; 显示表describe tablename; 查看表的结构select 中加上distinct去除重复字段mysqladmin drop databasename 删除数据库前,有提示。

vb读取access并且显示[大全5篇]

vb读取access并且显示[大全5篇]

vb读取access并且显示[大全5篇]第一篇:vb读取access并且显示你一个示例,这个是用户登录系统'准备工作: 数据库 D:Mydb.mdb 数据库中,建数据表:UserInfo,数据表中,建字段:User,Password,并添加一条记录'点工程->引用选中 Microsoft Activex Data Objects 2.1 Library '控件:添加一个文本框,一个命令按钮Private Sub Command1_Click()Dim s As StringDim Conn As New ADODB.Connection Dim Rs As New ADODB.RecordsetConn.Open “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:mydb.mdb” '请将数据库名及路径换成你的实际数据库名及路径Dim UserName As String Dim Password As Strings = Text1.TextIf s = “1” Or s = “2” ThenUserName = InputBox(“请输入用户名”)Password = InputBox(“请输入用户密码”)sql = “Select * From [UserInfo] where User='” & UserName & “'” 'UserInfo请换成你的实际数据表名Rs.Open sql, Conn, 1, 3 If Rs.EOF ThenMsgBox “没有找到此用户” ElseIf Rs(“Password”)= Password Then If s = “1” Then MsgBox “123” ElseIf s = “2” Then MsgBox “456” End If Else MsgBox “密码错误” End If End If End If End Sub上面的例子实现了查询如果是要添加,删除,更新等操作,只要编写相应的SQL语句,再用Conn.Execute SQL 就可以了,如: 添加的: SQL=“Insert Into [UserInfo](User,Password)Values('aaaa','1234')” Conn.ExecuteSQL '执行后,就添加了一条记录删除:SQL=“Delete From [UserInfo] Where User='aaaa'” Conn.Execute SQL '删除用户名为aaaa的用户记录更新:SQL=“Update [UserInfo] Set Password='abcdefg' Where User='aaaa'” Conn.Execute SQL '执行后,修改用户aaaa的密码为abcdefg以上只是示例,在实际使用过程中,可以将一些内容用控件输入等方式进行,这样就有很大的灵活性了动态创建数据库引用microsoft DAP 3.6 Object Library Dim myDB As DAO.DatabaseSet myDB = CreateDatabase(App.Path + “111.mdb”, dbLangGeneral)'如果不存在数据库Set myDB = OpenDatabase(App.Pat h + “111.mdb”)'如果存在数据库Dim str_SQL As Stringstr_SQL = “Create Table NewTable1(Field1 Text(10),Field2 Short)” myDB.Execute str_SQLstr_SQL = “Create Table NewTable2(Field1 Text(10),Field2 Short)” myDB.Execute str_SQL myDB.Close向已经建好的数据库中添加记录建立数据库a,表名字b,字段c,文本格式,在窗体上画一command ,画一个文本框,这个代码就是将文本内容写入数据库要先引用microsoft activeX data object 2.5 library 代码如下:Private Sub Command1_Click()Dim cnDk As New ADODB.Connection Dim strDk As String Dim rDk As New ADODB.Recordset Dim sql As StringstrDk = “DBQ=” & App.Path & “a.mdb;Driver=;”cnDk.Open strDksql = “insert into b(c)values('” & text1.text& “')” cnDk.Execute sql cnDk.CloseSet cnDk = Nothing End Sub在数据库中添加多条记录只要可以进行输入文本的都可以改一下这些吧,你单击一次就提示输入一次,输完了自动保存改后Data1.Recordset.AddNewData1.Recordset.Fields(“username”)= trim(inputbox(“请输入名字”))Data1.Recordset(“password”)=val(trim(inputbox(“请输入电话”)))Data1.UpdateRecord——————————————————————————————Data1.Recordset.AddNewData1.Recordset.Fields(“username”)= “张三|” Data1.Recordset(“password”)= “fsdfsd” Data1.UpdateRecordData1.Recordset.AddNewData1.Recordset.Fields(“username”)= “李四|” Data1.Recordset(“password”)= “fsdf432d” Data1.UpdateRecordData1.Recordset.AddNewData1.Recordset.Fields(“username”)= “王五|” Data1.Recordset(“password”)= “f42342d” Data1.UpdateRecord MsgBox “adad”====================================== ==== vb+access 数据库的记录的添加与删除Dim cn As New ADODB.Connection Dim rs As NewADODB.RecordsetPrivate Sub Command2_Click()Set rs = cn.Execute(“select * from wenzhang where 内容='” & Text1.Text & “'”)If Text1.Text = “" ThenMsgBox(”文章不能为空!“)ElseIf rs.EOF = False Then MsgBox(”文章不能重复!“)Else cn.Execute(”insert into wenzhang values('“ & Combo1.Text & ”','“ & Text3.Text & ”','“ & Text4.T ext & ”','“ &Text1.Text & ”')“)MsgBox(”ok“)End If End Sub '添加按钮Private Sub Command3_Click()Dim myval As StringSet rs = cn.Execute(”select * from wenzhang where 内容='“ & Text1.Text & ”'“)If rs.EOF Thenmyval = MsgBox(”是否保存文章?“, vbInformation + vbYesNoCancel, ”提示“)If myval = vbYes Thencn.Execute(”insert into wenzhang values('“ & Combo1.Text & ”','“ & Text3.T ext & ”','“ & Text4.Text & ”','“ & Text1.Text & ”')“)MsgBox(”保存成功“)ElseCombo1.T ext = ”“ End If ElseText1.Text = ”“ Combo1.Text = ”“ End If End Sub '删除按钮Private Sub Command4_Click()If Text1.Text = ”“ ThenMsgB ox(”不能删除空记录!“)ElseDim myval As Stringmyval = MsgBox(”是否删除文章?“, vbInformation + vbYesNo, ”提示“)If myval = vbYes ThenSet rs = cn.Execute(”delete from wenzhang where 内容='“ & Text1.Text & ”'“)MsgBox(”删除成功!“)End If End If End Sub '连接数据库Private Sub Form_Load()cn.ConnectionString = ”Provider=Microsoft.Jet.OLEDB.4.0;DataSource=temp.mdb;Persist Security Info=False“ cn.CursorLocation = adUseClient cn.Open End Sub //**************另外一种读取access的方法Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset cn.Provider = ”microsoft.jet.oledb.4.0“ cn.ConnectionString = App.Path + ”#db.mdb“ cn.Open Set rs = cn.Execute(”select * from [user]“)If rs.EOF ThenMsgBox ”您输入的信息有误!“ ElseMsgBox ”恭喜你!“ End If Text2.Text = rs(”user_name")cn.Close第二篇:VC环境下读取显示.bmp图像方法总结显示bmp图像的方法,列出四种显示方法。

在VB中访问ACCESS数据库方法

在VB中访问ACCESS数据库方法

在VB中访问ACCESS数据库的方法visual basic具有面向对象、软件的集成式开发、事件驱动、结构化的程序设计语言、数据库访问功能、网络功能、支持对象的链接与嵌入技术、支持动态交换、多个应用程序向导等特点。

以可视化的窗口为主的应用广泛的编程软件。

一、visual basic课程开设的意义对于中职的计算机专业的学生到第五学期面临综合实践的完成。

我们利用了vb的面向对象的程序设计思想,是将复杂的程序设计问题分解为多外具有独立功能并相对简单的对象集合等特点开设了这门课程以帮忙学生完成毕业设计。

二、开发实例中的难点及问题软件开发中程序员可根据程序和界面设计要求,直接在先设计出窗口、菜单、按钮等不同类型的对象,并为每个对象设置好具体的属性。

事件的触发是由用户通过方法来完成的操作,也可以由系统或应用程序触发。

所以学生在每章每节的课堂点点滴滴的教学中掌握并理解了具体的控件。

三、行之有效的连接方法开发数据库管理系统就是要对数据库进行操作时,一是要使用户可以在窗口界面上对需要的数据进行访问;二是对数据库中的数据进行各种操作,最后的结果还要反馈给用户。

这里我们采用adodb,相比dao和能访问数据库的api来说,它比dao更灵活,更强大;而比起api,它更简单易用,更适合初学者。

而access数据库比起sql也相对简单了很多,且能够满足中小型应用程序的需要,所以我们在使用数据库时,选择了access。

下面我就自己的一点教学经验谈谈在vb中连接access数据库的两种有效的方法:第一种方法:首先我们从控件箱中托入一个adodc1控件到窗口中,adodc1控件名称为date1,然后在 date1控件的属性里设置数据库文件的路径。

设置date1控件的属用以连接数据库,在date控件上右键——adodc属性——使用连接字符串——成——microsoft jet 4.0 ole db provider——下一步——选择或输入数据库名称——找到要连接的数据库后,确定。

VB对Microsoft Access数据库的运用代码

VB对Microsoft Access数据库的运用代码

VB对Microsoft Access数据库的调用管理.用VB6.0计算机编程语言,和Microsoft Access的数据库建立连接。

以便对VB窗口控键,通过VB编程代码对Access数据库进行读取,存储,修改,编辑,管理和计算。

(基本功能如下图)编辑窗体界面及所需参数设计:VB窗体界面编辑及所需参数设计是下面相应控件属性及编程的基础和前提,.通过VB软件的工程下拉菜单的引用命令实现VB和Microsoft Access的数据库建立连接,以便进一步通过VB界面来对数据库的进一步操作。

具体对数据库的一般操作:首记录;上记录;下记录,末记录及搜索,修改,保存,新增记录等功能的详细VB代码如下:Public mydb As DatabasePublic myrs As RecordsetDim step1 As IntegerPrivate Sub Timer1_Timer()Call mymoveEnd SubPublic Sub mymove()Label17.Move Label17.Left + 50 * step1If Label17.Left + 1 * Label17.Width > Form1.Width Then step1 = -1ElseIf Label17.Left < 0 Thenstep1 = 1End IfEnd SubPrivate Sub Command10_Click()Form1.ShowForm2.HideForm3.HideEnd SubPrivate Sub Command11_Click()Form3.ShowForm2.HideForm1.HideEnd SubPrivate Sub Form_Load()Dim i As SingleSet mydb = OpenDatabase(App.Path + "\合同数据库.mdb")Set myrs = mydb.OpenRecordset("合同数据库", dbOpenDynaset)Command9.Enabled = False step1 = -1Timer1.Interval = 100Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""Text5.Text = ""Text6.Text = ""Text7.Text = ""Text8.Text = ""Text9.Text = ""Text10.Text = ""Text11.Text = ""Text12.Text = ""Text13.Text = ""Text14.Text = ""End SubPrivate Sub Command1_Click() '首记录Dim nm As StringDim nm1 As StringDim nm2 As StringCommand9.Enabled = FalseCommand12.Enabled = TrueCommand13.Enabled = TrueCommand2.Enabled = FalseCommand4.Enabled = TrueCommand1.Enabled = FalseCommand3.Enabled = Truemyrs.MoveFirstCall shuchuEnd SubPrivate Sub Command2_Click() '上记录Dim nm As StringDim nm1 As StringDim nm2 As StringCommand9.Enabled = FalseCommand12.Enabled = TrueCommand13.Enabled = TrueCommand3.Enabled = TrueCommand4.Enabled = Truemyrs.MovePreviousIf myrs.BOF Thenmyrs.MoveFirstCommand2.Enabled = FalseCommand1.Enabled = FalseElse' myrs.MovePreviousEnd IfCall shuchu' List1.AddItem myrs.Fields(1)End SubPrivate Sub Command3_Click() '下记录Dim nm As StringDim nm1 As StringDim nm2 As StringCommand9.Enabled = False Command12.Enabled = True Command13.Enabled = TrueCommand1.Enabled = TrueCommand2.Enabled = TrueIf myrs.EOF Thenmyrs.MoveLastCommand3.Enabled = FalseCommand4.Enabled = False End Ifmyrs.MoveNextIf myrs.EOF Thenmyrs.MoveLastCommand3.Enabled = FalseCommand4.Enabled = FalseEnd IfCall shuchuEnd SubPrivate Sub Command4_Click() '末记录Dim nm As StringDim nm1 As StringDim nm2 As StringCommand9.Enabled = FalseCommand12.Enabled = TrueCommand13.Enabled = Truemyrs.MoveLastCommand1.Enabled = TrueCommand2.Enabled = TrueCommand3.Enabled = FalseCommand4.Enabled = False'Command4.Enabled = FalseCall shuchuEnd SubPrivate Sub Command6_Click() '快速查询Dim findph As StringDim nm As StringDim nm1 As StringDim nm2 As StringCommand4.Enabled = Falsefindph = InputBox("请输入合同号=", "按合同号搜索")If findph <> "" Thenfindph = "合同号='" & findph & "'"'findph = "IP地址='" & findph & "'"myrs.FindFirst (findph)If myrs.NoMatch ThenMsgBox "没有相应合同号的资料记录", vbInformation, "信息"ElseCall shuchuEnd IfEnd IfEnd SubPrivate Sub Command13_Click() '新增记录Command9.Enabled = TrueText1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""Text5.Text = ""Text6.Text = ""Text7.Text = ""Text8.Text = ""Text9.Text = ""Text10.Text = ""Text11.Text = ""Text12.Text = ""Text13.Text = ""'List1.ClearCommand12.Enabled = Falsemyrs.AddNewText1.SetFocusMsgBox "现在你可以填写数据了,填写完毕后确定请按保存按钮", vbInformation, "系统提示"End SubPrivate Sub Command12_Click() '编辑myrs.EditText1.SetFocusMsgBox "现在你可以修改数据了,修改完后确定请按保存按钮", vbInformation, "系统提示"Command9.Enabled = TrueEnd SubPrivate Sub Command8_Click() '重新输入Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""Text5.Text = ""Text6.Text = ""Text7.Text = ""Text8.Text = ""Text9.Text = ""Text10.Text = ""Text11.Text = ""Text12.Text = ""Text13.Text = ""Text14.Text = ""' List1.ClearEnd SubPrivate Sub Command9_Click() '保存myrs.Fields("合同号") = Text1.Textmyrs.Fields("ID号") = Text2.Textmyrs.Fields("产品类型") = Text3.Textmyrs.Fields("产品代号") = Text10.Textmyrs.Fields("定货数") = Text4.Textmyrs.Fields("单价") = Text5.Textmyrs.Fields("收到合同日期") = Text6.Textmyrs.Fields("交货日期") = Text7.Textmyrs.Fields("图纸投入生产日期") = Text9.Textmyrs.Fields("完成人员") = Text8.Textmyrs.Fields("备注") = Text11.Textmyrs.Fields("Order NO") = Text12.Textmyrs.Fields("产品净重") = Text13.Textmyrs.Fields("客户代码") = Text14.TextMsgBox "合同资料记录保存成功", vbInformation, "信息"myrs.UpdateCommand12.Enabled = True'Command4.Enabled = TrueCommand9.Enabled = FalseEnd SubPrivate Sub Command5_Click() myrs.Closemydb.CloseEndEnd SubPublic Sub shuchu() ' 输出子程序Dim xx As StringDim yy As StringDim kk As StringDim ph As SingleText1.Text = myrs.Fields(0)Text2.Text = myrs.Fields(1)Text3.Text = myrs.Fields(2)Text4.Text = myrs.Fields(4)Text5.Text = myrs.Fields(5)Text6.Text = myrs.Fields(6)Text7.Text = myrs.Fields(7)Text8.Text = myrs.Fields(9)Text9.Text = myrs.Fields(8)Text10.Text = myrs.Fields(3)Text11.Text = myrs.Fields(10)Text12.Text = myrs.Fields(11)Text13.Text = myrs.Fields(12)Text14.Text = myrs.Fields(13) End Sub。

VB通过DAO访问Access数据库

VB通过DAO访问Access数据库

VB通过DAO访问Access数据库 2001/11/08 14:06 中国电脑教育报文/张喜瑞、毛立夏Access是Office系列中功能完备的数据工具,本文将其作为应用程序的后台仓库,即一个数据库可以包括多个二维表,实现各类数据的存储,适合用来作为数据处理的中间桥梁。

Visual Basic对Access数据库的集成非常紧密,通常由以下几个部分组成。

引用DAO类型库1、从“工程”菜单中选择“引用”菜单项;2、在可引用列表框中选择“Microsoft DAO 3.51 Object Library”项。

3、最后“确定”即可设置DAO数据类型变量DAO数据类型变量共分成两种:1、Database变量对应于Access数据库,通常在模块中被定义为Public全程变量:Public AccessDBF As Database'定义数据库对象实例AccessDBF2、RecordSet变量对应于Access数据库中的一个表,可定义为全程变量或局部变量,亦可作为函数参数进行传递:Dim thePrintTable As RecordSet'定义一个表对象实例thePrintTable打开DAO数据类型1、打开Access的方法通常可设置一个专门的Public函数用来打开一个Access数据库,并且该函数在启动窗体的Private Sub Form_load ( )过程中被调用,函数定义格式如下:Public Sub OpenDatabase ( )Dim sConeect As StringSConnect = ";PWD = 8830428; UID = admin "'设置打开时的用户名、口令等参数Set AccessDBF = Nothing'确认关闭对象实例Set AccessDBF = WorksPaces (0 ).OpenDatabase(App.Path&&"/ToXls.MDB",False,sConnect)'打开当前路径的ToXls.MDB数据库End Sub2、打开RecordSet的方法RecordSet遵循即用即开的原则,所以它通常在函数中打开Set thePrintTable = AcessDBF.OpenRecordSet ( "Table_1",dbOpenSnapshot ) 相关的数据操作数据实际需要对Access表中的记录、字段、数据项进行操作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

你一个示例,这个是用户登录系统'准备工作: 数据库D:\Mydb.mdb 数据库中,建数据表:UserInfo,数据表中,建字段:User,Password,并添加一条记录'点工程->引用选中Microsoft Activex Data Objects 2.1 Library'控件:添加一个文本框,一个命令按钮Private Sub Command1_Click()Dim s As StringDim Conn As New ADODB.ConnectionDim Rs As New ADODB.RecordsetConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\mydb.mdb" '请将数据库名及路径换成你的实际数据库名及路径Dim UserName As StringDim Password As Strings = Text1.TextIf s = "1" Or s = "2" ThenUserName = InputBox("请输入用户名")Password = InputBox("请输入用户密码")sql = "Select * From [UserInfo] where User='" & UserName & "'"'UserInfo请换成你的实际数据表名Rs.Open sql, Conn, 1, 3If Rs.EOF ThenMsgBox "没有找到此用户"ElseIf Rs("Password") = Password ThenIf s = "1" ThenMsgBox "123"ElseIf s = "2" ThenMsgBox "456"End IfElseMsgBox "密码错误"End IfEnd IfEnd IfEnd Sub上面的例子实现了查询如果是要添加,删除,更新等操作,只要编写相应的SQL语句,再用Conn.Execute SQL 就可以了,如:添加的:SQL="Insert Into [UserInfo](User,Password) Values('aaaa','1234')"Conn.Execute SQL '执行后,就添加了一条记录删除:SQL="Delete From [UserInfo] Where User='aaaa'"Conn.Execute SQL '删除用户名为aaaa的用户记录更新:SQL="Update [UserInfo] Set Password='abcdefg' Where User='aaaa'" Conn.Execute SQL '执行后,修改用户aaaa的密码为abcdefg以上只是示例,在实际使用过程中,可以将一些内容用控件输入等方式进行,这样就有很大的灵活性了动态创建数据库引用microsoft DAP 3.6 Object LibraryDim myDB As DAO.DatabaseSet myDB = CreateDatabase(App.Path + "\111.mdb", dbLangGeneral) '如果不存在数据库Set myDB = OpenDatabase(App.Path + "\111.mdb") '如果存在数据库Dim str_SQL As Stringstr_SQL = "Create Table NewTable1(Field1 Text(10),Field2 Short)"myDB.Execute str_SQLstr_SQL = "Create Table NewTable2(Field1 Text(10),Field2 Short)"myDB.Execute str_SQLmyDB.Close向已经建好的数据库中添加记录建立数据库a,表名字b,字段c,文本格式,在窗体上画一command ,画一个文本框,这个代码就是将文本内容写入数据库要先引用microsoft activeX data object 2.5 library代码如下:Private Sub Command1_Click()Dim cnDk As New ADODB.ConnectionDim strDk As StringDim rDk As New ADODB.RecordsetDim sql As StringstrDk = "DBQ=" & App.Path & "\a.mdb;Driver=;"cnDk.Open strDksql = "insert into b (c) values ('" & text1.text& "')"cnDk.Execute sqlcnDk.CloseSet cnDk = NothingEnd Sub在数据库中添加多条记录只要可以进行输入文本的都可以改一下这些吧,你单击一次就提示输入一次,输完了自动保存改后Data1.Recordset.AddNewData1.Recordset.Fields("username") = trim(inputbox("请输入名字"))Data1.Recordset("password") =val(trim(inputbox("请输入电话")))Data1.UpdateRecord ——————————————————————————————Data1.Recordset.AddNewData1.Recordset.Fields("username") = "张三|"Data1.Recordset("password") = "fsdfsd"Data1.UpdateRecordData1.Recordset.AddNewData1.Recordset.Fields("username") = "李四|"Data1.Recordset("password") = "fsdf432d"Data1.UpdateRecordData1.Recordset.AddNewData1.Recordset.Fields("username") = "王五|"Data1.Recordset("password") = "f42342d"Data1.UpdateRecordMsgBox "adad"=========================================================== =============================vb+access 数据库的记录的添加与删除Dim cn As New ADODB.ConnectionDim rs As New ADODB.RecordsetPrivate Sub Command2_Click()Set rs = cn.Execute("select * from wenzhang where 内容='" & Text1.Text & "'") If Text1.Text = "" ThenMsgBox ("文章不能为空!")ElseIf rs.EOF = False ThenMsgBox ("文章不能重复!")Elsecn.Execute ("insert into wenzhang values('" & Combo1.Text & "','" &Text3.Text & "','" & Text4.Text & "','" &Text1.Text & "')")MsgBox ("ok")End IfEnd Sub'添加按钮Private Sub Command3_Click()Dim myval As StringSet rs = cn.Execute("select * from wenzhang where 内容='" & Text1.Text & "'") If rs.EOF Thenmyval = MsgBox("是否保存文章?", vbInformation + vbYesNoCancel, "提示") If myval = vbYes Thencn.Execute ("insert into wenzhang values('" & Combo1.Text & "','" &Text3.Text & "','" & Text4.Text & "','" &Text1.Text & "')")MsgBox ("保存成功")ElseCombo1.Text = ""End IfElseText1.Text = ""Combo1.Text = ""End IfEnd Sub'删除按钮Private Sub Command4_Click()If Text1.Text = "" ThenMsgBox ("不能删除空记录!")ElseDim myval As Stringmyval = MsgBox("是否删除文章?", vbInformation + vbYesNo, "提示")If myval = vbYes ThenSet rs = cn.Execute("delete from wenzhang where 内容='" & Text1.Text & "'") MsgBox ("删除成功!")End IfEnd IfEnd Sub'连接数据库Private Sub Form_Load()cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\temp.mdb;Persist Security Info=False"cn.CursorLocation = adUseClientcn.OpenEnd Sub//**************另外一种读取access的方法Dim cn As New ADODB.ConnectionDim rs As New ADODB.Recordsetcn.Provider = "microsoft.jet.oledb.4.0"cn.ConnectionString = App.Path + "\#db.mdb"cn.OpenSet rs = cn.Execute("select * from [user]")If rs.EOF ThenMsgBox "您输入的信息有误!"ElseMsgBox "恭喜你!"End IfText2.Text = rs("user_name")cn.Close。

相关文档
最新文档