首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当源有密码时,MS访问DoCmd.Transferdatabase

当源有密码时,MS访问DoCmd.Transferdatabase
EN

Stack Overflow用户
提问于 2019-03-27 09:08:59
回答 2查看 5.7K关注 0票数 3

我需要每月从各种数据库中导入表格。导入表后,数据库将存档,不再查看。

我有以下VBA代码,当DB不受密码保护时,它可以正常工作:

代码语言:javascript
复制
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 ...

最后一个参数(storelogin)被设置为true,但似乎没有办法以编程方式设置这些登录参数(密码)。

当我运行代码时,会提示用户输入密码(尽管SetWarnings = False)。因为我每次导入几十个文件,这不是一个可行的解决方案。

在文件受到密码保护时,是否有一种使用DoCmd.TransferDatabase 编程导入表的方法,如果是的话,如何导入?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-27 10:00:56

使用DAO打开数据库,提供密码,然后可以导入表。

代码语言:javascript
复制
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

StoreLogin适用于从ODBC数据库链接表。

票数 5
EN

Stack Overflow用户

发布于 2019-03-27 10:11:52

您可以使用SQL并构建我相信的SQL语句和.RunSQL

一个示例SQL将是

SELECT * into tblIMPORT FROM xyz IN '' '; database=C:\Workspace\Database1.accdb;PWD=test';

希望这能有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55373386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档