Benutzer mit den meisten Antworten
Verknüpfte Tabellen aktualisieren - wie am besten

Frage
-
Ich entwickle seit längerer Zeit eine Anwendung auf Access-Basis, aber mit vielen verknüpften Tabellen eines SQL-Servers.
Das funktioniert soweit.
Es kommt aber häufig vor, das ich auf eine Tabelle/Abfrage auf dem SQL-Server irgend etwas ändere - meist ein Feld dazu nehme.
Dann muß ich die Verknüpfung in Access neu machen, damit Access von der Änderung erfährt.
Nun ist es mir schon öfters passiert, daß ich komische Porbleme bei an sich funktionierenden Vorgängen hatte, z.B. konnte ich heute auf einmal keine neuen Zeilen eingeben.
Versuche mit "Link aktualisieren" behoben das Problem nicht. Erst löschen und erneutes Verknüpfen half.
Mache ich da grundlegend was falsch?
Antworten
-
Hallo,
Wenn du nach der Aktualisierung des Links keine neuen Zeilen mehr eingeben kannst, liegt es meist daran, dass die Tabelle keinen Primärschlüssel und/oder kein Feld vom Typ TimeStamp enthält.
Für die Aktualisierung verwendest du am besten den Tabellenverknüpfungsmanager, wie Igor schon schrieb. Was die Verknüpfung per VBA angeht, stell bitte sicher, dass du nicht den Treiber "SQL Server" verwendest (siehe Beispiel in Igor's Link), denn der ist über 20 Jahre alt, kennt keine neuen Datentypen und ist nicht performance-optimiert.
Der aktuellste Treiber z. Zt. ist ODBC Driver 18 for SQL Server.
Gruss - Peter
Mitglied im www.dbdev.org
Access-FAQ: www.donkarl.com- Bearbeitet Peter DoeringMVP, Moderator Mittwoch, 4. Mai 2022 16:33
- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Moderator Montag, 9. Mai 2022 10:02
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Moderator Mittwoch, 18. Mai 2022 14:15
-
Microsoft SQL Server ODBC-Treiber Version 10.00.19041 meldet der Treiber.
Da bin ich ja scheinbar mächtig hintendran.
Kann ich einfach diesen neuen Treiber laden und installieren?
Ja, klar. Die neuen Treiber haben volle Rückwärtskompatibilität. Ausserdem, der neue ist ein anderer Treiber, er wird zusätzlich installiert. Der vorhandene wird nicht gelöscht.
Gruss - Peter
Mitglied im www.dbdev.org
Access-FAQ: www.donkarl.com- Bearbeitet Peter DoeringMVP, Moderator Mittwoch, 4. Mai 2022 16:33
- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Moderator Montag, 9. Mai 2022 10:02
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Moderator Mittwoch, 18. Mai 2022 14:16
-
Hallo NicoNi,
Wenn Du Änderungen am Entwurf vornehmen möchtest, nimmst Du normalerweise diese in der SQL Server-Datenbank vor. Damit die Entwurfsänderungen in Access angezeigt werden, aktualisierst Du die verknüpften Tabellen:
- Wählst Du Externe Daten > Tabellenverknüpfungs-Manager aus.
- Markierst Du alle verknüpften Tabellen, die Du aktualisieren möchtest, wählst Du OK und dann Schließen aus.
Importieren von oder Verknüpfen mit Daten in einer SQL Server-Datenbank > Aktualisieren des Entwurfs der verknüpften Tabelle
Es gibt auch eine Möglichkeit in VBA, die Tabelle programmgesteuert neu zu verknüpfen, wenn die Access-Datenbank geöffnet wird, wie hier beschrieben:
Update an Access Link Table when the underlying SQL Server table's columns change
Gruß,
Ivan DragovBitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Moderator Montag, 9. Mai 2022 10:02
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Moderator Mittwoch, 18. Mai 2022 14:15
Alle Antworten
-
Hallo NicoNi,
Wenn Du Änderungen am Entwurf vornehmen möchtest, nimmst Du normalerweise diese in der SQL Server-Datenbank vor. Damit die Entwurfsänderungen in Access angezeigt werden, aktualisierst Du die verknüpften Tabellen:
- Wählst Du Externe Daten > Tabellenverknüpfungs-Manager aus.
- Markierst Du alle verknüpften Tabellen, die Du aktualisieren möchtest, wählst Du OK und dann Schließen aus.
Importieren von oder Verknüpfen mit Daten in einer SQL Server-Datenbank > Aktualisieren des Entwurfs der verknüpften Tabelle
Es gibt auch eine Möglichkeit in VBA, die Tabelle programmgesteuert neu zu verknüpfen, wenn die Access-Datenbank geöffnet wird, wie hier beschrieben:
Update an Access Link Table when the underlying SQL Server table's columns change
Gruß,
Ivan DragovBitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Moderator Montag, 9. Mai 2022 10:02
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Moderator Mittwoch, 18. Mai 2022 14:15
-
Hallo,
Wenn du nach der Aktualisierung des Links keine neuen Zeilen mehr eingeben kannst, liegt es meist daran, dass die Tabelle keinen Primärschlüssel und/oder kein Feld vom Typ TimeStamp enthält.
Für die Aktualisierung verwendest du am besten den Tabellenverknüpfungsmanager, wie Igor schon schrieb. Was die Verknüpfung per VBA angeht, stell bitte sicher, dass du nicht den Treiber "SQL Server" verwendest (siehe Beispiel in Igor's Link), denn der ist über 20 Jahre alt, kennt keine neuen Datentypen und ist nicht performance-optimiert.
Der aktuellste Treiber z. Zt. ist ODBC Driver 18 for SQL Server.
Gruss - Peter
Mitglied im www.dbdev.org
Access-FAQ: www.donkarl.com- Bearbeitet Peter DoeringMVP, Moderator Mittwoch, 4. Mai 2022 16:33
- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Moderator Montag, 9. Mai 2022 10:02
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Moderator Mittwoch, 18. Mai 2022 14:15
-
Microsoft SQL Server ODBC-Treiber Version 10.00.19041 meldet der Treiber.
Da bin ich ja scheinbar mächtig hintendran.
Kann ich einfach diesen neuen Treiber laden und installieren?
Ja, klar. Die neuen Treiber haben volle Rückwärtskompatibilität. Ausserdem, der neue ist ein anderer Treiber, er wird zusätzlich installiert. Der vorhandene wird nicht gelöscht.
Gruss - Peter
Mitglied im www.dbdev.org
Access-FAQ: www.donkarl.com- Bearbeitet Peter DoeringMVP, Moderator Mittwoch, 4. Mai 2022 16:33
- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Moderator Montag, 9. Mai 2022 10:02
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Moderator Mittwoch, 18. Mai 2022 14:16