PDA

Vollständige Version anzeigen : Unterformulare verknüfen


uttenhofen
03.05.2011, 13:15
Hallo Profis,

ich wollte ursprünglich ein Formular (als Datenblattansicht) erstellen und innerhalb dieses Formulars sollte ein weiteres Unterformular (als Datenblattansicht) eingefügt werden. Das geht in Access anscheinend aber nicht.

Jetzt muss ich es halt über den Umweg mit einem neuen leeren Formular lösen, in das ich zwei Unterformulare (als Datenblattansicht) einbinde. Im ersten Unterformular möchte ich den Datensatz auswählen, im zweiten Unterformular sollen die Daten angezeigt werden.

Mein Problem dabei ist, dass ich die zwei Unterformulare nicht verknüpfen kann.
Ich möchte, dass wenn ich im ersten Unterformular einen Datensatz auswähle, dass der dazu verknüpfte Datensatz dann im anderen Unterformular auch angezeigt wird.

Kann mir jemand sagen, wie ich das Problem lösen kann?

Vielen Dank für Eure Hilfe!

Gruß
Florian

Edgar Basler
03.05.2011, 15:06
Ich verstehe nicht ganz das Problem. Ein Hauptformular mit einem oder mehreren Unterformularen zu verknüpfen ist doch in Access genial gelöst. Vielleicht hilft auch http://www.donkarl.com/ "4.3 Formulare synchronisieren" weiter.

uttenhofen
06.05.2011, 09:29
Hallo,

leider funktioniert das nicht. Ich denke der Code ist für ein Haupt- und ein Unterformular geeignet.

Wie ich aber bereit geschrieben habe, habe ich ein "leeres" Hauptformular (keine Datensätze dahinter). In diesem Formular habe ich zwei Unterformulare (als Datenblattansicht) eingebunden, die ich jetzt verknüpfen möchte.

Wenn das Hauptforular eine Datenblatt (Tabelle) wäre, könnte ich kein Unterformular einbinden, deswegen mache ich das über diesen Umweg mit einem leeren Hauptformular.

Bitte um Hilfe.

Gruß
Florian

Josef P.
06.05.2011, 09:40
Hallo!

ich wollte ursprünglich ein Formular (als Datenblattansicht) erstellen und innerhalb dieses Formulars sollte ein weiteres Unterformular (als Datenblattansicht) eingefügt werden. Das geht in Access anscheinend aber nicht.

Ein Unterformular kann nicht im Detailbereich eines Endlosformulars genutzt werden. In der Datenblattansicht sollte das allerdings funktionieren.

mfg
Josef

uttenhofen
06.05.2011, 09:56
Hallo,

zur Verdeutlichung habe ich nun ein Hardcopy meines Formulars beigefügt.
Laut Access ist keine Verknüfung zwischen Unterformularen möglich.

Vielleicht hat ja von Euch jemand eine andere Idee, wie man das Problem lösen kann.

Ich möchte auf jeden Fall oben und unten eine Datenblattansicht mit den verknüpften Datensätzen haben (siehe Hardcopy).

Gruß
Florian

Maxel
06.05.2011, 10:00
Hallo Florian,
Laut Access ist keine Verknüfung zwischen Unterformularen möglich.
Ich lese in der Fehlermeldung eher, dass eine Verknüpfung zwischen ungebundenen Formularen nicht möglich ist - was ja auch logisch erscheint.

uttenhofen
06.05.2011, 10:09
Sorry, das versteh ich jetzt nicht.

Was muss ich dann machen?
Ich habe gerade in den Eigenschaften gesehen, das beide Forumulare ungebunden sind. Was bedeutet dies?

Was soll ich dann jetzt Eurer Meinung nach machen?

Gruß
Florian

PS: Ich bin halt nur ein Anfänger in Access.

Maxel
06.05.2011, 10:17
Hallo Florian,

nun, ungebundene Formulare haben keine Datenherkunft. Demzufolge existieren auch keine Formularfelder, die es zu verknüpfen gibt.

Vielleicht schilderst Du mal dein Grundanliegen incl. Datenmodell, bevor wir hier das Formularhandling diskutieren?

uttenhofen
06.05.2011, 10:59
Hallo,

ich habe vor eine Datenbank von Mitarbeitern aufzubauen.
Die Daten sind grundsätzlich in zwei Tabellen eingetragen.
Die erste Tabelle "tbl_Stammdaten" enthält die Daten des Mitarbeiters, die immer gleich sind und sich auch nicht verändern.
Die zweite Tabelle "tbl_Zeitdaten" enthalten die zeitraumabhängigen Daten zu den Mitarbeitern aus der "tbl_Stammdaten".

Beide Tabellen sind über einen Autowert aus "tbl_Stammdaten" miteinander verknüpft.

Ich möchte wie im Hardcopy gezeigt ein Formular haben, dass im oberen Bereich die Daten aus "tbl_Stammdaten" als Tabellenform anzeigt.

Sobald ich im oberen Bereich des Formulars in der Tabelle einen Datensatz ausgewählt habe, sollen im unteren Bereich in einem Unterformular die zum oberen Datensatz gehörenden Werte aus "tbl_Zeitraumsdaten" (auch als Tabellenform) angezeigt werden.

War dies soweit verständlich?

Gruß
Florian

PS: Ich hab meine Access-Datenbank mal beigefügt. Vielleicht hilft dies euch weiter!

uttenhofen
10.05.2011, 08:08
Kann mir denn niemand helfen?
Könnt Ihr mein Problem nachvollziehen?

Lanz Rudolf
10.05.2011, 08:46
Hallo
Kannst Du Deine Muster DB als MDB( Access 2003) Speichern und so gezipt Hochladen.
ich habe noch kein 2010 :)
dann schaue ich mir das an

Toast78
10.05.2011, 08:51
Setze beim Current-Event des ersten Unterformulars den Filter für das zweite Unterformular neu.
Me.Parent!zweitesSubFormControl.Form.Filter = "PersonalNr = " & Nz(Me.PersonalNr, 0)
Me.Parent!zweitesSubFormControl.Form.FilterOn = True

uttenhofen
11.05.2011, 07:34
Hallo,

hier habe ich nochmal die Access-Datei im 2003er-Format hochgeladen.

Die Variante mit den "Toast78" mit dem Filter funtktioniert zwar, finde ich aber keine perfekte Lösung.

Gruß
Florian

PS: In der jetzt hochgeladenen Datei ist der Code mit dem Filter bereits eingebaut!

Toast78
11.05.2011, 08:29
Was wäre denn perfekt für dich?
Andere Möglichkeit (nur so schnell ausgedacht): Erstelle ein paar unsichtbare Textfelder und setze die Verknüpfungs-Eigenschaften entsprechend für das zweite Unterformular. Beim Current-Event setzt du dann die unsichtbaren Textfelder mit Me.Parent!FilterFeld = Me.Schluesselwert

Josef P.
11.05.2011, 08:36
Hallo!

Kleine Ergänzung zum Vorschlag von Beitrag #14:
Statt vom UF auf das HF zuzugreifen, könnte man die Werte für die Textfelder direkt aus den Feldern des UF holen.
Steuerelementinhalt: = [subformControl]!FeldName

Anm.: Den Zugriff vom UF zum HF würde ich so gut wie möglich vermeiden, da sonst das Formular vom HF abhängig wird.

mfg
Josef

uttenhofen
11.05.2011, 09:52
Hallo!

Mit "perfekt" habe ich gemeint, dass wenn ich im 1. Unterformular einen neuen Datensatz anlege, dass dann im 2. Unterformular automatisch auch ein neuer Datensatz mit dem selben Autowert aus derm 1. Unterformular (=Verknüpfungskriterium) angelegt wird.

Wenn ich jetzt einen neuen Datensatz im 1. Unterformular anlege, und ich dann im 2. Unterformular vergesse, den Autowert des 1. Unterformuars anzugeben, ist der Datensatz nicht verknüpft.

Die Verknüpfungsfelder "Autowert" und "Autowert_Stammdaten" sollen später ausgeblendet werden.

Inwieweit die Vorschläge aus Beitrag #14 und #15 dieses Problem berücksichtigen, kann ich nicht sagen, da meine Kenntnisse soweit leider nicht ausreichen.

Hat Access hierfür keine einfache Lösung, 2 Unterformulare miteinander zu verknüpfen?

Gruß
Florian

Josef P.
11.05.2011, 10:00
Hat Access hierfür keine einfache Lösung, 2 Unterformulare miteinander zu verknüpfen?
Wenn das Anlegen eines Textfeld-Steuerelements und das Verknüpfen des 2. UF mit diesem Textfeld bereits zu kompliziert ist, hat Access keine einfache Lösung zum Verknüpfen von 2 UF. ;)

Anbei noch die geänderte (gekürzt + Ac2000-Format) Datei aus Beitrag #9: 55836

mfg
Josef

uttenhofen
11.05.2011, 17:01
Vielen Dank für die super Hilfe!

Relativ einfache Lösung, aber einfach genial!

Gruß
Florian