Neuigkeiten:

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

Mobiles Hauptmenü

Private Function aufrufen von anderem Formular aus mit variablem Formularnamen

Begonnen von MrMojoRisin, Oktober 02, 2017, 10:29:00

⏪ vorheriges - nächstes ⏩

MrMojoRisin

Hallo,

ich habe eine Private Function, die ich gerne aus einem anderen Formular heraus aufrufen würde. Die Unterformulare sind durchnummeriert, deswegen würd ich das einfach in einer inkrementellen Schleife lösen.

Ich bekomms aber gerade nicht hin, auch die Suche hilft nicht weiter, alles was ich probiere, läuft auf nen Fehler hinaus.

Mein letzter Versuch...

Call Forms("frm_Main.Form("ufrm_Main_" & intInkrement)").myFunction

Dank euch schon mal

daolix

hallo
eine private function ist halt privat, von aussen nicht aufrufbar. mach daraus eine public function oder erstell in dem formular in den die private function zuhause ist eine public function die die private dann aufruft

Beaker s.a.

Hallo,
Versuche
Call Forms("frm_Main").Control("ufrm_Main_" & intInkrement).Form.myFunction
Wenn das überhaupt geht; - bin nicht sicher und will's jetzt auch nicht
testen. Denn wie es aussieht gibt es "myFunction" wohl auf mehreren
UFo. Nicht wissend, was diese macht, würde ich die aber wohl Public
in einem allgemeinen Modul unterbringen.
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)

MrMojoRisin

Also mein eigentliches Probem ist, dass ich die Zeit des Zeitgebers steuern möchte. Heißt .TimerInterval = 0 zum Ausschalten der Aktualisierung oder eben mit Wert > 0, um dieses zu aktivieren.

Das wird natürlich von einem allgemeinen Modul aus gesteuert. Aber wenn ich die Eigenschaft .TimerInterval anspreche, dann bringt mir Access einen Fehler. "Objekt unterstützt diese Eigenschaft oder Methode nicht"

Wenn ich das direkt in einer Private Sub / Function mache, dann nicht, dann läuft es ohne Probleme.

Josef P.

ZitatDas wird natürlich von einem allgemeinen Modul aus gesteuert.
Warum "natürlich"? - Es könnte doch auch von einer Hilfsklasse aus gesteuert werden. ;)

ZitatAber wenn ich die Eigenschaft .TimerInterval anspreche, dann bringt mir Access einen Fehler. "Objekt unterstützt diese Eigenschaft oder Methode nicht"
Dann hat vermutlich das Objekt, das du ansprichst, diese Eigenschaft nicht.

Dim frm As Form

set frm = ???
frm.TimerInterval = 0

Wenn du in diesem Code die ??? durch deine Formularrefrenz ersetzt, sollte die Eigenschaft Timerinterval einstellbar sein.

mfg
Josef