所以我有這個應用程序,我將所有本地表移動到SQL Server使用升遷,現在他們當前鏈接表。我能夠訪問與表格相關的表格,並且可以毫無問題地訪問表格。但是,當我以編程方式獲取記錄或在VBA腳本中執行sql操作時,會彈出一個SQL Server登錄提示,要求我輸入SQL身份驗證登錄名以訪問數據庫。MS Access - SQL Server登錄提示不會消失
我跟着這個鏈接在這裏:
https://support.microsoft.com/en-us/kb/177594
如果這是我的最終代碼:
Dim db1 As Database
Dim db2 As Database
Dim rs As Recordset
Dim strConnect As String
Set db1 = OpenDatabase("C:\Workspace\ms1.mdb")
strConnect = UCase(db1.TableDefs("dbo_TableA").Connect) & ";UID=User1;PWD=Password1"
Set db2 = OpenDatabase("", False, False, strConnect)
db2.Close
Set db2 = Nothing
Set rs = db1.OpenRecordset("dbo_TableA")
rs.Close
db1.Close
Set rs = Nothing
Set db1 = Nothing
DoCmd.RunCommand acCmdSaveRecord
'Sql Server login prompt pops up after running the below code;'
If DCount("*", "TableA", "[ColA] = [forms]![FRM_LOGS]![USER]") = 0 Then
MsgBox "User ID not found - contact HelpDesk", vbCritical
DoCmd.Quit
Exit Sub
End If
的DCOUNT會引發SQL Server登錄提示。我需要這個提示消失。如果我打開表單,查詢,報告訪問對象綁定到數據的任何地方,我就不會收到任何消息。它只發生在VBA中,當我試圖訪問數據對象時。
編輯!我確實找到了罪魁禍首。我刪除了sql server中TableA的鏈接表,然後再次將它重新鏈接,然後單擊Save password複選框。我之前做過這件事,但沒有成功。又一次,它修復了一切。不知道爲什麼這不是第一次。我將下面的答案標記爲答案,因爲這確實解決了情況下的問題。
澄清:您正在使用SQL Server身份驗證(不是Windows)?連接表時,你沒有存儲用戶/密碼?什麼是'db1',當前的前端數據庫或者其他也有鏈接表的數據庫? – Andre
你可以試試https://msdn.microsoft.com/en-us/library/ms807027.aspx或https://msdn.microsoft.com/en-us/library/dd787978.aspx –
@Andre db1是OpenDatbase(「C:\ Workspace \ ms1.mdb」)我將它設置在上面的代碼中 – sksallaj