ms-access - 在同一位置链接后端密码保护的访问数据库
问题描述
我正在使用下面的代码将我的银行端数据库链接到前端。它可以正常工作,而无需在后端数据库上设置密码。如何将相同的代码与受密码保护的后端文件一起使用。注意:以下代码来自 [Stackoverflow question][1]
[1]: https://stackoverflow.com/questions/3315306/how-can-a-relative-path-specify-a-linked-table-in-access-2007
Private Sub Form_Load()
Dim strOldConnect As String
Dim strNewConnect As String
Dim intSlashLoc As Integer
Dim intEqualLoc As Integer
Dim strConnect As String
Dim strFile As String
Dim strCurrentPath As String
strCurrentPath = CurrentProject.path
Dim tblDef As TableDef
Dim tblPrp As Property
For Each tblDef In CurrentDb.TableDefs
Debug.Print tblDef.Name
If tblDef.Connect & "." <> "." Then
strOldConnect = tblDef.Connect
intEqualLoc = InStr(1, strOldConnect, "=", vbTextCompare)
strConnect = Left(strOldConnect, intEqualLoc)
intSlashLoc = InStrRev(strOldConnect, "\", -1, vbTextCompare)
strFile = Right(strOldConnect, Len(strOldConnect) - intSlashLoc)
strNewConnect = strConnect & strCurrentPath & "\" & strFile
tblDef.Connect = strNewConnect
tblDef.RefreshLink
End If
Next tblDef
End Sub
解决方案
Access 的整个连接字符串Microsoft ACE OLEDB 12.0
是:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccessFile.accdb; Jet OLEDB:Database Password=MyDbPassword;
请参阅此链接以获取参考https://www.connectionstrings.com/access/
在你的情况下,这将是诀窍:
tblDef.Connect = "PWD=" & MyPassword & ";DATABASE=" & YourDatabasePath
推荐阅读
- arrays - 加入两个字符串 - Swift
- pine-script - 如何只执行一次strategy.entry order,然后等待条件重新进入
- python - 自定义 tensorflow-lite 模型推理提供 1.00 的测试精度
- javascript - 中继 JS 异常:预期请求具有有效的 `id` 或 `cacheID` 属性
- azure-functions - 如何在 Azure Function 中运行通过 NPM 安装的命令
- python - 多色对象的 HSV 空间
- c# - Entity Framework Core - 在内存数据库中使用并填充假数据
- java - 如何使用来自另一个泛型的非默认构造函数实例化一个泛型 kotlin 类?
- python - 为什么 fnmatch 和 glob 都存在?
- ssl - 尽管有 RoleBinding(与 ClusterRoleBinding 相同),为什么这个 pod 在调用 Kubernetes API 时会得到 403 Forbidden?