Unterform ruft Hauptform

MacInternet

Mitglied
Hallo,

ich muß doch noch mal eine Anfrage hier reinstellen, weil alle Suche bislang vergeblich war.

Ich habe ein Hauptformular, dass ein Unterformular mit "Call" aufruft. Nun wird das Unterformular wieder geschlossen und soll aber in diesem Moment die Routine eines Steuerelementes des Hauptformulars aufrufen.
Will er bloß nicht. Macht er nicht. Egal, ob ich das Form vorher schließe oder nicht.

Ich bin in dem Unterform und will in dem Hauptform die Prozedur "suchen_click()" aufrufen.

Visual Basic:
call form1.suchen
geht genausowenig wie
Visual Basic:
call form1.suchen_click()

oder ähnlich gelagerte Versuche. Auch, wenn ich "call" weglasse, führt das zu den gleichen Fehlermeldungen. Vielleicht ist ja der Befehl "call" hier nicht angebracht.
Kann ich denn mit Call nicht wieder zurück in das Hauptformular springen?
Wenn nicht - wie dann?

Danke schon im voraus für die Mühe,
Gruß Mac
 
Denke die beste Lösung ist, wenn du dein Unterformular modal aufrufst, dann wird die Ausführung des Codes im Hauptformular solange unterbrochen, bis das Unterformular wieder geschlossen ist. Sieht so aus:
Visual Basic:
'Zwei Forms (Form1, Form2) und einen CommandButton (Command1) erstellen
'Das hier auf Form1:
Private Sub Command1_Click()
 Form2.Show vbModal
 MsgBox "Back!"
End Sub

'Form2 braucht keinen Code
Genauso wie bei dem Beispiel funktioniert es dann auch bei dir.


Der Doc!
 
Hallo, DrSoong,

entschuldige bitte die etwas verspätete Antwort. Ich war eine Woche weg - hab aber vorher noch deine Antwort "mitgenommen."

Danke erst mal. Wie immer schnell und zutreffend. Allerdings hab ich nun das Problem, daß ich die Variablen neu definieren darf, weil sonst das Hauptfenster ja nicht weiß, warum das Unterfenster geschlossen wurde. Also was gemacht wurde.

Ok, kann ich machen bzw. habe ich schon gemacht. Allerdings war meine Hoffnung, daß - wenn ein Unterform ein Steuerelement der Hauptform ansprechen kann - es auch eine Prozedur ohne weiteres aufrufen kann.

Aber so geht es halt auch. Vielen Dank noch mal für die schnelle Antwort!

Gruß Mac
 
Du kannst mit Propertys arbeiten.

In der Unterform gibst Du beispielsweise folgenden Code ein:

Code:
Private x as Integer

Friend Property Get RueckgabeVariable() As Integer
   RueckgabeVariable = x
End Property

In der aufrufenden Form gibst Du ein:

Code:
    Dim VarX As Integer
    Form2.Show VbModal
    VarX = Form2.RueckgabeVariable
    Unload Form2

So kannst Du selbstverständlich auch unterschiedliche Variable auswerten.
 
Denke die beste Lösung ist, wenn du dein Unterformular modal aufrufst, dann wird die Ausführung des Codes im Hauptformular solange unterbrochen, bis das Unterformular wieder geschlossen ist. Sieht so aus:
Visual Basic:
'Zwei Forms (Form1, Form2) und einen CommandButton (Command1) erstellen
'Das hier auf Form1:
Private Sub Command1_Click()
 Form2.Show vbModal
 MsgBox "Back!"
End Sub

'Form2 braucht keinen Code
Genauso wie bei dem Beispiel funktioniert es dann auch bei dir.


Der Doc!

Kann es sein, dass das im Access mal wieder nicht geht? Ich bekomme nämlich die Meldung: "Methode oder Datenbankobjekt nicht gefunden".
Statt "Form2" hab ich natürlich den Namen eines meiner Formulare eingegeben "[FORM_frm_blabla].Show vbModal"

gruß
 
Zurück