Итак, у меня есть это приложение, и я переместил все локальные таблицы в SQL Server с использованием upsizing, теперь они в настоящее время связаны таблицами. Я могу получить доступ к таблицам и формам, связанным с таблицами, без проблем. Но когда я программно беру запись или выполняю операцию sql в скрипте VBA, появляется запрос на ввод в SQL Server, в котором я прошу войти в учетную запись аутентификации SQL для доступа к базе данных.MS Access - SQL Server Login Prompt не исчезнет
Я следовал этой ссылке здесь:
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 Login Prompt. Мне нужно это приглашение уйти. Если я открою форму, запрос, отчет, что-либо, где объект доступа привязан к данным, я не получаю никакого сообщения. Он ТОЛЬКО случается в VBA, когда я пытаюсь получить доступ к объекту данных.
Редактировать! Я нашел преступника. Я удалил связанную таблицу с TableA в sql-сервере, и я снова ее связал и щелкнул флажок Сохранить пароль. Я делал это раньше, и это не сработало. Сделал это снова, и все это исправлено. Не уверен, почему это не сработало в первый раз. В качестве ответа я назвал это ниже, потому что это решило проблему с учетом обстоятельств.
Чтобы уточнить: используется аутентификация SQL Server (а не Windows)? А при связывании таблиц вы не храните пользователя/пароль? Что такое 'db1', текущая база данных frontend или другая db, которая также имеет связанные таблицы? – 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