gpt4 book ai didi

ms-access - 使用安全工作组文件编写 Access Access 文件的脚本

转载 作者:行者123 更新时间:2023-12-04 18:22:51 29 4
gpt4 key购买 nike

我正在尝试编写 Access Access 数据库的脚本,以便在命令行上使用。 Access 数据库使用工作组文件进行保护。

Dim oApp, sWGF,myWS
Set sApp = CreateObject("Access.Application")
set sWGF = "C:\Users\Alan\Documents\Secured.mdw"
oApp.DBEngine.SystemDb = sWGF
WScript.echo "Workgroup " & sWGF
WScript.echo "SystemDb " & oApp.DBEngine.SystemDb
Set myWS = oApp.DBEngine.CreateWorkspace("New","Name","Password")

此代码输出工作组的 Secured.mdw 文件名,但 SystemDB 的默认 System.mdw 文件名作为两个 WScript.echo 命令的输出。它也无法创建工作区,指出名称和密码错误(尽管它们对于 Secured.mdw 文件是正确的)

网上其他地方有很多引用资料说您只能将此作为应用程序内部的第一件事,但这就是我正在做的。

我不确定我做错了什么。任何想法

最佳答案

我认为您应该直接使用 DAO 和 Jet,而不是自动化 Access。

  Dim objEngine
Dim strWorgroup
dim wrkWorkspace
Dim db

Set objEngine = CreateObject("DAO.DBEngine.36")
objEngine.SystemDB = "C:\Users\Alan\Documents\Secured.mdw"
Set wrkWorkspace = objEngine.CreateWorkspace("", "Name", "Password")
Set db = wrkWorkspace.OpenDatabase("C:\MyDatabase.mdb")

这将绕过 Access 本身并直接使用 Jet 数据库引擎,这对我来说似乎更简单。

在测试这个过程中,我在设置 SystemDB 时也遇到了一些困难,但事实证明我只需要确保我提供了一个有效的供使用。我尝试的第一个非默认的不起作用,但是当我复制默认的副本并使用它时,它起作用了。

所以,我会查看您的工作组文件的文件名/路径是否正确,Jet 的版本是否正确,以及您是否有适当的 NTFS 权限来打开它。

关于ms-access - 使用安全工作组文件编写 Access Access 文件的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5975628/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com