acider
Goto Top

Formular dublizieren mit Unterformularen

Guten Tag,

es geht um folgendes ich will Datensatz eines Formulars dublizieren UND die dazugehörigen Datensätze in den Unterformularen gleich mit.

Access bietet die Möglichkeit beim Anlegen eines Buttons einen Datensatz zu kopieren.

DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 2, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70 'Paste Append

Soweit so gut. Nur werden die dazugehörigen Datensätze der Unterformulare nicht kopiert.


Wie kann ich also die Datensätze der Unterformulare auf die frisch kopierten Unterformulare übertragen?

Vielen Dank für Ihre Hilfe.

Mit freundlichen Grüßen
Acider

Content-ID: 68863

Url: https://administrator.de/contentid/68863

Ausgedruckt am: 14.11.2024 um 07:11 Uhr

jato11
jato11 18.09.2007 um 10:43:15 Uhr
Goto Top
Hallo Acider,

Die Daten in den Unterformularen haben einen Bezug zum Hauptformular, mit dem Feld
kannst Du dann die Daten Filtern und über eine Anfügeabfrage kopieren.

kannst Du uns ein paar Infos mehr über Deine Datenbank geben?
Wieviele Unterformulare hast Du? Stammen die Daten aus einen oder mehreren Tabellen?
Sollen die Daten in eine neue order in eine vorhandene Tabelle geschrieben werden?
Wieviele Felder werden anschließend geändert und wie? Willst Du damit ein Backup erzeugen.

Viele Grüße
Torsten
Acider
Acider 18.09.2007 um 12:48:58 Uhr
Goto Top
Hallo Torsten,

vielen Dank schonmal.

Das Hauptformular hat 2 Unterformulare, die ihre Daten aus jeweils einer Tabelle bekommen.
Die Datenbank ist vereinfacht gesagt ein Rechnungssystem mit Artikelbezogenen Daten im Hauptformulare und die Unterformulare beschreiben mehr oder weniger eine "Von Topf zu Kostenstelle"-Situation.

Die meisten Posten sind fast identisch es ändern sich nur so kleinigkeiten wie Grund oder Rechnungs-Nr. Deswegen habe ich einen "Copy"-Button angelegt um es mir viel einfacher zu machen.

Das seltsame ist auch noch das er mir nach dem Kopiervorgang in den Unterformularen die gewünschten Daten anzeigt. Er speichert sie nur nicht. Ich hab geprüft ob ich mich im richtigen Datensatzbefinde und versucht durch einen .setfocus die Unterformulare "anzusprechen".
Ohne Erfolg.
Ich muss erst alle Werte dieser Unterformulare ändern damit es als neuer Datensazu gespeichert wird.
Alles sehr seltsam.

Weisst Du weiter?

Vielen Dank.

MfG
Damian
jato11
jato11 19.09.2007 um 21:01:17 Uhr
Goto Top
Hallo Acider,
ich würde das so machen.
Eine Tabelle (Lager) mit Artikel-Nr und den Artikeldaten (allgemeine Beschreibung)
Eine Tabelle (Lagerdetails oder Verwendung oder Rechnung) mit Artikel-Nr, Serien-NR, Lieferant, Kunde etc

Für das Hauptformular (Lager) erstelle ich eine Abfrage (Form_Lager) und
für das Unterformular (Lagerdetails) erstelle ich eine Abfrage (Form_LagerDetails)

Dann werden zwei Formulare erstellt (Lager und Lagerdetails)
Im Formular Lager füge ich das Unterformular Lagerdetails ein und Verknüpfe es mit
dem Hauptformular über das Feld Artikel-Nr.

Die Artikel werden nun im Hauptformular angelegt.
Im Unterformular (ich stelle es immer in Tabellenform da) brauche ich nur die Felder ausfüllen.
Dabei wird die Artikel-Nr automatisch vom Hauptformular übernommen und die Daten werden
in der Tabelle Lagerdetails gespeichert.

Es ist dabei nicht nötig die Daten zu kopieren. Wenn Du in Berichten Daten aus beiden Tabellen
benötigst erstelle eine weitere Abffrage, beide Tabellen einfügen und über die Artikel-Nr
verknüpfen (Alle Datensätze aus Lager und nur die Datensätze aus Lagerdetails, bei denen die
Inhalte der verknüpften Felder beider Tabellen gleich sind - 1/n Verknüpfung)

Eins darfst Du nicht machen, den Artikel im Lager löschen. Dann bekommst Leichen in Lagerdetails

Ich hoffe Du kannst was mit meiner Beschreibung anfangen. Kurze Rückinfo wäre nett

Viele Grüße
Torsten
Acider
Acider 21.09.2007 um 08:25:02 Uhr
Goto Top
Hallo Torsten,

vielen Dank für dein Bemühen erstmal!

Die Tabellen, Abfragen und Formulare habe ich schon so angelegt.

Mein Problem zurzeit ist das ich eben einen "Kopier"-Button angelegt habe und der eben nur die Daten des Hauptformulars kopieren kann.
Dann muss ich erstmal zu einem anderen Datensatz wechseln um die Daten des Hauptformulars speichern zu lassen bevor ich die Unterformulare anlegen und bearbeiten lassen kann.

Und eben das versteh ich nicht!


gruß
Damian
jato11
jato11 26.09.2007 um 11:36:53 Uhr
Goto Top
Und was passiert wenn Du F9 drückst?