Office: (Office 2016) Datensatz mit Unterformular duplizieren

Helfe beim Thema Datensatz mit Unterformular duplizieren in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo! Ich habe eine Tabelle "Stamm" und eine Tabelle "Inhalt". Die beiden Tabellen sind über "StammID" verknüpft. In einem Hauptformular mit "Stamm"... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von jabra1307, 10. Mai 2016.

  1. Datensatz mit Unterformular duplizieren


    Hallo!

    Ich habe eine Tabelle "Stamm" und eine Tabelle "Inhalt". Die beiden Tabellen sind über "StammID" verknüpft.

    In einem Hauptformular mit "Stamm" und einem Unterformular mit "Inhalt" gebe ich Daten ein.

    Nun möchte ich gerne einen Button haben, der es mir ermöglicht die Datensätze aus dem HF zusammen mit den Daten aus dem UF zu kopieren.

    Dazu habe ich einen Code gefunden und versucht ihn auf meine Bedürfnisse umzubasteln.

    Nur leider funktioniert das nicht ganz: die Daten aus dem UF werden zwar kopiert, aber beim einfügen wird bei "StammID" nicht die neu erzeugte ID eingefügt, sondern die des Ursprungsdatensatzes.

    Da kommt quasi dabei raus:

    Datensatz 1: Stamm: 123; Inhalt: abc

    dann kopiere ich über meinen Button und erhalte:

    Datensatz 1: Stamm: 123; Inhalt: abc, abc
    Datensatz 2: Stamm: 123; Inhalt:

    Würde mich sehr über Hilfe freuen.

    Code:
    :)
     
    jabra1307, 10. Mai 2016
    #1
  2. Hallo,
    wie der Name schon sagt, sind Stammdaten die Stammdaten und somit feststehend. Wozu sollen diese kopiert werden und das auch noch mit den n-Datensätzen ?

    Vielleicht gibt es ja ganz andere Lösungen.
     
    gpswanderer, 12. Mai 2016
    #2
  3. Zum Erstellen von Rechnungen.

    In der Tabelle "Stamm" sind Felder wie "Kunde", "Leistung", "Datum", etc enthalten.

    In der Tabelle "Inhalt" sind die eigentlichen abzurechnenden Leistungen drin.

    Ich habe jeden Monat "wiederkehrende Rechnungen" bei welchen sich nur sehr wenig am eigentlichen Inhalt ändert und es würde mir die Arbeit extrem erelichtern, wenn ich den gesamten Datensatz aus dem Vormonat einfach kopieren könnte um kleiner Änderungen für den aktuellen Monat zu machen.
     
    jabra1307, 12. Mai 2016
    #3
  4. Datensatz mit Unterformular duplizieren

    Hallo,
    kopiere mit 2 Anfügeabfragen und nicht mit den Menübefehlen ( DoCmd.DoMenuItem), die sind unbrauchbar, weil man Menüs ändern kann und die Befehle dann nicht mehr gefunden werden.
    Was ich aber nicht verstehe ist das:
    Eine ID ist der Primärschlüssel und ein Primärschlüssel ist eindeutig, wenn die Tabelle korrekt ist, dürfte sich die gleiche ID (123) gar nicht anfügen lassen. Kannst Du das mal erklären.

    Normalerweise hat man als ID einen Autowert, wenn man jetzt per Anfügeabfrage kopiert, lässt man diesen Autowert weg, es wird dann automatisch hochgezählt.

    Mit der 1.Anfügeabfrage kopierst Du den Stammdatensatz.
    Mit der 2. Anfügeabfrage koppierst Du die Details, dabei muss der Fremdschlüssel (die ID des neu kopierten Stammdatensatzes) ebenfalls gefüllt werden.
     
    gpswanderer, 12. Mai 2016
    #4
  5. Die "StammID" ist der Fremdschlüssel.
    Primärschlüssel Tabelle Stamm: "ID"
    Primärschlüssel Tabelle Inhalt: "InhaltID"

    Mein Problem ist genau das. Nämlich dass in meinem Code der Fremdschlüssel nicht in das Feld "StammID" kopiert wird, sonder eben der des "alten" Datensatzes.

    http://www.bilder-upload.eu/show.php...1463067266.png
     
    jabra1307, 12. Mai 2016
    #5
  6. Hi,
    das sollte uns nicht wundern:
    Code:
    Schau mal, wo sichID herkommt.

    Gruß
    Ralf
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    drambeldier, 12. Mai 2016
    #6
  7. Hi,

    komm jetzt nicht ins Grübeln, ich bin nicht sicher, ob ich Deine Absicht überhaupt verstanden habe.

    Wohin soll denn StammID zeigen? Am Parent hat sich nichts geändert, somit muss doch in der Kopie das Gleiche stehen wie in der Quelle - odrr?

    Gruß
    Ralf
     
    drambeldier, 12. Mai 2016
    #7
  8. Datensatz mit Unterformular duplizieren

    Hallo,

    die Lösung findest du mAn in diesem Beitrag:
    Nach dem Einfügen des Stammdatensatzes kannst du die dabei vergebene Autowert-ID folgendermaßen abfragen Code:
    und anstelle der "sichID" beim nachfolgenden Insert einsetzen.

    siehe auch: http://www.access-im-unternehmen.de/589.0.html
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    MaggieMay, 12. Mai 2016
    #8
  9. Ein Beispiel zum Kopieren eines Datensatzes mit zugehörigen abhängigen Datensätzen (zweimal 1:n-Beziehung) kannst Du hier finden:
    Kopie eines Datensatzes
     
    ebs17, 12. Mai 2016
    #9
  10. Vor lauter Frust, dass ich es partout nicht hinbekommen habe, habe ich die ganze Sache erst mal in die Ecke geschmissen. Nach ein paar Tagen hab ich mich aber noch mal drangesetzt und am Ende vor lauter Freude über den Erfolg vergessen Feedback zu geben, was ich hiermit gerne nachholen möchte:

    Folgender Code hat mir Glückseligkeit beschert:

    Code:
     
    jabra1307, 5. Juli 2016
    #10
  11. Hi,

    und so sähe das mit einer SQL-Lösung aus: Code:
    Auch eine Kombination aus beiden Verfahren, Recordset und SQL-Abfrage wäre möglich.

    PS:
    In der ersten Abfrage mit der Value-Liste müssen die Datentypen beachtet werden, Texte in Hochkommata, Datum formatiert, etc.
    Ich habe das mal nach Gutdünken eingesetzt, damit du siehst wie es geht, da ich die Datentypen deiner Datenfelder nicht kenne.
     
    MaggieMay, 5. Juli 2016
    #11
Thema:

Datensatz mit Unterformular duplizieren

Die Seite wird geladen...
  1. Datensatz mit Unterformular duplizieren - Similar Threads - Datensatz Unterformular duplizieren

  2. MS Access Formular: Datensatz duplizieren mit Unterformularen

    in Microsoft Access Hilfe
    MS Access Formular: Datensatz duplizieren mit Unterformularen: Hallo Ihr Lieben, ich bin ziemliche Anfängerin bei MS Access also nehmt es mir nicht übel, wenn ich Dinge falsch bezeichne etc. :) Ausganslage Ich hab ein Hauptformular (1) (Angaben zur...
  3. Datensätze im unterformular nach suche Filtern

    in Microsoft Access Hilfe
    Datensätze im unterformular nach suche Filtern: Hallo zusammen, ich bastele hier schon ne Weile rum und bekomme es einfach nicht hin... Ich habe eine Datenbank gebaut bei der ich im Hauptformular ein Unterformular gesetzt habe, weiter gibt es...
  4. Listenfeld in Unterformular soll auf Datensatz des Hauptformulars reagieren

    in Microsoft Access Hilfe
    Listenfeld in Unterformular soll auf Datensatz des Hauptformulars reagieren: Hallo zusammen, ich habe ein Problem, was durch einen erfahrenen Access Benutzer sicher schnell gelöst ist: Ich habe ein Hauptformular, das mit der Tabelle tblInvoices verknüpft ist. Diese...
  5. Im Unterformular bestehenden Datensatz auswählen

    in Microsoft Access Hilfe
    Im Unterformular bestehenden Datensatz auswählen: Hallo liebe Community Ich schlage mich seit Tagen mit der folgenden Thematik rum und komme nicht weiter. Eventuell denke ich völlig in die falsche Richtung, dass ich zu keinem Ergebnis komme....
  6. neuer datensatz in unterformular per button click mit festem wert einfügen

    in Microsoft Access Hilfe
    neuer datensatz in unterformular per button click mit festem wert einfügen: hallo ihr lieben, ich möchte gerne in einem unterformular einen neuen datensatz per befehlschaltfläche button click hinzufügen. es soll aber für ein bestimmtes feld des neuen datensatzes bereits...
  7. Datensatz im Unterformular suchen

    in Microsoft Access Hilfe
    Datensatz im Unterformular suchen: Hallo Zusammen Ich habe eine Formular mit einem Unterformular. Im Hauptformular kann ich Datensätze suchen bzw filtern. Also ich kann zum Beispiel in ein Textfeld eine Nummer oder Text eingeben...
  8. Datensätze duplizieren aus Haupt- und Unterformular

    in Microsoft Access Hilfe
    Datensätze duplizieren aus Haupt- und Unterformular: Hallo zusammen! Ich habe im Rahmen einer neu anzulegenden Datenbank ein Formular entwickelt , in dem aus einem Listenfeld ("List7") zwischen verschiedenen Baugruppen ausgewählt werden soll:...
  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