Fenster übergeben falsche Werte

FinnLynn

Grünschnabel
Hallo

Ich möchte gerne in einem neuen Fenster per OptionsButton Daten erfassen und
diese wiederum im ersten Fenster weiter auswerten. Problem: Ich bekomme immer nur die Voreinstellungen übermittelt, aber leider nicht die per Click gewählten Einstellungen.

Gehe ich mit F8 durchs Programm, dann gehts los bei der ersten Sub bis Form2.Show, dann dort durch die Sub Form_Load von Form2 dann aber bei 'end Sub' springt es wieder zurück in die erste Form und erst am dort am Ende wird die Form2 dann tatsächlich gezeigt. Das aber anders gedacht gewesen von mir.

Ich dachte der Aufruf Form2.Show wäre sowas wie ein Sprung in eine Subroutine wo dann das aufrufende Programm wartet wird bis die Routine zuende ist und dann kommt der Sprung zurück und das aufrufende Programm geht weiter.

Vielleicht ist jemand so nett und erlöst mich von diesem Problem.
Vielen Dank im voraus


Hier ist mein Problem als Code:
Dim TerminTag, TerminMonat, TerminStunde, TerminMinute as Integer
Dim TerminString as String

Private Sub Command1_Click()

Form2.Show

DataVar1 = TerminString

End Sub



'Der Code von Form2:

Private Sub Command1_Click()
TerminString = TerminTag & TerminMonat & TerminStunde & TerminMinute
Unload Me
End Sub

Private Sub Form_Load()
TerminMinute = 0
TerminStunde = 0
TerminMonat = 0
TerminTag = 0
End Sub

Private Sub Option1_Click()
TerminStunde = 1
TerminTag = 1
TerminMonat = 1
TerminMinute = 1
End Sub
 
Erstmal, benutz bitte die Code-Tags für VB ([code=vb] und [/code]), dann ist der Code besser lesbar.

Zu deinem Problem, mir stellt sich die Frage, wo du die Variablen dimensionierst. Wenn du die in der Form1 dimensionierst, kannst du die auch nur in Form1 nutzen. Du müsstest die benutzten Variablen übergreifend dimensionieren, dann gehts. Außerdem musst du die zweite Form Modal aufrufen, dann wartet die erste Form, bis die zweite geschlossen ist:

Visual Basic:
'in einem Modul:
Global TerminString as String

'Form 1:
Private Sub Command1_Click()
 Form2.Show vbModal 'damit Form1 auf Form 2 wartet
 DataVar1 = TerminString
End Sub

'Form 2:
Dim TerminTag, TerminMonat, TerminStunde, TerminMinute as Integer

Private Sub Command1_Click()
 TerminString = TerminTag & TerminMonat & TerminStunde & TerminMinute
 Unload Me
End Sub

Private Sub Form_Load()
 TerminMinute = 0
 TerminStunde = 0
 TerminMonat = 0
 TerminTag = 0
End Sub

Private Sub Option1_Click()
 TerminStunde = 1
 TerminTag = 1
 TerminMonat = 1
 TerminMinute = 1
End Sub


Der Doc!
 

Neue Beiträge

Zurück