Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Formular: Aufrufen verschiedener Unterformulare+Sprung zum richtigen Datensatz

Begonnen von chritherei, März 26, 2019, 10:31:38

⏪ vorheriges - nächstes ⏩

chritherei

Hallo zusammen,
ich verzweifele schon länger an einem Problem und bin für jede Hilfe dankbar.

Folgendes Szenario:
- es gibt EINE Tabelle, die alle Daten enthält
- basierend auf dieser Tabelle gibt es ein Formular: oben im Formular gibt es ein Auswahlfeld "Untersuchungsart":
- je nachdem was man dort auswählt, wird in der unteren Hälfte des Formulars das entsprechende Unterformular eingeblendet, in dem man weitere Parameter eingeben kann
- damit sich je nach Auswahl der "Untersuchungsart" unterschiedliche Formulare an der gleichen Stelle öffnen können, habe ich das so gelöst: ich habe ein leeres ungebundenes Unterformular eingefügt, und an das Auswahlfeld folgenden VBA-Code gebunden  (nach Aktualisierung) -Code:
select case Untersuchungsart
und dann je     Case Option1   Me!Unterformular.SourceObject = "Unterformular1" etc.

- bis dahin funktioniert alles super
- Das Problem ist nur, dass ich mein Formular gefiltert für eine ID öffne, und diese ID hat immer 5 Datensätze.
Wenn ich nun oben im Hauptformular alles eingegeben habe, und die Untersuchungsart filtere, kommt in meinem jeweiligen Unterformular immer der 1. Datensatz - egal ob ich im Hauptformular bei Datensatz 1,2,3,4 oder 5 bin.

Ich sehe das Problem darin, dass ich nicht direkt ein UFO einbinde, mit dem ich die Datensätze richtig verknüpfen kann, sondern ein "leeres" UFO, das nur jeweils das richtige UFO einblendet.
Wenn ich das aber nicht so löse, kann ich nicht verschiedene Unterformulare an der gleichen Stelle einbinden.
Gesucht ist also eine Lösung, wie ich dem jeweils eingeblendeten Unterformular sagen kann, bei welchem Datensatz ich im Hauptformular bin  :-\

Kann mir jemand weiterhelfen?
Vielleicht habe ich das Thema an sich nicht gut gelöst, aber ich finde die Lösung mit dem Einblenden verschiedener Formulare super, und auch das Versuchen einer anderen Lösung mit Öffnen des jeweiligen Formulars in neuem Fenster hat nichts geändert an dem Problem..

Vielen lieben Dank

MzKlMu

Hallo,
Du kannst in der Where Klausel der Datenherkunft für das Ufo auf die ID im Hafo verweisen.

Ich glaube aber nicht, dass das insgesamt eine gute Lösung ist.
EINE Tabelle für alle Daten kann in einer Datenbank eigentlich nicht sein. Mir scheint, Du hast da eine Exceltabelle nachgebaut, was aber dann für Access meist völlig unbrauchbar ist.
ZitatVielleicht habe ich das Thema an sich nicht gut gelöst,
Das scheint mir auch so, Du solltest über eine Umstrukturierung nachdenken.
Bitte beschreibe mal die Tabelle und die Aufgabe der DB, dann wirst Du sicher Vorschläge erhalten.
Gruß Klaus

chritherei

Hallo Klaus,
vielen Dank für die rasche Antwort. Stimmt die Verknüpfung mit der ID habe ich auch drin, das habe ich vergessen zu erwähnen.
Ja das mit der EINEN Tabelle bin ich gerade am Umändern, dass es pro UF auch die entsprechende Tabelle dazu gibt. Aber ich glaube das löst nicht das Problem, dass ich im HFO die Verknüpfung zum richtigen Datensatz anlegen muss, da ich ja nicht ein bestimmtes UF verknüpfe, sondern ein leeres UF das darüber das jeweilige Formular einblendet.

Ich probiere weiter...
Vielen Dank schon mal

MzKlMu

Hallo,
Zitatdass es pro UF auch die entsprechende Tabelle dazu gibt.
Ich glaube nicht, dass das die richtige Lösung ist. Ziel muss es sein, mit einem Formular mit einem Unterformular alles wie gewünscht darstellen zu können.
Ich glaube, Du machst da ziemliche Strukturfehler die mit einer Datenbank nichts zu tun haben.

Leider hast Du nichts weiter beschrieben, sodass man keine konkreten Vorschläge machen kann.
Gruß Klaus

Beaker s.a.

@chritherei
Klaus' Hinweisen kann ich nur zustimmen.
Verschiedene Unterformulare in einem UFo-Control anzuzeigen muss aber
kein Fehler sein. Man muss nur zusätzlich zur Eigenschaft "SourceObject"
auch die Eigenschaften "LinksMasterFields" und "LinksChildFields" (siehe
OH) aktualisieren.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, läßt etwas anderen geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

chritherei

Vielen vielen Dank, jetzt hat es geklappt!!
Das mit LinkMasterFields war der richtige Hinweis, genau das hat wohl noch gefehlt  :) :)

MzKlMu

Hallo,
auch wenn es klappt, bleiben erhebliche Zweifel an der Struktur.
Das nächste Problem wird wahrscheinlich nicht lange auf sich warten lassen.  ;D
Gruß Klaus

Beaker s.a.

Tja Klaus, die Frage ist halt, was da noch dranhängt. Wenn das nur zum
Ansehen der Daten ist, reicht es doch  ;)
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, läßt etwas anderen geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)