vb对access数据库的操作

作者&投稿:潮饼 (若有异议请与网页底部的电邮联系)
VB如何调用Access数据库?~

首先,我们需要引用ADO.具体的方法是,在"工程" -- "引用" 中,找到"Microsoft ActiveX Data Object *.* Library",这里的"*.*"是指的时ADO的版本号,一般来说,应用程序或ActiveX控件都具有向下兼容性,所以我们尽可能选择比较新的版本.以确保程序在能识别旧版本Access的同时,也能识别较新版本的Access.
然后我们需要在程序中创建一个对象.就好比我们在窗体上添加一个FileBox才能看到文件名一样,只有创建了ADO对象,我们才能够访问数据库.常用的对象有两个,Connection和Recordset.
创建这两个对象的具体方法是:
1.在引用后,使用New关键字,如
Private Conn As New ADODB.Connection
Private Reco As New ADODB.Recordset
2.在没引用时,用CreateObject创建对象:
Dim Conn,Reco
Set 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 then
Msgbox "用户不存在!",16
Else
If PassWord =Recordset("密码").value then
msgbox "登录成功!",64
Else
msgbox "密码错误!",32
End If
End If
Recordset.Close
2.假设Admin已经成功登录系统,我们想把所有的用户名和密码都显示出来
Recordset.open "Select * From Users",Connection,1,1
这时,表已经被打开,我们就用以下代码把它显示出来.
Do whlie Not Recordset.eof
Print "用户名: " & Recordset("用户名").value & "密码: " & Recordset("密码").value
Recordset.MoveNext
Loop
Recordset.Close
由以上代码示例可以看出,打开表时,可以只打开其中的一个字段,也可以打开所有.第一个参数是SQL语句.
Select [字段名] From 表名 [Where 条件]
这里的条件可以省略.且字段名也可以用"*"来代替所有字段.
需要注意的是,如果你用(1)中的方法打开,那么(2)后面显示的代码就不能再用在(1)中.因为(1)里并没有打开[用户名]字段,所以这一句Recordset("密码")就没有值存在,还有可能出错.
后面的条件,可以用"="、">"、" 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 Then
Msgbox "该用户的密码是:" & Recordset("密码").value,64
Else
Msgbox "未找到该用户的资料!",16
End If
End Sub
MoveNext 只有当Eof不为True时,才可用,否则发生错误.而MovePrevious刚是Bof不为True时....
而只要Eof 和 Bof中有一个不为真时,也就是说只要有一条记录时,它就可以使用.

Find 方法中的条件和Open时的第一个参数中的条件表述方法是完全一致的.当在已打开的记录集中,找不到该记录时,Eof为True.找到则当前的值就是符合条件的记录.

第三个部分就是添加/修改记录.
修改记录很简单,先按以上的方法找到相关记录之后,给记录赋值就可以了.
比如:[(修改密码)按方法(1)打开表之后]
Recordset("密码").value = "123456"
Recordset.Updata
需要注意的就是,在修改完成后,要调用Updata方法,这样修改才能生效.
而添加记录则可以用以下代码来实现:
Recordset.addnew
Recordset("用户名").value = "Admin"
Recordset("密码").value = "Admin"
Recordset.Updata
这里,先要调用Addnew方法,增加一条新记录,然后对这个新记录中的各字段赋值,最后再调用Updata方法.
到这里就差不多了,最后说一下上面提到的几个方法.
Recordset.Open SQL语句,数据源,游标类型,打开方法
SQL语句不用说了,就是Select那啥的,目的就是按要求从表中返回数据
数据源就是一个打开之后的Connection对象.
去他妈的游标类型,填1就可以了 [偷笑ing]
打开方法对应了几个常数,具体哪几个可以从对象浏览器里看.
对应数值的意义:
1 只读 2 独占 3 可写 4 自已可写,别人可读
Connection.open 连接代码,服务器用户名,密码
这里的连接代码就不在多说了,服务器用户名,密码只有在连接远程数据库时才用到.

Imports System.Data.OleDb
Public Class Form1

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim conn As New OleDbConnection
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=access数据库名.mdb"
conn.Open()
Dim comm As New OleDbCommand
Dim sqlstr As String = "SQL语句"
comm = New OleDbCommand(sqlstr, conn)
comm.ExecuteNonQuery()
conn.Close()
End Sub
End Class

Dim cn As New ADODB.Connection '定义连接
Dim Rs As New ADODB.Recordset '定义记录集
Private Sub Form_Load() '初始化
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\NCRE.MDB;Persist Security Info=False" '连接ACC数据库
Rs.Open "select Topic_NO from Topic_Orig0909", cn, adOpenKeyset, adLockOptimistic '打开记录集其中:Topic_NO为字段名Topic_Orig0909为表名,这后面最好是跟着条件,因为不知道你要什么条件以及数据库是什么样的,所以就没写
Text1 = Rs(0) 'Text1显示Rs记录集中的第一个字段
End Sub
Private Sub Command1_Click()
Set Rs = cn.Execute("update Topic_Orig0909 set Topic_NO='" & Text1 & "'") '将表Topic_Orig0909的字段Topic_NO修改为Text1中的数据。
End Sub

'Update TableName Set 字段1='12345' Where ID='001' '指定修改地方


VB连接Access数据库具体步骤,越详细越好
Private Sub Form_Click() '点击窗体运行Dim conn As Object, rs As ObjectSet conn = CreateObject("Adodb.Connection")conn.Open "provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & App.Path & "\\a.mdb"Set rs = CreateObject("Adodb.Recordset")rs.Open "select * from b", conn, 1...

为什么Access关系运算中A比B小?
这是因为关系运算中比较的实际是A与B对应ASCII码的大小,那么A对应65,B对应66 ,当然是A<B。

我在电脑A上想用电脑B上的access数据库
将数据库文件放在文件夹里 然后映射文件夹就可以直接像访问磁盘一样打开数据库文件了

access题目,为什么选B吖,我觉得选A吖,谢谢!
规定只能输入数字或空格,所以只能是B

关于ACCESS数据库数据对比的问题与方法。
对于数据表A和数据表B整合的方法如下:首先,定义主键,如身份证号;其次,查找相同项,检查同一身份证信息是否相同,如有不同,则进行辨认,取舍,并整合。最后,将数据表A中没有但数据表B中有的数据添加入数据表A形成一个全面完整的数据表。连接属性:可以查询两者相同的记录;连接属性3结合is null,...

如何把Access与VB连接起来
在VB中,连接ACCESS数据库的方法主要有下面三种 a.Data Link文件 b.使用ODBC数据源名称 c.使用连接字符串 使用数据环境设计器创建数据库连接,首先添加环境引用。然后找到数据源进行连接。Data 控件连接中,ODBC数据源的连接和使用字符串的连接 与直接使用ODBC数据源连接中,不同是,直接使用ODBC数据源设置...

access两张表中相同数据的比对、完善
首先,需要在A表中手动添加一个”职业“字段,然后通过更新查询,将B表中对应的职业更新到A表中。更新查询的做法:新建一个查询,进入SQL设计视图,写一下SQL语句:UPDATE A,B SET A.职业= B.职业 WHERE A.身份证号=B.身份证号;注意以上表名和字段名要改成你的实际名称。保存这个查询后关闭,...

金算盘软件数据库在哪里
B的金算盘是低版本,用的是ACCESS的数据库,每一个账套也就是一个单个ACCESS数据库。目前如果使用网络版的话,就只有把数据库做成有读写权限的共享文件。基于VP平台的应用产品:如平台型财务管理、分销资源计划、集团财务、物流配送管理系统等。金算盘VP平台其价值在于改变了传统的软件开发思路和手段,提供...

access问题 为什么图片中的题目选项B和D不一样??
B和D是不一样的。查询设计器题目的要求是找出院系为03和04的女学生。B符合要求。所属院系in("03","04") 与 所属院系="03" OR 所属院系="04" 是等效的,但是,WHERE 性别="女" AND 所属院系="03" OR 所属院系="04" 这句它会先计算and 再计算or,也就是说,它会...

access2010 报表中如何统计表A的记录在表B中出现的次数。
SELECT A.物件名称, Q1.使用次数 FROM (SELECT Count(B.主键N) AS 使用次数, B.主键N FROM B GROUP BY B.主键N) as Q1 RIGHT JOIN A ON Q1.主键N = A.主键N

华莹市17314951241: vb如何对access数据库进行操作 -
那童力雷: 新增,用rs对象的ADDNEW方法,然后刷新MSFLEXGRID控件. 保存和修改用COMMAND对象的COMMANDTEXT属性 ,使用SQL的UPDATE语句并执行.然后还是刷新MSFLEXGRID控件. 删除同上,只不过用SQL的DELETE FROM TABLE语句.

华莹市17314951241: vb中如何与access数据库连接 -
那童力雷: VB连ACCESS可以直接连,就是在ADO数据源的连接字串里直接连接到数据库文件. 也可以间接连接,在ODBC的数据源里建个新的数据源连到你要用的ACCESS数据库,然后VB连这个ODBC里的数据源. 现在大家用的反正都是这么回事啦,要是你真的很牛,你直接读写ACCESS文件自己翻数据用也行.WEB不也是用了控件?凡是用了ADOCONNECTION的都是用了ADO控件. 一般来说只要用数据源,那就基本都是用控件的.

华莹市17314951241: 怎么用VB调用access数据库 -
那童力雷: 首先,我们需要引用ADO.具体的方法是,在"工程" -- "引用" 中,找到"Microsoft ActiveX Data Object *.* Library",这里的"*.*"是指的时ADO的版本号,一般来说,应用程序或ActiveX控件都具有向下兼容性,所以我们尽可能选择比较新...

华莹市17314951241: 如何利用vb对access数据库进行查询读写工作 在线等 急! -
那童力雷: 连接数据库: dim nconn as object,nrs as object set nconn=createobject("adodb.connection") set nrs=createobject("adodb.recordset") nconn.open "driver={microsoft access driver (*.mdb)};uid=;pwd=;dbq=" & accessfilepath ' ...

华莹市17314951241: 如何在VB中连接access数据库
那童力雷: 请用MICROSOFT jet 4.0 OLE DB Provider引擎连接ACCESS数据库,方法如下: 新建工程时选数据工程,此时VB6集成调试环境左边工具箱内已加载了有关数据库编程必须的控件. 然后在FORM1窗体中添加ADODC控件和DATAGRID控件,...

华莹市17314951241: 如何用vb建立一个access数据库 -
那童力雷: vb只是一个编程语言,并不能建立数据库,建立access数据库要完全在access中进行.前提条件:必须安装微软access数据库.步骤:1、找好要存放数据库的路径,如C盘data路径;2、路径下空白处点右键,新建-Microsoft Access数据库;3、这时路径下就有了一个access文件,可以右键-重命名来为数据库起名,如,起名叫测试数据库;4、双击access文件,在里边创建所要的表,函数等等即可.

华莹市17314951241: 怎么用VB读Access数据库,给点代码 -
那童力雷: 你一个示例,这个是用户登录系统 '准备工作: 数据库 D:\Mydb.mdb 数据库中,建数据表:UserInfo,数据表中,建字段:User,Password,并添加一条记录 '点工程->引用 选中 Microsoft Activex Data Objects 2.1 Library '控件:添加一个文本框,...

华莹市17314951241: vb连接ACCESS数据库实例 -
那童力雷: 对于没有VB运行库的机器,必须注册VB运行库,程序中的代码不需要改动. ----------------------------------- 链接数据库的方法比较多,看你采用什么方法链接了,: 1、用ADO链接;2、用Data数据控件链接;3、用ADODB数据控件链接;还有数据...

华莹市17314951241: 如何进行VB与数据库ACCESS的连接 -
那童力雷: VB与数据库连接可以使用数据库控件进行,也可以引用ADO对象,数据库控件的使用比较简单,下面我就介绍使用ADO对象进行连接,首先打开"工程-引用",选择其中的Microsoft ActiveX Data Objects 2.0 Library(2.0以上版本都可以): ...

华莹市17314951241: VB中怎么连接ACCESS数据库,并且读取表中数据? -
那童力雷: Set cn = New ADODB.Connection sqldata="Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.mappath("F:\vb数据\DataBase\DataBase2007.mdb ") cn.Open sqldata Set adors = New ADODB.Recordset adors.Open strsql, cn ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网