Office中国论坛/Access中国论坛

标题: 求助:关于DAO的问题 [打印本页]

作者: davy    时间: 2003-7-7 05:44
标题: 求助:关于DAO的问题
请问高手们,哪位能赐教:如何用DAO 的OpenDatabase方法打开一个被设置密码的ACCESS数据库(MDB)?

不设密码的MDB数据库可以这样打开:

Dim dbsNorthwind As DAO.Database

Set dbsNorthwind = OpenDatabase("D:\CGL2002\data\JCdatak.mdb)

但数据库设置密码后,上面的语句中,密码参数应如何提供和书写??急死了!
作者: QINGSOLI    时间: 2003-7-7 06:43
Set dbsNorthwind = OpenDatabase("D:\CGL2002\DATA\Jcdatak.mdb",,,"WD=xxx")
作者: davy    时间: 2003-7-7 08:46
谢谢QINGSOLI!我试试
作者: davy    时间: 2003-7-7 08:58
QINGSOLI 兄,
您提供的表达式 :
  Set dbsNorthwind = OpenDatabase("D:\CGL2002\DATA\Jcdatak.mdb",,,"WD=xxx")

我试过了,还是不行,不知道您试过没有。麻烦您最好给个例子看看!
作者: davy    时间: 2003-7-8 00:58
各位斑竹,为什么不帮忙啊!是因为这个问题很简单吗?
作者: AlexLiu    时间: 2003-7-8 01:08
从我自己的程序中截取的部分代码:

    Dim wspDefault As Workspace, dbsDR As DAO.Database

    Set wspDefault = DBEngine.Workspaces(0)
    Set dbsDR = wspDefault.OpenDatabase(Filepath, True, False, ";pwd=QSedfdf4587")

作者: davy    时间: 2003-7-8 06:22
谢谢AlexLiu版主,我也刚刚搞定!本想上来发个帖说明一下,以备后来需者悉之,还是版主身手好,再次表示感谢!!!
      我想可能还有同仁想了解用DAO代码打开数据库的资料,所以我将一些资料摘录如下(不是ACCESS帮助中的),以回报本论坛对我的帮助。
      
      1、在DAO中,用代码操作打开当前的数据库有两种方法:
      dim dbMyDB AS DAO.Database

       方法一:      Set dbMyDB=DBEngine.Workspace(0).Databases(0)
       方法二:      Set dbMyDB=DBEngine(0)(0)
        注:DBEngine是DAO对象模型中的最高层对象。
      
       2、在DAO中,用代码操作打开另一个数据库的语法:

       Dim wspDefault As Workspace     ’定义工作区对象
       dim dbMyDB AS DAO.Database    ’定义数据库对象

Set dbMyDB = wspDefault .OpenDatabase (dbname, options, read-only, connect)

参数说明:
      dbname   该参数是必选参数,指的是要打开的数据库(ODBC数据源的DSN)的名称,
                    字符串型,其中包括所在(网络)盘符、路径及文件全名。
      options    选项参数,可选。主要是设置ACCESS数据库的exclusive(独占方式)。默认地,
                   ACCESS数据库是以共享方式打开的,然而,你可以用这个参数以exclusive
                   (独占方式)打开数据库。这个参数可以设置为TRUE/FALSE(BOOLEAN)值。
      read-only(只读方式),默认地,ACCESS数据库是以可读写的方式打开的,然而,
                   你可以用这个参数以read-only(只读方式)打开数据库。这个参数可以设置
                   为TRUE/FALSE(BOOLEAN)值。
      connect  这是用于打开数据源的一个字符串值,在ACCESS中,可以用该参数传送共享
                  级密码。在ISAM和ODBC数据源中,该参数与connect(连接)属性保存的
                  信息相同。
      
        注:在打开一个具有共享级密码的ACCESS数据库时,必须将SOURCE参数指定为"WD=",并在其后加上密码,还必须提供 options [exclusive(独占方式)]和 read-only(只读方式)参数。这就是我用QINGSOLI 兄提供的表达式 行不通的原因。

       再次向QINGSOLI 兄及AlexLiu版主表示感谢!!

       心得:有时候,用DAO操作数据库比ADO方便!





欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3