Dynamisches UFO in Access

Liebe Wissenden,

habe ein Problem.
ich habe folgenden Code mit dem ich per Buttonklick ein bestimmtes Formular öffnen kann:
Code:
Private Sub Befehl4_Click()
If IsNull(Me!Amb) Then
MsgBox „Bitte erst Formular auswählen!“
Exit Sub
End If
On Error Resume Next
DoCmd.OpenForm Me!Amb, acNormal
If Err.Number = 2103 Then MsgBox „Bericht unbekannt“
On Error GoTo 0
End Sub
Alles klappt, doch das neue Formular öffnet sich in einem neuen Fenster. Wie schaffe ich es, dass je nach Wahl der Form das jeweils neue Formular sich einem UFO öffnet? Ich möchte somit nicht, dass sich immer wieder neue Fenster öffnen sodern die Quelle für das UFO sich anpasst.

Bei Formularen mit gleicher Tabelle als Ursprung geht es glaube ich so :
Forms!Haupt![UFO1].SourceObject = „Me!Amb“

Bin ratlos, bitte dringend um Hilfe!!!

Besten Dank!
Gruß
Igor

Hallo, Igor!

Bei Formularen mit gleicher Tabelle als Ursprung geht es
glaube ich so :
Forms!Haupt![UFO1].SourceObject = „Me!Amb“

Genau so sollte es laufen, unabhängig davon, welche Datenquelle zugrundeliegt. Interessant wird es höchstens, wenn die Daten im Unterformular gefiltert werden sollen basierend auf dem aktuellen Datensatz im Hauptformular. Da findest Du dann nähere Infos unter den .LinkMasterFields und .LinkChildFields-Eigenschaften des Unterformulars (oder auf Deutsch: Verknüpfen Von und Verknüpfen Nach).

Eine Alternative wäre vielleicht, dass Du statt der Auswahl eines anzuzeigenden Unterformulars die vorhandenen Unterformulare in ein Registersteuerelement mit einer Seite für jedes Unterformular verfrachtest. Ist nett, sieht hübsch aus, ist Windows-konform und einfach und ohne Programmierung umsetzbar.

Gruß, Manfred

Hallo Manfred,

danke für die schnelle Rückmeldung. Es müsste zwar mit:

Forms!Haupt![UFO1].SourceObject = „Me!Amb“

gehen. Das Problem ist, dass die Formulare nicht die gleiche Tabelle als Datenbasis haben. Kann ich es in dem FAll auch tun?

Zu deinem zweiten Vorschlag. Klingt supi. Das Problem ist, dass ich 4 Organisationseinheiten habe und pro Organisationseinheit teilweise bis zu 4 Untereinheiten. Ich komme somit auf 14 UFOs. Ist es überhaupt dem Rechner zuzumuten? Man könnte natürlich 4 Haupt-Register anlegen und pro Haupt-Register mehrere Unterregister. Ist es sinnvoll?

Danke!!!
Gruß, Igor

Hallo, Igor!

danke für die schnelle Rückmeldung. Es müsste zwar mit:
Forms!Haupt![UFO1].SourceObject = „Me!Amb“
gehen. Das Problem ist, dass die Formulare nicht die gleiche
Tabelle als Datenbasis haben. Kann ich es in dem FAll auch
tun?

Ja. Das ist bei mir i. d. R. eigentlich immer so, dass UFO und HF unterschiedliche Datenquellen haben.

Zu deinem zweiten Vorschlag. Klingt supi. Das Problem ist,
dass ich 4 Organisationseinheiten habe und pro
Organisationseinheit teilweise bis zu 4 Untereinheiten. Ich
komme somit auf 14 UFOs. Ist es überhaupt dem Rechner
zuzumuten? Man könnte natürlich 4 Haupt-Register anlegen und
pro Haupt-Register mehrere Unterregister. Ist es sinnvoll?

Das finde ich nicht so wild. Probier es einfach aus. Du musst ja noch nicht die UFOs einbauen. Schau Dir einfach an, wie es aussieht und wie gut man damit arbeiten kann.

Gruß, Manfred

Lieber Manfred,

zur Option 1:
Ich habe jetzt eine Beispieldatei erstellt mit zwei Tabellen und einem Formular. Im Formular ist ein Kombinationsfeld mit der Auswahl der Formulare, ein Button mit folgendem Code:

Private Sub Befehl2_Click()
If IsNull(Me!Amb) Then
MsgBox „Bitte erst Formular auswählen!“
Exit Sub
End If
On Error Resume Next
Forms!Haupt![UFO].SourceObject = „Me!Amb“
If Err.Number = 2103 Then MsgBox „Formular unbekannt“
On Error GoTo 0
End Sub

und ein UFO in welchem ich die anderen UFOs angezeigt haben möchte. Ich drücke den Button und es passiert nichts. Wo habe ich da den Fehler gemacht?

Gruß
Igor

Lieber Manfred,

zur Option 1:
Ich habe jetzt eine Beispieldatei erstellt mit zwei Tabellen
und einem Formular. Im Formular ist ein Kombinationsfeld mit
der Auswahl der Formulare, ein Button mit folgendem Code:

Private Sub Befehl2_Click()
If IsNull(Me!Amb) Then
MsgBox „Bitte erst Formular auswählen!“
Exit Sub
End If
On Error Resume Next

Forms!Haupt![UFO].SourceObject = „Me!Amb“

If Err.Number = 2103 Then MsgBox „Formular unbekannt“
On Error GoTo 0
End Sub

und ein UFO in welchem ich die anderen UFOs angezeigt haben
möchte. Ich drücke den Button und es passiert nichts. Wo habe
ich da den Fehler gemacht?

Hier:

Forms!Haupt![UFO].SourceObject = Me!Amb

Gruß
Franz,DF6GL