Access Formularmodule und Module

  • Access

    Access Formularmodule und Module

    Hallo,

    ich versuch meine Access Fähigkeiten mit dem Lernen von VBA zu erweitern. Es sind die ersten Programmierhüpfer die ich mache, und wie bei anderen Anfängern wahrscheinlich auch: Die Misserfolge sind schwer in der Überzahl. Ich lese daher viel und schaue mir Lernvideos, Tut's und Vorlagen an.

    Bei diesen Vorlagen frage ich mich ab und an, warum man das so machen muss und es einfacher nicht geht. Folgendes Beispiel: Für jedes Formular in einer DB gibt ein gleiches Unterformular mit einem Bezeichnungsfeld das den Titel des Parent.Formulars darstellen soll. Der ist natürlich bei jedem Formular anders. Und das Bezeichnungsfeld muss sich daher ändern.

    Hier ein Lösung! Beim öffnen eines Hauptformulars wird der Prozedur SetzeFormularkopf, in einem separaten Modul, die beiden Parameter Me.sfrmKopf.Form, und der Titelstring übergeben:

    Private Sub Form_Load()
    SetzeFormularkopf Me.sfrmKopf.Form, "Das ist der Formulartitel"
    End Sub


    Die Prozedur gibt dem Bezeichnungfeld den neun String:

    Sub SetzeFormularkopf(sfrmDieserKopf As Form, strTitel As String)

    sfrmDieserKopf.lblTitel.Caption = strTitel

    End Sub

    Nun zu meiner Frage: Warum muss die SetzeFormularKopf-Prozedur in einem separaten Modul stehen und nicht z.B. direkt im Unterformularmodul. Das hab ich versucht!
    Die Sub nun im Unterformularmodul mit Me:

    Sub SetzeFormularkopf(strTitel As String)

    Me.lblTitel.Caption = strTitel

    End Sub


    Das geht überhaupt nicht, der Aufruf läuft in leere, findet diese Sub nicht. Warum den nicht? Hat das irgendwas mit dieses Klassen zu tun? Ich gebe zu, die grosse Offenbarung was Klassen angeht, ist bei mir noch ausgeblieben.

    Mit freundlichen Gruss

    Daniel