1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Update von Tabellen in Access

Discussion in 'Office-Programme' started by qutx, Jan 31, 2009.

Thread Status:
Not open for further replies.
  1. qutx

    qutx Byte

    Hallo und guten Morgen!
    Ich habe folgendes Problem: Ich habe zwei sehr große abhängige Tabellen (tbl_1 und tbl_2) als Kopie lokal in einem Backend hinterlegt. Diese Kopien werden mittels einer ausgelagerten Query von einer externen Quelle laufend aktualisiert (Records werden gelöscht und neu erstellt).

    Da auf die Tabellenlaufendzugegriffen wird, habe ich im Updatevorgang immer eine Errormeldung bekommen, wenn ein Datensatz gerade in "Benutzung" war. Als vorrübergehende Lösung habe ich je eine Kopie in der gleichen DB erstellt (tbl_1_tmp und tbl_2_tmp), auf die ich die Änderungen vornehme.
    Dann die geänderten Tabellen erneut geklont (tbl_1_tmp2 und tbl2_tmp2).

    Mein VBA versucht nun die ursprünglichen Tabellen zu löschen und die tmp2 Tabellen entsprechend umzubenennen.
    (Warum? Der Kopiervorgang dauert sehr lange - so groß sind die Tabellen)

    Ziel ist es, zwei gleiche Paare zu haben (auf die tmps werden dann wieder die nächsten Änderungen vorgenommen, usw...)

    Nun meine Frage: Diese Vorgehensweise ist ja sehr ineffektiv und braucht massig Ressourcen (die DB enthält die selben Tabellen ja bis zu drei Mal...). Gibt es eine bessere Methode? vielleicht die temporären mit den "richtigen" zu verlinken, dass diese sich automatisch aktualisieren?

    Bin für jeden Tip dankbar!

    Gruss, qutx
     
  2. Hascheff

    Hascheff Moderator

    Lokale Kopien sind natürlich nicht gut, aber du wirst schon einen Grund haben.

    Wie wäre es, wenn du nur geänderte Datensätze ersetzt? Wenn die Tabellen sehr groß sind, ist es relativ unwahrscheinlich, dass die Fehlermeldung kommt.
     
  3. qutx

    qutx Byte

    Hallo nochmal, ich glaube ich habe das Problem gelöst ;) Bei der Analyse der Daten (leider gibt es keine genaue Beschreibung dazu...) habe ich festgestellt, dass wohl nie alte Datensätze verändert werden, und bei Änderungen nur neue DS mit "Link" auf den alten generiert werden. Ich muss also nur neue DS erstellen, die noch nicht existieren und demnach auch nicht gelockt sein können :) Da aber meine Nutzer nur lesen müssen, könnte ich aber auch zwei Nutzergruppen erstellen (normale Nutzer, nur Leseberechtigt und einen Updatefähigen Nutzer). Die normalen Nutzer könnten ja die DS dann auch nicht mehr sperren, oder?

    Ach ja lokale Kopien brauche ich, da die Übertragungswege einfach zu lang sind.

    Danke und Gruss,
    qutx
     
  4. Hascheff

    Hascheff Moderator

    Hallo qutx,
    deinen Thread habe ich zwischenzeitlich aus den Augen verloren. :sorry:
    Ich glaube nicht.

    Gruß Hascheff
     
Thread Status:
Not open for further replies.

Share This Page