因此,我实际上是在尝试通过 DAO 从密码加密的 ACCDB 将表链接到我正在工作的数据库中。我所做的前提是数据是“用户敏感的”,所以我不想要让每个用户都可以访问我前端的这个表(有前端/后端拆分),只有特定的用户。我想做的是检查计算机的用户名,如果用户名正确,则允许前端链接到数据:
Select Case Environ("username") 'select case user environment name
Case "jsmith" 'if username is jsmith then
Set db = DAO.OpenDatabase("Audit.accdb", False, False, _
";pwd=adaudit12") 'create connection to my other db
Set tbl = db.TableDefs(14) 'selects the table via index
CurrentDb.TableDefs.Append tbl 'create a link to my current DB with this table (throws ex here)
Case Else
End Select
这将返回运行时错误“3367”无法追加。集合中已存在具有该名称的对象。
所以我想这样做:
For Each tbl In CurrentDb.TableDefs
Msgbox tbl
Next tbl
但是我的数据库中不存在该表,我该怎么办?