Office: (Office 2000) Datenbanken abgleichen ohne Replikation

Helfe beim Thema Datenbanken abgleichen ohne Replikation in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallöle*winken alle zusammen, haatte viel Arbeit, daher hat's ne Weile gedauert. Hab mal ein Beispiel beigefügt. Ich würde gern noch: 1.) Nur die... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von witschi1, 1. Oktober 2009.

  1. Datenbanken abgleichen ohne Replikation


    Hallöle*winken alle zusammen,

    haatte viel Arbeit, daher hat's ne Weile gedauert. Hab mal ein Beispiel beigefügt.

    Ich würde gern noch:

    1.) Nur die neuen Datensätze exportieren, die noch nicht exportiert wurden. Dies muss auch sicher stellen, dass – wenn mehrmals auf „Exportieren“ geklickt wird – diese neuen Datensätze dann an die bestehenden Datensätze in den Excel-Tabellen angefügt werden, aber keine doppelten Datensätze erzeugt werden.

    Da muss ich noch ein bischen dran basteln.

    2.) Super wäre, wenn man beim Import feststellen könnte, welche Datensätze schon drin sind (falls auch hier mehrmals auf „Importieren“ geklickt wird).

    Hat jemand eine Ahnung, wie ich die Fehlermeldung (siehe unten) weg bekommen? Die taucht auf, wenn ich auf "Importieren" klicke.
     
    witschi1, 8. Oktober 2009
    #16
  2. Eins vorweg: Deine DB hab' ich nicht angeschaut.
    Um nur die neuen DS zu exportieren könntest Du in Deiner Tabelle einen Zeitstempel mitführen, also ein Feld, dem Du als Standardwert "now()" zuordnest.
    Bei jedem Export legst Du in einer anderen Tabelle den Maximalwert der exportierten Zeitstempel ab. Der nächste Export umfaßt dann nur die DS, deren Zeitstempel größer als dieser Wert ist.
    Beim Import ist die Sache ganz einfach, falls Du einen eindeutige Id für Deine DS hast. Wenn in der Zieltabelle diese Id auf "Duplikate: nein" steht kann gar nix passieren. Doppelte Werte werden nicht zugelassen.
    Bezgl. Deiner Fehlermeldung: lies doch einfach was da steht. Das Feld gibt's nicht aber Access soll da was reinschreiben.
     
    achtelpetit, 8. Oktober 2009
    #17
  3. Hallo und danke für die Antwort,
    Stimmt im Prinzip. Ich mußte aber bei einigen Tabellen "Duplikate" zulassen. Gibt es ev. eine Funktion, die gezielt nach meinen vorgegebenen Autowerten sucht und feststellt, welche schon vorhanden sind?

    Ich habe mal eine Funktion gesehen, weiß nicht mehr wo, die mittels Kontrollkästchen festlegt, welcher Datensatz bereits angesprochen wurde. Muss mal noch mal suchen.

    Hab ich schon, eigentlich spreche ich ja das genannte Feld gar nicht an. Aber vielleicht haste recht, manchmal sieht man ja die Bäume vor lauter Wald nicht*biggrin.gif*
     
    witschi1, 8. Oktober 2009
    #18
  4. Datenbanken abgleichen ohne Replikation

    Nein, das mußt Du nie. Kein Mensch (und schon garnicht Access) hindert Dich, ein beliebig befülltes Schlüsselfeld in jeder Tabelle zu haben. Dieses Feld hat unter Umständen gar nix mit den eigentlichen "Nutzdaten" zu tun sondern es dient ausschließlich datzu, jedem DS einen "Eigennamen" zu geben. Die einfachste Lösung für so einen sog. Surrogatschlüssel ist ein Autowert.

    Mein Vorschlag, einen Zeitstempel zu vergeben ist einfacher und sicherer. Denn woher willst Du wissen, ob das Ja/Nein-Feld beim 1., 2. oder 3. Export-Versuch angekreuzt wurde?
    Falls tatsächlich mal ein Export wiederholt werden muß, woran willst Du erkennen, welche DS betroffen sind?

    Du irrst Dich. Der Computer hat immer Recht und macht niemals Fehler. ((Dieser Satz gilt mindestens bis zum erfolgreichen Abschluß eines Informatikstudiums. (Nicht ganz ernst gemeint aber stimmt trotzdem))
     
    achtelpetit, 9. Oktober 2009
    #19
  5. \@Thomas

    Da hast Du sicherlich Recht!

    Mein Prof. für Theoretische Informatik sagte einmal:

    aus tiefster Seele, als er uns die Chomsky-Hierarchie näherbrachte *tongue.gif*
     
    sw-blitz007, 9. Oktober 2009
    #20
  6. Damit keine Mißverständnisse auftreten: ich hab' kein Informatikstudium absolviert (und ich weiß nicht mal was eine Chomsky-Hierarchie ist). Klingt aber toll!
     
    achtelpetit, 9. Oktober 2009
    #21
  7. Hallo,
    hier geht es ja heiß her, Ich habe auch nicht Informatik studiert*rolleyes.gif*, das hätte aber sicher manchmal nicht schaden können,*Smilie finde ich.
    Den Zeitstempel mitzuführen ist ja relativ einfach. Hat auch den Voreil, dass bei weiteren Exporten auch die nachträglichen Änderungen mit eingepflegt werden können.

    Trotzdem bleiben bei mir ein paar Fragen offen:

    1. Sollte ich den Zeitstempel in jeder Tabelle führen, die später importiert/ exportiert wird?

    2. Wie setze ich das (mit meinen rudimentären VBA-Kenntnissen) um, dass das Programm später allein erkennt, welcher Datensatz der aktuellste ist?
     
    witschi1, 11. Oktober 2009
    #22
  8. Datenbanken abgleichen ohne Replikation

    Hallo,

    IMO ja, sonst weißt Du (oder besser Dein Programm) ja nicht, welche DS bereits
    exportiert wurden.

    Meinst Du hier den Export in eine Textdatei, welche dann in Dein zentrales BE
    eingelesen wird?
    Wenn ja, nimm doch den Vorschlag von Thomas.
    Exportiere nur all diejenigen Datensätze, deren Zeitstempel größer ist wie
    der Zeitpunkt des letzten Datenexports (hier über eine Zusatztabelle zu ermitteln).

    "Umgangssprachlich" formuliert vielleicht so:

    Code:
     
    sw-blitz007, 11. Oktober 2009
    #23
  9. Hallo Michael,

    dat klingt nicht schlecht. Da werde ich mich mal ranmachen. Vielen Dank erstmal für die Tipps.
     
    witschi1, 11. Oktober 2009
    #24
  10. *smashing Hallo, ich habe ein erneutes Problem.*entsetzt
    Habe vorstehenden Tipp (FAQ 2.3) in mein Formular (Nach Akualisierung) eingebaut. Das Eintragen des Datums und Users fkt. aber nur, wenn ich einen neuen Datensatz angelegt habe und nicht bei Änderungen.*entsetzt Andere Anweisungen, die das verhindern, sind eigentlich nicht vorhanden. Hat jemand vielleicht eine Idee?
     
    witschi1, 11. Oktober 2009
    #25
  11. Führe ein gebundenes Textfeld einfach im Formular mit, gerne unsichtbar. Dann kannst Du im Form_BeforeUpdate eine einfache Wertzuweisung an dieses Feld vornehmen.

    Zu beachten ist weiter, dass Datensätze auch durch Recordsetaktionen und durch Aktionsabfragen geändert oder auch neu angelegt werden können. Auch bei diesen Fällen wäre die Aktualisierung des Zeitstempels vorzunehmen.
     
  12. Hallo Eberhard,
    danke dir.

    Manchmal ist man aber auch blöd und blind gleichzeitig. Ich hatte diese Anweisung in das Hauptformular geschrieben. Logischerweise haut es dann bei Änderungen im Unterformular nicht mehr hin *stupid Wie sagt man so schön "Erst denken, dann heulen".
     
    witschi1, 11. Oktober 2009
    #27
  13. Datenbanken abgleichen ohne Replikation

    So, das Setzen eines Zeitstempels in jeder Tabelle habe ich jetzt im Griff.*Smilie

    Das Exportieren der Tabellen in eine gemeinsame Excel-Datei fkt. auch reibungslos, es wird für jede Access-Tabelle ein eigenes Tabellenblatt in einer Excel-Datei angelegt.

    Nur beim Import gibts ein Problemchen.
    greift offensichtlich immer nur auf das erste Tabellenblatt zu. Ich würde aber zum Verschicken der Daten gern nur eine Datei behalten.

    Gibt es eine Funktion, mit der man die einzelnen Tabellenblätter direkt "ansprechen" kann? Die Struktur der Daten ist/ bleibt immer gleich.

    Ich glaube, dass bei vielen Daten der Export immer auch etwas dauern kann. Kann man den Fortschritt von Export/ Import der Daten von Excel und zurück auch anzeigen, damit dem Endnutzer nicht der Geduldsfaden reisst?
     
    witschi1, 11. Oktober 2009
    #28
  14. Hallo,

    IMO kannst Du im Parameter Bereich den Excel-Tabellennamen mit angeben.
    Also so z. B.

    Code:
    Hab es aber nicht getestet, da gerade kein Office zur Hand *tongue.gif*
     
    sw-blitz007, 11. Oktober 2009
    #29
  15. Guten Morgen Michael,

    danke sehr. Kann ich jetzt auf Arbeit auch nicht probieren, aber werd' mich heute abend gleich ranmachen.
     
    witschi1, 11. Oktober 2009
    #30
Thema:

Datenbanken abgleichen ohne Replikation

Die Seite wird geladen...
  1. Datenbanken abgleichen ohne Replikation - Similar Threads - Datenbanken abgleichen Replikation

  2. Datenbank bleibt gesperrt - laccdb wird nicht gelöscht

    in Microsoft Access Hilfe
    Datenbank bleibt gesperrt - laccdb wird nicht gelöscht: Hallo zusammen, ich betreue eine Datenbank mit getrenntem Back- und Frontend, die in einem Firmennetzwerk auf dem Netzlaufwerk liegt. Ich entwickle sie lokal weiter, ohne vor Ort zu sein, wobei...
  3. LostFocus der Datenbank?

    in Microsoft Access Hilfe
    LostFocus der Datenbank?: Moin, gibt es das LostFocus-Event auch für die Datenbank, z.B. wenn man vom Formular zu Minesweeper wechselt? Oder entzieht Windows dem verlassenen Task sämtliche Aufmerksamkeit? Gruß Doming
  4. Problem Datenstruktur Mitglieds-Datenbank

    in Microsoft Access Hilfe
    Problem Datenstruktur Mitglieds-Datenbank: Hallo Leute, Ich habe eine Frage zu einer Vereins-Mitglieder-Datenbank, die ich erstelle. Die Vereinsmitglieder sind in einer Tabelle erfasst, also Nachname, Vorname, usw. Und es gibt einen...
  5. Auslesen Windowsbenutzer in einer Datenbank

    in Microsoft Access Hilfe
    Auslesen Windowsbenutzer in einer Datenbank: Hallo zusammen, wie kann ich auslesen, welcher Windows Benutzer gerade aktuell in einer Datenbank ist? Geht das? Danke Matthias
  6. Datenbank "Ausfahrtenerfassung" Rudern

    in Microsoft Access Hilfe
    Datenbank "Ausfahrtenerfassung" Rudern: Guten Abend zusammen Ich habe mich entschlossen unsere Papierversion der der Ausfahrtenerfassung unseres Ruderclubs zu aktualisieren. Ich habe also zwei neue Tabellen erstellt. T_FAHRTENBUCH und...
  7. Daten aus Datenbank mit einer Liste abgleichen

    in Microsoft Excel Hilfe
    Daten aus Datenbank mit einer Liste abgleichen: Hallo, bin noch Excelneuling und bräuchte mal Hilfe. Bin dabei für die Firma was zu basteln. Eine Art Erlaubnisschein für Fremdfirmen. Bin schon so weit das die Erlaubnisscheine in eine...
  8. lokale Datenbank mit Internet abgleichen

    in Microsoft Access Hilfe
    lokale Datenbank mit Internet abgleichen: Hallo, folgende Herausforderung: Ich habe eine Kontakt-Datenbank auf dem Rechner. Die Datenbank gebe ich an meine Kollegen weiter. Die sollen ebenfalls an der Datenbank mitarbeiten. Kann ich die...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden