我需要每月从各种数据库导入表。导入表后,数据库将被存档并且不会再次查看。
我有以下 VBA 代码,当数据库不受密码保护时,该代码可以正常工作:
Private Sub ImportTheData(ByVal dbImport As String)
DoCmd.SetWarnings False 'Turn OFF display alerts
'Import the full activity & comments table from the Import DB to a temporary table
DoCmd.TransferDatabase acImport, "Microsoft Access", dbImport, acTable, "tbl_Activity", "tbl_TempActivity", True
DoCmd.TransferDatabase acImport, "Microsoft Access", dbImport, acTable, "tbl_Comments", "tbl_TempComments", True
'code continues ...
Run Code Online (Sandbox Code Playgroud)
最后一个参数(storelogin)设置为 true,但似乎无法以编程方式设置这些登录参数(密码)。
当我运行代码时,系统会提示用户输入密码(尽管 SetWarnings = False)。由于我每次都会导入数十个文件,这不是一个可行的解决方案。
DoCmd.TransferDatabase
当文件受密码保护时,是否有一种方法可以以编程方式导入表,如果是的话,如何?
使用 DAO 打开数据库,提供密码,然后就可以导入表了。
Public Sub ImportEncr()
Const dbImport = "D:\DbEncr.accdb"
Const sPassword = "foobar"
Dim DB As DAO.Database
Set DB = DBEngine.OpenDatabase(Name:=dbImport, Options:=False, ReadOnly:=False, Connect:=";PWD=" & sPassword)
DoCmd.TransferDatabase acImport, "Microsoft Access", dbImport, acTable, "tblEncr", "tblEncr", False
DB.Close
Set DB = Nothing
End Sub
Run Code Online (Sandbox Code Playgroud)
StoreLogin
适用于从 ODBC 数据库链接表。
归档时间: |
|
查看次数: |
7192 次 |
最近记录: |