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