[VBA] Probleme mit Public und Modul/Form übergreifend

Akherousin

Mitglied
Guten Morgen,

Ich habe in meiner Form (form1) zwei Textfelder in die man Dateipfade schreibt.
Bei einem Klick auf Bestätigen (cmdConfirm) werden die gespeichert. Anschliessend wird mit einem Klick auf Transfer das eigentliche Modul ausgeführt. Und hier liegt mein Problem. Obwohl ich die Variablen in der Form als Public deklariert habe und die Werte in der Form richtig gespeichert werden (überprüft mittels MsgBox), werden sie in Modul nicht übernommen. Daraus resultiert, dass ich eine Fehlermeldung erhalte und wenn ich die Variablen im Debug Modus überprüfe, zeigen sie bloss [""] oder [=empty] an.

Für Input wär' ich dankbar.

Form1
Code:
    Public str_dynQ As String
    Public str_dynZ As String

Private Sub cmdConfirm_Click()



    str_dynQ = txtQuell.Text
    str_dynZ = txtZiel.Text
    MsgBox str_dynQ & str_dynZ
    
End Sub

Modul
Code:
Sub proc_tbl_insert_SECOM()

str_file_name = str_dynQ
 
Hi Akherousin

Public in einer Form nützt Dir nix. Pack die Declaration in das Modul und es sollte funktionieren.

Gruß
Das Orakel
 
@Orakel: Das ist nicht ganz richtig. Wenn man Variablen in einer Form als Public deklariert, dann muss man sie lediglich etwas anders ansprechen, nämlich so, als wären sie eine Eigenschaft der Form:
Code:
Formname.Variablenname = Irgendwas
also Beispielsweise:
str_file_name = Form1.str_dynQ

--> @Akherousin: schreib im Modul vor die Public-Variable aus der Form den Namen der Form davor, dann dürfte es auch funktionieren. Oder mach es so, wie Orakel es vorgeschlagen hat.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück