Neuigkeiten:

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

Mobiles Hauptmenü

VBA Code funktioniert in Formular, aber nicht als Unterformular

Begonnen von jannik1112, Februar 27, 2020, 09:44:08

⏪ vorheriges - nächstes ⏩

jannik1112

Guten Morgen,

Ich habe ein Formular erstellt, welches durch ein Ereignis einen Bericht öffnet. In diesem Formular funktioniert dies auch alles nach Plan.
Sobald ich aber dieses Formular als Unterformular einbaue, funktioniert das Öffnen des Berichts plötzlich nicht mehr.
Stehe gerade etwas auf dem Schlauch, kann hierbei jemand helfen?

Viele Grüße

Jannik

Private Sub Kombinationsfeld1_Change()
DoCmd.OpenReport "General Statistics 2", acViewReport
DoCmd.Close acReport, "profitability"
End Sub

MzKlMu

Hallo,
"funktioniert nicht" ist eine wenig hilfreiche Fehlerbeschreibung.
Was wird denn in dem Kombi angezeigt?
Mit Kombinationsfeld1 kann man auch nichts anfangen.

Bitte mal genauer und ausführlicher erklären.
Gruß Klaus

jannik1112

Sorry, für die undeutliche Erklärung :(

Im Kombinationsfeld stehen verschiedene Jahreszahlen zur Auswahl.
Für mein Problem glaube ich allerdings, dass der Inhalt irrelevant ist, da sich die VBA-Aktion ja "Bei Änderung" starten sollte, also unabhängig davon welcher Wert ausgewählt wird.
Mit "funktioniert nicht" meinte ich, dass der VBA-Code einfach nicht ausgeführt wird, also der andere Report nicht geöffnet wird, da man anscheinend aus dem Hauptformular keinen Zugriff auf die Ereignisprozedur des Unterformulars hat (?).

Sehe ich das Problem hier richtig?

Sorry, bin noch relativ neu in Access :)

Beaker s.a.

Hallo Jannik,
Zitatda sich die VBA-Aktion ja "Bei Änderung" starten sollte, also unabhängig davon welcher Wert ausgewählt wird.
Sehr ungünstig, da
1. das gewählte Ereignis den Bericht bei jedem Tastenanschlag öffnet/aktiviert, - wozu?
2. der Wert des Kombis gar nicht weiterverwendet wird. Da kannst du auch gleich einen
Button zum Öffnen nehmen.
Wenn man den Wert eines Kombis auswerten will, bietet sich das Ereignis "Nach Aktualisierung"
(VBA: KombiName_AfterUpdate) an.
Zitatda man anscheinend aus dem Hauptformular keinen Zugriff auf die Ereignisprozedur des Unterformulars hat
Das kann man am Code nicht erkennen. Erkläre das mal näher.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes 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)

jannik1112

Vielen Dank für die Antwort.

Der Punkt, dass "Nach Aktualisierung" sinnvoller ist, ist ein hilfreicher Tipp.

Mir ist bewusst, dass ich für diese Anwendung aktuell kein Kombinationsfeld brauche, jedoch ist das Problem das ich aktuell habe unabhängig davon.
Gerade getestet, auch wenn ich statt Kombifeld einen simplen Button benutze tritt das Problem auf.

Nochmal mein Problem:
Ich habe ein Formular, welches jetzt einen Button mit einer Ereignisprozedur hat.
Funktioniert auch alles wie es soll, wenn ich das Formular seperat öffne.
Ziehe ich allerdings das Formular per Drag & Drop in ein anderes Formular hinein und will dann den Button betätigen, startet die Ereignisprozedur nicht.

Hoffe, damit ist mein Problem klar :)

Beaker s.a.

Hallo Jannik,
Hm, Problem ist klar, kann ich aber nicht deuten. Steht denn im Eigenschaftenfenster
beim Ereignis "Beim Klicken" auch "Ereignisprozedur" drin. Ich habe es schon erlebt,
das dieser Eintrag verschwindet.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes 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)

jannik1112

Im Eigenschaftenblatt passt noch alles.
Habe jetzt interessehalber mal verschiedene Ereignistypen durchprobiert.
Seltsamerweise funktioniert alles wie gewünscht, wenn "beim Doppelklicken" ausgewählt wird.

Damit kann ich für meinen Zweck aktuell auch leben, deshalb schonmal vielen Dank für die Mithilfe.

Gruß Jannik