So habe ich diese Anwendung, und ich habe alle lokalen Tabellen mit Upsizing zu SQL Server verschoben, jetzt sind sie derzeit verknüpfte Tabellen. Ich kann auf Tabellen zugreifen und Formulare mit Bezug zu Tabellen können problemlos aufgerufen werden. Aber wenn ich programmgesteuert einen Datensatz abrufe oder eine SQL-Operation im VBA-Skript durchführe, erscheint eine Aufforderung zur SQL Server-Anmeldung, in der ich aufgefordert werde, den SQL-Authentifizierungs-Login einzugeben, um auf die Datenbank zuzugreifen.MS Access - SQL Server Login Eingabeaufforderung wird nicht
Ich folgte diesen Link hier:
https://support.microsoft.com/en-us/kb/177594
Wo dies mein Ende-Code ist:
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
Die DCount die SQL Server-Anmeldeaufforderung auslöst. Ich brauche diese Aufforderung, um wegzugehen. Wenn ich ein Formular öffne, abfrage, berichte, alles, wo das Zugriffsobjekt an die Daten gebunden ist, bekomme ich keine Nachricht. Es passiert NUR in VBA, wenn ich versuche, auf das Datenobjekt zuzugreifen.
Bearbeiten! Ich habe den Schuldigen gefunden. Ich löschte die verknüpfte Tabelle mit der TabelleA in SQL-Server, und ich habe es erneut verknüpft, und klickte auf das Kontrollkästchen Kennwort speichern. Ich habe das vorher gemacht, und es hat nicht funktioniert. Hab es nochmal gemacht, und es hat alles repariert. Nicht sicher, warum das beim ersten Mal nicht funktioniert hat. Ich habe das Folgende als Antwort markiert, weil das das Problem angesichts der Umstände gelöst hat.
Zur Verdeutlichung: Sie verwenden SQL Server-Authentifizierung (nicht Windows)? Und beim Verknüpfen der Tabellen hast du User/Passwort nicht gespeichert? Was ist 'db1', die aktuelle Frontend-Datenbank oder eine andere Datenbank, die auch Tabellen verknüpft hat? – Andre
Sie könnten versuchen, entweder diese https://msdn.microsoft.com/en-us/library/ms807027.aspx oder diese https://msdn.microsoft.com/en-us/library/dd787978.aspx –
@Andre db1 ist die OpenDatbase ("C: \ Workspace \ ms1.mdb") Ich setze sie in den Code über – sksallaj