2016-07-15 16 views
0

Vielleicht ist dies nicht möglich; Ich könnte versuchen, mit Microsoft Access zu sehr aufzufallen. :)Ms Access - Echtzeitaktualisierungen mit SQL Server

Ich möchte ein Access-Datenbankformular in Echtzeit aktualisiert werden, wenn eine INSERT, UPDATE, DELETE, usw. in einer Tabelle in einer SQL Server-Datenbank vorgenommen wird. Gibt es einen VBA-Rückruf, der ausgelöst werden kann, wenn eine Aktualisierung in einer SQL Server-Tabelle durchgeführt wird? Oder gibt es das überhaupt, um das zu erreichen?

Danke!

+1

„Sie den ODBC-Aktualisierungsintervall verwenden und Intervalleinstellungen aktualisieren zu steuern, wie oft Sie Ihre Daten aktualisiert Refreshing nur Daten-Updates, die Ihr existiert bereits in Datenblatt oder Formular. Bei der Aktualisierung werden keine Datensätze neu angeordnet, neue Datensätze angezeigt oder gelöschte Datensätze und Datensätze aus Abfrageergebnissen entfernt, die den angegebenen Kriterien nicht mehr entsprechen. Um solche Änderungen anzuzeigen, müssen Sie die zugrunde liegenden Datensätze für das Datenblatt oder Formular erneut anfordern. - ref: [hier] (https://support.office.com/de-de/article/Help-Access-run-faster-f6827763-bb5c-4f48-8457-7a14addab6be) –

+0

Perfect Gord! Sie haben die genaue Antwort gefunden, nach der ich gesucht habe, die von Microsoft formell dokumentiert wurde. Kann nicht immer bekommen, was Sie wünschen. Danke für die Recherche für mich! –

Antwort

1

Der einfachste Weg, ich weiß, dies zu erreichen, ist eine Abfrage wie zu erstellen:

SELECT Last(TimeStamp) AS LastTimeStamp FROM [TableName]; 

Wenn Sie das Formular laden Sie eine Date-Variable (LoadedTime) zu erstellen, die Sie auf die festlegen 'LastTimeStamp' Wert aus der Abfrage.

über das Formular auf Timer-Ereignisse den folgenden Code ausführen:.

If LoadedTime <> DLookup ("LastTimeStamp",[QueryName]) then 
me.refresh 'or whatever action you want to take if a change is detected. 
end if 
+1

Danke Dave! Ja, ich dachte, dass die Verwendung des Formulars "OnTimer" am Ende der beste Weg wäre. Tbh, ich hatte gehofft, dass es ein VBA-Ereignis geben würde, das nur dann ausgelöst würde, wenn ein Update auf dem Server vorgenommen wurde, aber ich dachte, das wäre nicht möglich. Ich werde definitiv versuchen, dies in meiner Anwendung zu implementieren! –