Office: (Office 2007) Änderungsdatum beim importieren möglich

Helfe beim Thema Änderungsdatum beim importieren möglich in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, habe auf einem Formular außer meinen Datenbankfeldern noch zwei zusätzliche Felder angelegt für : Datensatz angelegt am : Datensatz geändert... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Jockel2000, 16. Juli 2016.

  1. Änderungsdatum beim importieren möglich


    Hallo,

    habe auf einem Formular außer meinen Datenbankfeldern noch zwei zusätzliche Felder angelegt für :

    Datensatz angelegt am :
    Datensatz geändert am :

    Wenn ich einen Datensatz über das Formular neu anlegen oder einen bestehenden DS ändere, dann wird über das Change Ereignis ein Zeitstempel für den entsprechenden DS gesetzt und ich kann sehen, wann er neu angelegt , bzw. geändert wurde.

    Beim Importieren von Daten mit einer Excel Liste habe ich es nur hinbekommen, dass ein Datum in das Feld "Datensatz angelegt am :" geschrieben wird, wenn ein Datensatz NEU hinzu kommt.

    (Beim Datumsfeld: Standardwert = JETZT und Datumsauswahl anzeigen = NIE)

    Passt.

    Wie geschrieben, wird auch bei einer Änderung über das Formular der Zeitstempel angepasst.
    Leider habe ich nichts im Net gefunden, wie man das Änderungsdatum eines DS setzen kann, wenn ein bestehender DS bei einem Excel Import verändert wird.

    Hat jemand eine Idee oder weiß, wie man das machen kann ?

    Danke mal
    Jockel

    :)
     
    Jockel2000, 16. Juli 2016
    #1
  2. Moin,
    verstehe ich das richtig, "Importieren" heißt, du überschreibst die vorhandenen Datensätze mit den Daten aus der Excel-Liste?
    Dabei lässt sich nicht so ohne weiteres feststellen, welcher Datensatz geändert und welcher einfach ohne Änderungen überschrieben wird - es sei denn, die Excel-Liste enthält nur geänderte bzw. neue Daten. Ist das so?
    maike
     
    maikek, 17. Juli 2016
    #2
  3. Moin,
    beim Import wird nichts geändert, sondern es wird entweder ein neuer Datensatz angelegt oder das Einfügen abgelehnt.
     
    drambeldier, 17. Juli 2016
    #3
  4. Änderungsdatum beim importieren möglich

    Hallo Maike,

    Jain,

    kennst du von Volker Raschke die Access - NowHow-Toolsdatenbank ?

    Darin gibt es ein Beispiel, wie man per VBA Excel-Listen direkt in einer Access Datenbank hochladen kann und Daten importiert werden bzw. bestehende Datensätze abgeglichen werden.

    Der Import selber wird nicht über die Importfunktion von Access gemacht, sondern ist programmiert .
    Der Code ist (für mich allerdings ) sehr komplex. Hatte damals kein anderes Beispiel gefunden, mit dem ich so was machen kann.

    Nun hatte ich gehofft, ich kann das mit einer Standard-Funktion machen.
    (wie beim erkennen von neuen Datensätzen)

    Dem scheint aber nicht so zu sein.
    Schade

    trotzdem Danke für deine Meldung

    Gruß
    Jockel
     
    Jockel2000, 18. Juli 2016
    #4
  5. Zur Klarstellung: Die legendäre KnowHow-Datenbank stammt von Klaus Oberdalhoff.

    Für den Zeitstempel eines neu angelegten Datensatzes braucht man eigentlich gar nichts weiter zu tun als in der Tabelle einen Standardwert mit Now() anzulegen und ansonsten an dem Feld gar nichts tun, z.B. im Formular für Editierungen sperren.

    Ansonsten: Grundlagen - SQL ist leicht (4) - Aktualisierung einer Tabelle

    Bei einer UPDATE-Aktion, ersatzweise bei einem Recordset-Edit oder einer Aktion im gebundenen Formular beim Form_BeforeUpdate würde man dann auch den Wert im Geändert-Feld ersetzen.
     
    ebs17, 18. Juli 2016
    #5
  6. Es gibt auch eine Tools-Datenbank von Volker Raschke, ich schätze, die ist hier gemeint.
    Der Code darin ist allerdings wirklich komplex, ich würde mir da was Übersichtlicheres suchen/schreiben.
    maike
     
    maikek, 18. Juli 2016
    #6
  7. Hallo Eberhard,

    ich mein wirklich die Tools-Datenbank von Volker Raschke.

    Wie ich in meinem ersten Beitrag geschrieben habe, habe ich das ja gemacht, dass das Datum beim importieren eines neuen DS gesetzt wird.

    (Beim Datumsfeld: Standardwert = JETZT und Datumsauswahl anzeigen = NIE)

    Das war auch nicht das Problem. Es ging nur um das updaten eines DS per VBA. Wie ich ja auch schon geschrieben habe, ist der Code in dem Beispiel sehr komplex (zumindest für mich als Nicht-Experte)

    Bitte jetzt aber nicht wieder schreiben, man soll nur mit Beispielen arbeiten, die man selber auch versteht, das weiß ich selber.
    Leider hatte ich, als ich mit meiner DB angefangen habe, nichts vergleichbares und einfacheres gefunden.

    Aber egal, werde auch ohne das Datum auskommen. Die Erde dreht sich weiter *Smilie

    Danke
    Jockel
     
    Jockel2000, 18. Juli 2016
    #7
  8. Änderungsdatum beim importieren möglich

    Moin,
    was mir noch nicht klar ist, das Beispiel importiert die Daten in eine Tabelle, die vorher geleert wird.
    Wie sieht der Import bei dir genau aus?
    Gibt es eine temporäre Tabelle, in die du die Daten erstmal schreibst und dann per Abfrage (Anfüge- bzw. Aktualisierungsabfrage) auf die echten Tabellen verteilst?
    Da könnte man ansetzen.
    maike
     
    maikek, 18. Juli 2016
    #8
  9. Hallo Maike,

    also, soweit ich das sehe (ich gehe mal von der Funktionsweise aus) arbeitet der Code ohne temporäre Tabelle. Es scheint auch nicht so zu sein, daß der Code beim Einlesen einer Excel Tabelle die Datensätze einfach nur alt gegen neu ersetzt.
    Es scheint schon eine gewisse Logik dahinter zu stecken.

    Wenn ich eine Excel-Tabelle einlese, die sagen wir mal einen Datensatz hat, und der Datensatz hat in der Spalte ID (ist in meiner Datenbank eine Replikations-ID) keinen Eintrag drin, ist das für die Datenbank ein neuer Datensatz , der dann auch neu angelegt wird.

    Wenn ich eine Excel-Tabelle einlese, auch wieder nur einen Datensatz, dieser Datensatz hat dieses mal in der Spalte ID eine, in der Datenbank bekannte Replikations-ID drin, scheint es eine echte Synchronisierung oder Updaten zu geben. Der Datensatz wird nicht nur einfach ausgetauscht, sondern alle Zellen, in denen was anderes drin steht, wie im Datensatz der Datenbank, werden aktualisiert.

    Angenommen, mein DS in der Datenbank hat neben der Replikations-ID noch weiter 30 Spalten. Eine dieser Spalten heißt zum Beispiel "Ansprechpartner". In diesem Feld steht bisher nichts drin oder zB. "Herr Müller"
    Wenn ich nun eine Excelliste in die Datenbank hochlade, in der es in der Spalte ID wieder eine bekannte Replikations-ID gibt und Beispielsweise in der Spalte ANSPRECHPARTNER steht "Fr. Merkel" drin (alle anderen Spalten des Datensatzes sind ohne Inhalt) , dann steht nachher in meiner Datenbank in dem Datensatz mit der selben Replikations-ID im Feld ANSPRECHPARTNER auch "Fr. Merkel" drin.
    Der Code hat die Replikations-ID in der Datenbank gefunden (darum nicht als neuer DS angelegt) und hat das Feld ANSPRECHPARTNER überschrieben.

    Aber eben nur dieses eine Feld. Es ist dann nicht so, dass mein Datensatz in der Datenbank nur noch im Feld ANSPRECHPARTNER einen Eintrag hat und alle anderen Sind LEER. (was passieren würde, wenn ich einfach nur den Datensatz austauschen oder komplett überschreiben würde)

    Daraus schließe ich, das es eine gewisse Update Funktion gibt. Habe den Code zwar schon oft durchforstet, komme aber nicht dahinter, WO und WIE der Code erkennt, dass sich gerade in der einen Zelle was geändert hat.

    Also nur ein reiner Austausch findet da nicht statt und alle anderen Datensätze in der Datenbank sind dann auch noch da, auch wenn ich in meiner Excel nur EINEN Datensatz zum einlesen hatte.
    Von daher kann ich mir nicht vorstellen, das der alte Bestand vor dem Importieren erst mal geleert wird und eine Temporäre Tabelle finde ich nicht.

    Aus jeden fall ein interessanter Code.
    Soviel zur Arbeitsweise.

    Gruß
    Jockel
     
    Jockel2000, 18. Juli 2016
    #9
  10. Stimmt *wink.gif* . Allerdings hab' ich im Moment nicht die Zeit zum genauen "Durchforsten" der ganzen involvierten Module, Subs und Funktionen ...
    Wenn das Änderungsdatum dir wichtig ist, könntest du die bestehenden Datensätze vor dem Import in eine temporäre Tabelle übertragen und dann mit den neuen Daten vergleichen, um die Änderungen herauszufinden.
    maike
     
    maikek, 19. Juli 2016
    #10
  11. Hi,
    vielleicht kannst du mal einen Tipp geben, welche Prozeduren dabei überhaupt angestoßen werden, dann könnte man sich mal ein wenig einlesen...

    PS:
    Das typische Merkmal temporärer Tabellen ist, dass sie nach Gebrauch wieder gelöscht werden. *tongue.gif*

    PS-2:
    Im Formular FO_S_Import einfach mal die Kommentare lesen...
     
    MaggieMay, 19. Juli 2016
    #11
  12. Hallo Maggie,

    ich habe mir mal die Mühe gemacht und habe versucht, alles aus der Beispieldatei heraus zu schmeißen, was nicht zu der Funktion gehört.

    Es beinhaltet nur noch ein Formular mit ein paar Funktionen (soweit es halt ging)

    Würde es was bringen, wenn ich diese Datei mal hoch lade ?

    Jockel

    PS . ich bin mir nicht sicher, ob das Formular FO_S_Import zum ausführen der Funktion gehört, es geht auch ohne diesem Formular
     
    Jockel2000, 19. Juli 2016
    #12
  13. Änderungsdatum beim importieren möglich

    Einen Versuch wäre es wohl wert. Vorher bitte kompilieren, dann mit Access komprimieren und dann erst zippen.
     
    MaggieMay, 19. Juli 2016
    #13
  14. Mist, Datei hat verzippt immer noch 428k, man kann aber nur knapp 300 hochladen.
    Muss mal schauen, was ich machen kann
     
    Jockel2000, 19. Juli 2016
    #14
  15. Hallo,
    hast Du die DB auch komprimiert/repariert (Access Dienstprogramm) ?
     
    gpswanderer, 19. Juli 2016
    #15
Thema:

Änderungsdatum beim importieren möglich

Die Seite wird geladen...
  1. Änderungsdatum beim importieren möglich - Similar Threads - Änderungsdatum importieren

  2. Neuste&Geänderte Datensätze drucken

    in Microsoft Access Hilfe
    Neuste&Geänderte Datensätze drucken: Es bezieht sich jetzt zwar auf keinem aktuellen Projekt, aber mich würde mal interessieren, wie man es am geschicktesten einrichtet, dass bei einem Bericht nur geänderte und/oder neue Datensätze...
  3. Zelle soll Änderungsdatum bekommen wenn andere Zelle geändert wird

    in Microsoft Excel Hilfe
    Zelle soll Änderungsdatum bekommen wenn andere Zelle geändert wird: Hallo, ich habe eine Tabelle, in der ich in Spalte Y das Tagesdatum haben möchte wenn in Spalte X der Wert geändert wurde. Das Datum in Y soll immer der letzten Änderung in X entsprechen. Ich...
  4. Änderungsdatum einer Datei auslesen

    in Microsoft Excel Hilfe
    Änderungsdatum einer Datei auslesen: Hallo zusammen, ich möchte in Excel VBA ein Makro haben, das mir das Änderungsdatum einer anderen Datei ausliest. Bei der Google-Suche habe ich ein paar Skripte gefunden, die das Erstellungsdatum...
  5. Ordner auslesen, Änderungsdatum, erstellt am...

    in Microsoft Excel Hilfe
    Ordner auslesen, Änderungsdatum, erstellt am...: Moin Zusammen, ich habe eine VBA Formel die solangsam an Ihre Grenzen angelangt ist. Dieses Makro liest einen Order aus und gibt gleichzeitig das Erstellungsdatum, Zuletzt geändert und letzter...
  6. Excel Änderungsdatum von Zellen anzeigen

    in Microsoft Excel Hilfe
    Excel Änderungsdatum von Zellen anzeigen: Also im Zuge meiner Diplomarbeit müssen wir ein Excel Sheet führen wo wir unseren Vorschritt protokollieren können. In diesem Excel Sheet haben wir mehrere Seiten wo ich auf jeder gern das...
  7. VBA: Problem beim Änderungsdatums in der aktive Zelle

    in Microsoft Excel Hilfe
    VBA: Problem beim Änderungsdatums in der aktive Zelle: Hallo an alle Tüftler... Da ich durch mein altes thread nun mehrere Lösungsansätze gewonnen habe möchte ich nun zur Optimierung ein neues eröffnen. Mein Wunsch ist nach wie vor ein...
  8. Ordner nach Dokument mit gewissen Änderungsdatum durchsuchen

    in Sonstiges
    Ordner nach Dokument mit gewissen Änderungsdatum durchsuchen: Hallo, ich habe mal eine Frage. Kann ich einen Ordner mit mehreren Unterordnern und Dokumenten so durchsuchen, dass ich nur Dokumente angezeigt bekomme, deren Aänderungsdatum vor einem gewissen...
  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