如何在VB中打开ACCESS数据库

candy0622 2004-08-04 10:42:48
MyConString = "dsn=d:\mdb\table1;uid=;pwd=;drive={microsoft access drives};"
MyConnection = MyConString
MyConnection.open
这样为什么不行?
...全文
341 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Andy__Huang 2004-08-04
  • 打赏
  • 举报
回复
dim Conn As New ADODB.Connection
Private rsTable As New ADODB.Recordset
dim SQL as string

Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & AccessPath & ";Persist Security Info=False"

Conn.CursorLocation = adUseClient
Conn.Open
SQL = "select * from table "
rsTable.Open strSQL, pubConn, adOpenDynamic, adLockOptimistic

candy0622 2004-08-04
  • 打赏
  • 举报
回复
我是用DATA控件的
candy0622 2004-08-04
  • 打赏
  • 举报
回复
不行,要不要声明?
iiboy 2004-08-04
  • 打赏
  • 举报
回复
Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & AccessDataBasePathAndName

也可以吧
iiboy 2004-08-04
  • 打赏
  • 举报
回复
dim Cn as new Adodb.connection

Cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & AccessDataBasePathAndName

Cn.Open
haohaohappy 2004-08-04
  • 打赏
  • 举报
回复
打开带密码的:
Cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\computer.mdb;Persist Security Info=False;Jet OLEDB:Database Password=ok"
Cn.CursorLocation = adUseClient
Cn.Open
xiaohu790114 2004-08-04
  • 打赏
  • 举报
回复
dui
haohaohappy 2004-08-04
  • 打赏
  • 举报
回复
Cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & AccessPath & ";Persist Security Info=False"
Cn.CursorLocation = adUseClient
Cn.Open
libingao 2004-08-04
  • 打赏
  • 举报
回复
更正:

Dim adoCnn As ADODB.Connection
改为:
Dim adoCnn As New ADODB.Connection
libingao 2004-08-04
  • 打赏
  • 举报
回复
'用 Data 控件访问有密码的 Access 数据库
With Data1
.DatabaseName = [数据库路径及名称]
.Connect = ";pwd=" + [数据库密码]
.RecordSource = [查询语句]
.Refresh
' ...
End With

'用 DAO 访问有密码的 Access 数据库
Dim OpenDB As Database
Dim Rst As DAO.Recordset
Set OpenDB = DBEngine.Workspaces(0).OpenDatabase([数据库路径及名称], False, False, "MS Access;PWD=" + [数据密码])
Set Rst = OpenDB.OpenRecordset([查询语句], dbOpenSnapshot)
'...


'用 ADO 访问有密码的 Access 数据库
Dim adoCnn As ADODB.Connection
Dim CnnStr As String
CnnRst = "provider=Microsoft.Jet.OLEDB.4.0;Data source =" + [Access97、Access2000 数据库路径及名称] + " ;Persist Security Info=False;Jet OLEDB:Database Password=" + [数据库密码]
With adoCnn
If .State = adStateOpen Then .Close
.ConnectionString = CnnStr
.Open
If .State = adStateOpen Then
' 数据库打开成功
' ...
Else
' 数据库打开失败
' ...
End If
'说明:Microsoft.Jet.OLEDB.3.51 只支持 Access97,不支持 Access2000
' Microsoft.Jet.OLEDB.4.0 不仅支持 Access97,也支持 Access2000
End With

'用 ADODC 控件访问有密码的 Access 数据库
With Adodc1
.ConnectionString = CnnStr
.CommandType = adCmdText
.RecordSource = [查询语句]
.Refresh
' ...
End With


其中:[数据库路径和名称] 可以是你自己的机子上的某个数据库,也可以是局域网上的某个机子上的数据库,例如:[数据库路径和名称] = "D:\...\mydb.mdb" 或者 app.path+"\data\mydb.mdb" 或者 "\\192.168.0.27\d$\...\mydb.mdb" 均可;对于 "\\192.168.0.27\d$\...\mydb.mdb" 中的 d$ 是指你的 192.168.0.27 这台机子上的 d 盘(外加 $ 符号表示该盘你可以不必去有意识的共享也能让程序正常访问数据库 )

建议:你将上面的连接字符串CnnStr事先保存在一配置文件中(如:DataPath.ini),你在程序启动时直接读取该连接字符串即可,这样,你的连接字符串可以动态的进行改变,其不美哉!

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧