Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Unterformulare werden auf Register-Steuerelement nicht geladen

Begonnen von Toast78, November 12, 2025, 14:08:19

⏪ vorheriges - nächstes ⏩

Toast78

Tach zusammen!
Ich musste ein Register-Steuerelement erstellen, damit ich mir Controls auf ein Formular bekomme.
Dazu habe ich die bereits vorhandenen Steuerelemente (normale und Unterformulare) ausgeschnitten. Dann habe ich das Register eingefügt und aus der Zwischenablage wieder die alten Controls auf die erste Seite eingefügt.
Dann habe ich auf der zweiten Seite ein weiteres Unterformular eingefügt. Dort ist mir dann aufgefallen, dass trotz korrekter Verknüpfung das Unterformular nicht geladen wird.
Das habe ich anhand einer MsgBox im Form_Load ausprobiert.  ::)
Der erste Screenshot zeigt die Formular-Ansicht an und der zweite die Entwurfsansicht mit den Verknüpfungsoptionen
Weiß wer weiter?

Gruß
Marco

Bitsqueezer

Hallo,

dem UFO-Containercontrol ist es egal, ob es direkt im Formular oder auf einer Registerkarte liegt. Das gilt auch für alle anderen Controls, jedes bezieht sich immer auf das Formular, in dem es ist, ob in Registerkarte oder direkt.

Wenn man jetzt wüßte, was Du mit "nicht geladen" meinst. Wenn die IDs passen, wird das UFO entsprechend gefiltert auf die ID aus dem Hauptformular. Hier müssen natürlich Datentypen passen und Inhalte ebenso.

Übrigens: In Deiner Formularansicht stehen links die Namen, solltest Du vielleicht besser anonymisieren...

Gruß

Christian

Toast78

Danke erstmal für die Antwort.

Mit "nicht geladen" meine ich genau das, was dort steht. Wenn das Form_Load des Unterformulars beim Öffnen des Formulars nicht ausgelöst wird, kann man schon davon ausgehen, dass das Unterformular nicht geladen wird.
Das heißt also auch, dass hier noch nicht mal die Verknüpfung greift. Denn das Form_Load wird ja noch vor den Ereignissen des Hauptformulars gefeuert. Oder hat sich da was geändert?

Das sind nur Lieferanten. Keine Preise ;-)
Und es ist gut möglich, dass davon einige gar nicht mehr existieren.

MzKlMu

Hallo,
ich habe die Namen unsichbar gemacht. In Foren zeigt man niemals echte Daten, auch wenn diese veraltet sind.
Bitte zukünftig beachten.
Gruß Klaus

Bitsqueezer

Hallo,

"geladen" ist das Formular, wenn Du es sehen kannst.
Form_Load löst u.U. nicht aus, wenn in der Load-Eigenschaft "Eventprozedur" nicht eingetragen ist. Auch andere Formularkomplikationen können dazu führen, daß ein Event (generell) nicht ausgelöst wird. Beispielsweise defekte Formulare.

Gruß

Christian



Toast78

Zitat von: MzKlMu am November 12, 2025, 19:35:26Hallo,
ich habe die Namen unsichbar gemacht. In Foren zeigt man niemals echte Daten, auch wenn diese veraltet sind.
Bitte zukünftig beachten.
Jou, habe noch weitere Namen unkenntlich gemacht  ;D

Toast78

#6
Zitat von: Bitsqueezer am November 12, 2025, 20:53:29Hallo,

"geladen" ist das Formular, wenn Du es sehen kannst.
Form_Load löst u.U. nicht aus, wenn in der Load-Eigenschaft "Eventprozedur" nicht eingetragen ist. Auch andere Formularkomplikationen können dazu führen, daß ein Event (generell) nicht ausgelöst wird. Beispielsweise defekte Formulare.

Gruß

Christian
Ereignisprozedur war eingestellt. Habe ein weeiteres Formular erstellt und besagtes Unterformular eingebunden. Funktionierte: Die MsgBox im Form_Load des Unterformulars wurde geöffnet.
Dann habe ich ein jungfräuliches Formular genommen, ein Register erstellt und dort das Unterformular eingebunden. Funktionierte auch.
Stellt sich jetzt halt die Frage, wann der Fehler auftritt, dass keine Unterformulare mehr auf dem Register eingebunden werden können. Mache jetzt damit weiter. Zum Glück war nicht so viel Programmierung im Hauptformular.

Ich denke mal das Thema kann man als erledigt ansehen, nicht als gelöst

Bitsqueezer

Hallo,

gibt leider keine Regel dafür. Kann jederzeit passieren.
Oft hilft es, so ein Formular mal in eine neue Access-Datei zu importieren, oder per VBA mit Application.SaveAsText und später Application.LoadFromText zu ex- und importieren. Dabei fliegt alles raus, was Access ggf. noch im Hintergrund vorhält und zum Problem führt. Dem Formular schadet es nicht, es wird original wieder so sein wie vorher.

Gruß

Christian