请提供一个VB用代码访问Access数据库的例子!

ghgk 2002-05-26 06:04:14
很久没用VB了,以前学的一点都忘了。我原来有本电子书讲了怎么用代码访问的,但被我删掉了。我记得好像就是加入DAO支持后通过如下这样的代码访问ACCESS数据库文件的~~不用DATA控件,我只是用于很简单的对数据库记录的统计,而且要访问的ACCESS数据库文件的文件名或所在地也不一定固定,所以我才要用代码来访问。
Dim mydata As Database
Dim myres As Recordset
Set myres = mydata.OpenRecordset("e:\temp\temp.mdb")
...全文
17 点赞 收藏 17
写回复
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
ghgk 2002-05-27
谢谢qbilbo(风之兄)你所给出的代码是正确可运行的,也感谢各位的热心解答。
回复
qbilbo 2002-05-26
Dim mydata As Database
Dim myres As Recordset

set mydata=dbengine.opendatabase("e:\temp\temp.mdb",false,false,"ms access;")
set myres=db.openrecordset("表名")

只要引用了DAO,这个代码就不会错的啊!你是不是哪个符号打错了。
能不能告诉我错误号,或错误提示。

你的代码中dim aa as dbengine有问题。
dbengine是DAO结构中的最上层,不需要申明,也不能声明。
回复
ghgk 2002-05-26
不好意思,我是菜鸟。谁能给我一个详细些的代码?能运行的~~
ado有没有资料~
回复
blueer 2002-05-26
dim mydata as new database
dim myres as new recordset..........
私下建议用Ado,呵呵
回复
ghgk 2002-05-26
全部不是我要的啦,我想要那个更加的简单明了。基本上有些像这个样,记得是在《VB从入门到精通》里看到的~~只需在引用中加用DAO支持就可以了~不用使用数据访问控件什么的~~有些像如下这个样子,但如下代码运行不了~到第四行出错~
dim aa as dbenging
Dim mydata As Database
Dim myres As Recordset

set mydata=aa.opendatabase("e:\temp\temp.mdb",false,false,"ms access;")
set myres=mydata.openrecordset("表名")
回复
2002oncemore 2002-05-26
dim cnn as new adodb.conncetion
dim rst as new adodb.recordset

with cnn
.provider="microsoft..jet.oledb.4.0"
.open "c:/1.mdb" '假设acces数据库为c盘1这个文件
end with

with rst
.activeconnection=cnn
.cusorlocation=userclient
.cusortype=openstatic
.open "select ........." '(sql语句)
end with


此为用adodb实现,当然用command也可以,但以上是较高效简单的
回复
2002oncemore 2002-05-26
正确答案:(adodb实现)
dim cnn as new conncetion
dim rst as new recordset

with cnn
.provider="microsoft..jet.oledb.4.0"
.open "c:/1.mdb" '假设acces数据库为c盘1这个文件
end with

with rst
.activeconnection=cnn
.cusorlocation=userclient
.cusortype=openstatic
.open "select ........." '(sql语句)
end with


此为用adodb实现,当然用command也可以,但以上是较高效简单的。

回复
MarGo 2002-05-26
ACCESS 97:
Dim cnn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim res As New ADODB.Recordset

cnn.ConnectionString= "Provider=Microsoft.Jet.OLEDB 3.51;DataSource=" "\YourDB.mdb;Persist Security Info=False"

cnn.Open
Set cmd.ActiveConnection = cnn
cmd.CommandText = strSQL 'strSQL是你的 SQL 语句
set res=cmd.Execute

回复
MarGo 2002-05-26

ACCESS2000:
Dim cnn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim res As New ADODB.Recordset

cnn.ConnectionString= "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=" "\YourDB.mdb;Persist Security Info=False"

cnn.Open
Set cmd.ActiveConnection = cnn
cmd.CommandText = strSQL 'strSQL是你的 SQL 语句
set res=cmd.Execute
回复
ghgk 2002-05-26
不对,我的意思不使用DAO~~而上面那位qbilbo(风之兄)提供的东西也不对的啊~
回复
czj2000 2002-05-26
Dim ConnStr As String
Set m_Con = CreateObject("ADODB.Connection")
ConnStr = "driver={Microsoft Access Driver (*.mdb)};dbq=" & App.Path & "\school.mdb"
m_Con.Open ConnStr
dim rs as recordset
set rs = new recordset
rs.open("database name","table")
回复
ywchen2000 2002-05-26
data1.recordset.addnew
data1.recordset.movenext
data1.recordset.movefirst
data1.recordset.movelast
data1.recordset.delete
data1.recordset.firdfirst
data1.recordset.findlast
DAO 就是着几条命令。还有一条,但是单词我忘了怎么打了
回复
monkey29 2002-05-26
刚做过一个,简单的说,加入DAO后,建立一个窗体,加一个data控件,名称data1,在form_load中添加:
data1.recordname=app.path&"\数据库名.mdb"
app.path是 指程序所在当前目录,路径的改变没有影响。

回复
qbilbo 2002-05-26
我想你是用DAO的方法。
如下:
Dim mydata As Database
Dim myres As Recordset

set mydata=dbengine.opendatabase("e:\temp\temp.mdb",false,false,"ms access;")
set myres=db.openrecordset("表名")
回复
ghgk 2002-05-26
你这个大概是通过ODBC访问吧~~如果我要访问PB的数据文件行不行~~是不是该把这里driver={Microsoft Access Driver (*.mdb)};变一下呢~
回复
ghgk 2002-05-26
晕啊~~你这个过于复杂了,我原来看到那个很简单的~~我不用这么复杂的~
回复
pl5th2001 2002-05-26
Option Explicit
Public m_Con As ADODB.Connection
Public m_Rs As ADODB.Recordset

Public Sub main()
Dim ConnStr As String
Set m_Con = CreateObject("ADODB.Connection")
ConnStr = "driver={Microsoft Access Driver (*.mdb)};dbq=" & App.Path & "\school.mdb"
m_Con.Open ConnStr
Load frmLogin
frmLogin.Show
End Sub


Option Explicit


Private Sub cmdCancel_Click()
End
End Sub

Private Sub cmdOK_Click()
Dim sql As String
sql = "select * from user where username=" & "'" & txtUserName & "'" & " and password=" & "'" & txtPassword & "'"
Set m_Rs = New ADODB.Recordset
m_Rs.Open sql, m_Con, adOpenDynamic, adLockOptimistic
If Not m_Rs.EOF Then
Unload Me
Load MDIForm1
MDIForm1.Show
Set m_Rs = Nothing
Else
MsgBox "Invalid Password, try again!", , "Login"
txtPassword.SetFocus
SendKeys "{Home}+{End}"
End If
End Sub

回复
发动态
发帖子

1180

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
社区公告
暂无公告