所以我基本上試圖通過DAO鏈接一個表,通過密碼加密到我正在使用的數據庫中的ACCDB。我所做的前提是數據是「用戶敏感「,所以我不想讓每個用戶都可以在我的前端訪問此表(具有前端/後端拆分),只有特定的用戶才能訪問此表。我想這樣做是爲了檢查計算機的用戶名,然後允許用戶名是否正確前端鏈接到該數據:通過DAO的鏈接表
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
但犯規存在於我的數據庫中的表,所以我應該怎麼辦?
查看mwolfe02關於查詢名稱衝突和Environ(「username」)''不安全性的警告。 – HansUp
有關OP如何嘗試複製TableDef對象本身的好處。我掩蓋了代碼,只真正解決了錯誤信息。 – mwolfe02
@HansUp在閱讀一些文章後,我想出了這個代碼;他們說這是連接桌子,但它看起來不像是這樣,所以我有點懷疑。有沒有更好的方式來鏈接這些數據?而不是將**附加到表中 –