Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: PeterW am Juli 13, 2020, 09:21:46

Titel: Ereignis
Beitrag von: PeterW am Juli 13, 2020, 09:21:46
Welches Ereignis tritt ein, wenn ich aus einem Formular ein zweites öffne und dieses wieder schließe?
Titel: Re: Ereignis
Beitrag von: DF6GL am Juli 13, 2020, 11:49:17
Hallo,

das Ereignis für das Öffnen des Form ist "Beim Klicken" des Buttons, so Du einen solchen benutzt.
Wird das Form geöffnet, treten mehrere Ereignisse (dieses Forms) auf, z.B. "Beim Öffnen", "Beim Laden", "Bei Aktivierung", "Beim Anzeigen"

Die Ereignisse "Beim Schliessen" , "Beim Entladen" z. B. treten im geöffneten Form auf, wenn dieses geschlossen wird.


 
Titel: Re: Ereignis
Beitrag von: PeterW am Juli 14, 2020, 11:50:15
Danke,
aber welches Ereignis tritt im ersten Formular auf?
Ich ermittle im Formular 2 einen Wert den ich im Formular 1 in ein Textfeld setzen möchte
Titel: Re: Ereignis
Beitrag von: DF6GL am Juli 14, 2020, 12:34:42
Hallo,
Zitataber welches Ereignis tritt im ersten Formular auf?


gar kein Form-Ereignis.. Es tritt das Klick-Ereignis des Buttons auf, auf den Du klickst.


Dort kannst Du mit dem OpenArgs-Parameter der OpenForm-Methode den Wert an das zu öffnende Form übergeben und in dessen Form-Load-Ereignis weiter verarbeiten.

Titel: Re: Ereignis
Beitrag von: Hondo am Juli 14, 2020, 12:41:29
Hallo,
Zitat von: PeterW am Juli 14, 2020, 11:50:15aber welches Ereignis tritt im ersten Formular auf?
keines. Dafür musst du selbst sorgen. Z.B. könnte man das 2. Formular per Code im Dialog öffnen, dann bleibt der Codezeiger im 1. Form an der Stelle stehen bis das 2. Form geschlossen wird.
Beispiel:
DoCmd.OpenForm "Test", , , , , acDialog
MsgBox "Test Ausgeführt"

Gruß Andreas
Titel: Re: Ereignis
Beitrag von: PeterW am Juli 20, 2020, 06:47:06
ich möchte mal formulieren, wo ich eigentlich hin will:
Ich habe im Formular A ein Feld ,,Wert". Aus diesem Feld heraus rufe ich ein Formular B auf, in dem ich Berechnungen ausführe. Das Ergebnis steht dann in der Variablen X. Wenn ich das Formular B schließe soll der Wert X in dem Feld Wert in Formular A stehen.
Wie kann ich das realisieren?
Titel: Re: Ereignis
Beitrag von: DF6GL am Juli 20, 2020, 07:50:13
Hallo,

.
.
.
X= fktMeineBerechung()
Forms!FormularA!Wert = X
.
.
.
Titel: Re: Ereignis
Beitrag von: PeterW am Juli 20, 2020, 11:43:51
Danke Franz, das war die Lösung nach der ich suchte
Titel: Re: Ereignis
Beitrag von: PeterW am Juli 20, 2020, 14:43:42
Zusatzfrage:
wei bwkomme ich die Namen von Formular und Feld in Variable
der Aufruf

Forms!form(var1)!field(var2) = Wert

funktioniert nicht.
In var1 ist der vorher in Formular A ermittelte Fomularname, in var2 ist der Name des Textfeldes
var1 = me!form.name
var2 = "FeldWert"
Titel: Re: Ereignis
Beitrag von: Jonny am Juli 20, 2020, 15:19:00
Hallo
für das Formular kannst du eine Variable aufbauen z.B.
Dim FormVar As Form
Danach die Variable FormVar mit dem Formularnamen füllen.
Titel: Re: Ereignis
Beitrag von: DF6GL am Juli 20, 2020, 16:11:32
Hallo,

Dim X , Var1 as String, Var2 as String

X="abc123"
Var1 ="FormularA"
Var2 = "Feldwert"

Forms(var1).Controls(var2) = X
Titel: Re: Ereignis
Beitrag von: PeterW am Juli 20, 2020, 17:05:58
Noch einmal: vielen Dank