怎么用VB读Access数据库,给点代码

 我来答
pzbmrns
2011-03-09 · TA获得超过131个赞
知道答主
回答量:237
采纳率:0%
帮助的人:114万
展开全部
你一个示例,这个是用户登录系统
'准备工作: 数据库 D:\Mydb.mdb 数据库中,建数据表:UserInfo,数据表中,建字段:User,Password,并添加一条记录
'点工程->引用 选中 Microsoft Activex Data Objects 2.1 Library
'控件:添加一个文本框,一个命令按钮

Private Sub Command1_Click()
Dim s As String
Dim Conn As New ADODB.Connection
Dim Rs As New ADODB.Recordset
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\mydb.mdb"
'请将数据库名及路径换成你的实际数据库名及路径
Dim UserName As String
Dim Password As String

s = Text1.Text
If s = "1" Or s = "2" Then
UserName = InputBox("请输入用户名")
Password = InputBox("请输入用户密码")
sql = "Select * From [UserInfo] where User='" & UserName & "'"
'UserInfo请换成你的实际数据表名

Rs.Open sql, Conn, 1, 3
If Rs.EOF Then
MsgBox "没有找到此用户"
Else
If 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.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 Library
Dim myDB As DAO.Database
Set myDB = CreateDatabase(App.Path + "\111.mdb", dbLangGeneral) '如果不存在数据库
Set myDB = OpenDatabase(App.Path + "\111.mdb") '如果存在数据库
Dim str_SQL As String
str_SQL = "Create Table NewTable1(Field1 Text(10),Field2 Short)"
myDB.Execute str_SQL
str_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 String

strDk = "DBQ=" & App.Path & "\a.mdb;Driver=;"
cnDk.Open strDk
sql = "insert into b (c) values ('" & text1.text& "')"
cnDk.Execute sql
cnDk.Close
Set cnDk = Nothing
End Sub

在数据库中添加多条记录

只要可以进行输入文本的都可以
改一下这些吧,你单击一次就提示输入一次,输完了自动保存
改后
Data1.Recordset.AddNew
Data1.Recordset.Fields("username") = trim(inputbox("请输入名字"))
Data1.Recordset("password") =val(trim(inputbox("请输入电话")))
Data1.UpdateRecord
——————————————————————————————
Data1.Recordset.AddNew
Data1.Recordset.Fields("username") = "张三|"
Data1.Recordset("password") = "fsdfsd"
Data1.UpdateRecord
Data1.Recordset.AddNew
Data1.Recordset.Fields("username") = "李四|"
Data1.Recordset("password") = "fsdf432d"
Data1.UpdateRecord
Data1.Recordset.AddNew
Data1.Recordset.Fields("username") = "王五|"
Data1.Recordset("password") = "f42342d"
Data1.UpdateRecord
MsgBox "adad"

========================================================================================
vb+access 数据库的记录的添加与删除
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset

Private Sub Command2_Click()
Set rs = cn.Execute("select * from wenzhang where 内容='" & Text1.Text & "'")
If Text1.Text = "" Then
MsgBox ("文章不能为空!")
ElseIf rs.EOF = False Then
MsgBox ("文章不能重复!")
Else
cn.Execute ("insert into wenzhang values('" & Combo1.Text & "','" & Text3.Text & "','" & Text4.Text & "','" &

Text1.Text & "')")
MsgBox ("ok")
End If
End Sub
'添加按钮
Private Sub Command3_Click()
Dim myval As String
Set rs = cn.Execute("select * from wenzhang where 内容='" & Text1.Text & "'")
If rs.EOF Then
myval = MsgBox("是否保存文章?", vbInformation + vbYesNoCancel, "提示")
If myval = vbYes Then
cn.Execute ("insert into wenzhang values('" & Combo1.Text & "','" & Text3.Text & "','" & Text4.Text & "','" &

Text1.Text & "')")
MsgBox ("保存成功")
Else
Combo1.Text = ""
End If
Else
Text1.Text = ""
Combo1.Text = ""
End If
End Sub
'删除按钮
Private Sub Command4_Click()
If Text1.Text = "" Then
MsgBox ("不能删除空记录!")
Else
Dim myval As String
myval = MsgBox("是否删除文章?", vbInformation + vbYesNo, "提示")
If myval = vbYes Then
Set 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;Data Source=\vb.net\temp.mdb;Persist Security Info=False"
cn.CursorLocation = adUseClient
cn.Open
End Sub
远航09
2011-03-09 · TA获得超过1322个赞
知道小有建树答主
回答量:321
采纳率:0%
帮助的人:137万
展开全部
Dim Conn As New ADODB.Connection
Dim SqlStrBc As String
Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\TBCS08D.MDB;Jet OLEDB:DataBase password=wn8815732;"
‘数据库名称是TBCS08D.MDB,密码是wn8815732
Conn.Open
SqlStrBc = "Insert Into Formula Values ('" & Col(1) & "'')"否 ‘Col(1)是你要添加的记录值,表名是Formula,此条是新增操作
SqlStrBc = "delete from Formula"‘此条是删除记录操作
Conn.Execute (SqlStrBc) ‘执行操作
Conn.Close

下面是读取数据操作
Dim Conn As New ADODB.Connection
Dim Rs As New ADODB.Recordset
Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\TBCS08D.MDB;Jet OLEDB:DataBase password=wn8815732;"
Conn.Open
Rs.CursorLocation = adUseClient
Rs.Open "select SquareAdd from Invoice Where InvoiceName= '" & P_InvoiceName & "'", Conn, 3, 2 ‘查找Invoice数据表中InvoiceName字段值=InvoiceName变量值的记录
LblFslj.Caption = Int(Rs.Fields(0) * 100 + 0.5000000001) / 100 '四舍五入保留2位小数,避免单精度数小数位太长,读取Rs.Fields(0)的值送到标签LblFslj显示出来
Rs.Close
Conn.Close
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
405675672
2011-03-09 · TA获得超过2620个赞
知道小有建树答主
回答量:1105
采纳率:0%
帮助的人:1087万
展开全部
给你举两个简单的VB读取ACCESS数据库的代码:
最简单的打开数据表代码:docmd.OpenTable "表名"
查询数据内容就得用到SQL语句:docmd.RunSQL "SELECT * FROM 表名"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
光亮青剑
2011-03-12 · TA获得超过490个赞
知道小有建树答主
回答量:214
采纳率:0%
帮助的人:164万
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式