Access-o-Mania

Access-Forum (Deutsch/German) => Bericht => Thema gestartet von: Bernd Sowa am November 05, 2024, 16:08:28

Titel: Beim schließen eines Berichts Schaltfläche in anderem Formular ansprechen
Beitrag von: Bernd Sowa am November 05, 2024, 16:08:28
Hallo zusammen,

ich möchte gerne beim Schließen eines Berichtes eine Schaltfläche in einem geöffneten Formular angesprochen wird.(der User hat die Wahl zwischen Drucken und Abbruch - Bei Abbruch soll es ausgelöst werden)

Ich habe es probiert mit

Call Forms.frm_Arbeitsblatt_RT_Auf.cmdAbbruch_Click

Brachte aber leider nicht den gewünschten Effekt.
Kann mir jemand helfen?
Geht das überhaupt aus einem Bericht heraus?

Liebe Grüße
Bernd
Titel: Re: Beim schließen eines Berichts Schaltfläche in anderem Formular ansprechen
Beitrag von: MzKlMu am November 05, 2024, 16:12:16
Hallo,
wo sind die Buttons, auf dem Formular ?
Titel: Re: Beim schließen eines Berichts Schaltfläche in anderem Formular ansprechen
Beitrag von: Bernd Sowa am November 05, 2024, 16:15:16
Ja, ich habe auf dem Formular einen Button den ich ansprechen möchte.
Titel: Re: Beim schließen eines Berichts Schaltfläche in anderem Formular ansprechen
Beitrag von: Beaker s.a. am November 05, 2024, 16:40:24
Hallo Bernd,

Formular- oder Control-Event ruft man nicht von aussen auf.

Schreibe den Code, der im Click-Event steht in eine öffentliche Sub.
Diese kannst du dann im Click-Event des Buttons und beim Close-Event des
Reports aufrufen.
Beachte, dass es dort dort kein Me. gibt. Du musst also evtl. eine Referenz
auf das Form an die Sub übergeben.

gruss ekkehard
Titel: Re: Beim schließen eines Berichts Schaltfläche in anderem Formular ansprechen
Beitrag von: markusxy am November 05, 2024, 17:14:32
Zitat von: Beaker s.a. am November 05, 2024, 16:40:24Schreibe den Code, der im Click-Event steht in eine öffentliche Sub.

Wozu soll das gut sein, noch dazu ohne zu wissen worum es geht?

Ich würde vermutlich (aber das ist auch abhängig vom Zweck) eine öffentliche Methode im Formular erstellen und die sowohl vom Event als auch von 'außen' aufrufen.
Damit ist dann ein sauberes Error Handling möglich - eh ein Fremdwort für die meisten - sowohl inhaltlich als auch logisch - leider.
Es spricht aber auch nichts dagegen eine öffentliche Sub zu verwenden, wenn das ein wieder verwendbarer Code sein soll.

Titel: Re: Beim schließen eines Berichts Schaltfläche in anderem Formular ansprechen
Beitrag von: Knobbi38 am November 05, 2024, 18:39:25
Hallo Bernd,

Zitatich möchte gerne beim Schließen eines Berichtes eine Schaltfläche in einem geöffneten Formular angesprochen wird.
Was genau ist damit gemeint? Möchtest du Eigenschaften des Buttons verändern oder dessen Ereignisroutine aufrufen. Letzteres wäre "Bad Practice".


Titel: Re: Beim schließen eines Berichts Schaltfläche in anderem Formular ansprechen
Beitrag von: Bernd Sowa am November 06, 2024, 08:19:31
Ja, vielleicht war ich ein wenig sparsam mit den informationen.
Im Formular (Endlos) werden durch filtern und setzen von Häkchen bestimmte Datensätze markiert.
Durch einen Klick auf eine Schaltfläche werden
1. Daten in die ausgewählten Datensätze geschrieben (aktuelle Zeit und ein weiteres Häkchen).
2. Die ausgewählten Datensätze an den Bericht übergeben.
Wenn der Bericht ausgedruckt wird ist alles so wie es soll.
Wenn der Benutzer aber nicht ausdruckt sondern vielleicht im letzten Moment bemerkt, dass er die falschen Datensätze markiert hat wird er den Druckvorgang abbrechen.
In dem Fall müssen die vorher gemachten Einträge (aktuelle Zeit und ein weiteres Häkchen in den vorher gewählten Datensätzen) wieder entfernt werden. Das kann diese Schaltfläche die ich ansprechen möchte.
Pauschal beim Schließen geht ja nicht weil mal ist gut und mal muss gelöscht werden...
Titel: Re: Beim schließen eines Berichts Schaltfläche in anderem Formular ansprechen
Beitrag von: Knobbi38 am November 06, 2024, 11:21:19
Hallo Bernd,
Zitat von: Bernd Sowa am November 06, 2024, 08:19:31Das kann diese Schaltfläche die ich ansprechen möchte.
Du hast dein Vorhaben jetzt besser erklärt, aber genau den Kern der Sache ausgelassen. Wieso kann das die Schaltfläche?


Titel: Re: Beim schließen eines Berichts Schaltfläche in anderem Formular ansprechen
Beitrag von: Bernd Sowa am November 06, 2024, 11:32:53
Die Schaltfläche hat eine Ereignisprozedur die mit einem Loop an allen vorher markierten Datensätzen die neuen Einträge wieder entfernt.



Titel: Re: Beim schließen eines Berichts Schaltfläche in anderem Formular ansprechen
Beitrag von: Knobbi38 am November 06, 2024, 11:42:36
Ok, diese Ereignisprozedur gehört als "normale" Public Sub in das Endlosformular und kann dann von überall aus aufgerufen werden. Das war aber schon Thema in #3 und #4.

Titel: Re: Beim schließen eines Berichts Schaltfläche in anderem Formular ansprechen
Beitrag von: Bernd Sowa am November 06, 2024, 11:57:59
Hallo
jo, ich habe es etwas ignoriert weil ich nicht so recht wusste wie es geht.
Nun habe ich es einfach (haha) mal probiert und es geht tatsächlich.

Ich kann die public sub aus dem Bericht abrufen mit
Call Forms.frm_Arbeitsblatt_RT_Auf.Abbrechen

Danke sehr
Titel: Re: Beim schließen eines Berichts Schaltfläche in anderem Formular ansprechen
Beitrag von: Knobbi38 am November 06, 2024, 12:04:21
Hallo Bernd:

noch einen kleinen Tip am Rande: bevor du auf das Formular zugreifst, solltest du prüfen, ob es überhaupt geladen ist. So etwas macht eine Anwendung stabiler. Wenn du mit Logging arbeitest, könnte man das dann noch im Fehlerfall um einen Logeintrag erweitern.

Gruß
Knobbi38