那位高手请实现如下功能:
    在VB中用ADO无DSN连接ACCESS数据库,并且访问ACCESS数据库需要密码,请给出一个正确的连接字符串,记住---访问ACCESS数据库需要密码。

解决方案 »

  1.   

    '用 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 盘(外加 $ 符号表示该盘你可以不必去有意识的共享也能让程序正常访问数据库 )建议:你将上面的连接字符串事先保存在一配置文件中(如:DataPath.ini),你在程序启动时直接读取该连接字符串即可,这样,你的连接字符串可以动态的进行改变,其不美哉!