none
Verknüpfte Tabellen aktualisieren - wie am besten RRS feed

  • 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?

    Montag, 2. Mai 2022 13:12

Antworten

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:
    1. Wählst Du Externe Daten > Tabellenverknüpfungs-Manager aus.
    2. Markierst Du alle verknüpften Tabellen, die Du aktualisieren möchtest, wählst Du OK und dann Schließen aus.
    Die Dokumentation zu diesem Thema kannst Du hier einsehen:
    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 Dragov

    Bitte 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.

    Dienstag, 3. Mai 2022 07:55
    Moderator
  • 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


    Mittwoch, 4. Mai 2022 09:35
    Moderator
  • Das werde ich mal überprüfen.

    Das Projekt ist über 15+ Jahre gewachsen und ich stosse mehr und mehr auf Ungreimtheiten - wahrscheinlich das Schicksal vieler Anwendungen.

    Mittwoch, 4. Mai 2022 09:50
  • So, ich habe mal nachgeschaut:

    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?

    Mittwoch, 4. Mai 2022 10:42

  • 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


    Mittwoch, 4. Mai 2022 16:33
    Moderator