Office中国论坛/Access中国论坛
标题:
老朱,用DAO不行啊?
[打印本页]
作者:
大熊
时间:
2002-12-25 22:58
标题:
老朱,用DAO不行啊?
如何用代码链接带有密码的数据库中的表
您是第 3 读者
作 者:朱亦文
发布日期:2002年11月21日
摘 要:通过ADOX来实现带有密码的数据库的链接
正 文:
(问):我如何使用代码链接带有密码的数据库中的表?
(答):将下列代码粘贴到一个新模块中,并通过使用adoLinkTable函数来实现。
'=======================================================================
' 函 数:adoLinkTable(strMdbPath, strPWD, strLinkName, strTblName)
' 参数说明:strMdbPath 为要链接的数据库的路径
' strPWD 为打开数据库的密码
' strLinkName 为链接表名称
' strTblName 为链接的表的名称
' 返 回:True 成功,False 失败
' 调用举例:
' OK = adoLinkTable("c:\123.mdb", "123", "订单", "订单")
' 作者:朱亦文
' 日期:2002.11.21
'=======================================================================
Public Function adoLinkTable(ByVal strMdbPath As String, _
ByVal strPWD As String, _
ByVal strLinkName As String, _
ByVal strTblName As String) As Boolean
On Error Resume Goto errh
Dim catDB As ADOX.Catalog
Dim tblLink As ADOX.Table
Set catDB = New ADOX.Catalog
catDB.ActiveConnection = CurrentProject.Connection
' 建立一个新的表对象
Set tblLink = New ADOX.Table
With tblLink
' 链接表名称
.Name = strLinkName
Set .ParentCatalog = catDB
.Properties("Jet OLEDB:Create Link") = True
' 数据库的路径和名称
.Properties("Jet OLEDB
ink Datasource") = strMdbPath
' 提供者及密码
.Properties("Jet OLEDB
ink Provider String") = "MS Access
WD=" & strPWD & ";"
' 原数据库中的表
.Properties("Jet OLEDB:Remote Table Name") = strTblName
End With
catDB.Tables.Append tblLink ' 添加到库中
Set tblLink = Nothing
adoLinkTable = True
Exit Function
errh:
adoLinkTable = False
End Function
注:在VBA编辑器中引用"Microsoft ADO Ext. 2.5 for DDL and Security"以及"Microsoft ActiveX Data Objects 2.1/2.5/2.6/2.7 Library"
来 源 于:本站原作
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3