none
Nach welchem Ereignis sind die Daten verfügbar?

    Frage

  • Hallo alle zusammen,

    Beim Öffnen eines Formulares werden der Reihe nach verschiedene Ereignisse aufgerufen:

    Form_Open
    Form_Load
    Form_Curent
    Detailbereich_Paint
    Formularfuß_Paint 

    Form_Current sollte eigentlich "wechseln zwischen den Datensätzen sein" Ok, macht Sinn, wenn ich ein Formular öffne, wird ja zum ersten Datensatz hin gewechselt.

    ABER: Ab wann, also ab welchem Ereignis sind die Daten verfügbar? ich habe eine ungebundene Textbox (tbMeinWert) welche zwei Datenfelder zusammen zählt. In welchem Ereignis erhalte ich mit debug.print me.tbMeinWert.Value einen gültigen Wert zurück?

    Bisher habe ich alle Ereignisse probiert, aber keines liefert mir einen Wert.

    Mache ich hingegen in Form_Curent einen Breakpoint und rufe den debug.print erst nach dem Breakpoint auf, dann erhalte ich einen Wert. Das kann ich aber dem Anwender nicht zumuten, dass der immer auf einen Breakpoint aufläuft.

    Dankbar für jede Information welche zur Auswertung der Textbox führt.

    Viele liebe Grüsse

    Mittwoch, 29. März 2017 18:46

Alle Antworten

  • Wo setzt du tbMeinWert (Me!tbMeinWert = Me!Feld1 + Me!Feld2)? Normalerweise muss man das in Form_Open, Form_Current und Form_AfterUpdate machen, damit alles klappt.

    Matthias Kläy, Kläy Computing AG

    Donnerstag, 30. März 2017 06:55
  • Guten Abend Matthias,

    Ich habe das im Steuerelement bei der Eigenschaft Steuerelementinhalt gesetzt.

    Und wenn das Formular fertig aufgebaut ist, werden die Daten auch alle angezeigt.

    Nun möchte ich aber, wenn in einem anderen Fomular ein Refresh auf mein Form ausgelöst wird, die Daten auslesen.

    Dazu schreibe ich zum Beispiel im Form_Current MsgBox tbMeinWert.value. Da ist aber nix drinn. Setze ich jedoch auf den MsgBox Befehl im Form_Current ein Breakpoint, dann habe ich den Wert der da drinn steht...

    Stirnrunzelnd mit sehr viele Fragezeichend, hoffnungsvoll grüssend...

    Donnerstag, 30. März 2017 21:17
  • Wie setzt du den berechneten Wert? Mit

      = [Feld1] + [Feld2]

    in der ControlSource-Eigenschaft von tbMeinWert?

    Dann hilft wahrscheinlich ein ReCalc unmittelbar nach dem ReFresh:

      DeinFormular.ReFresh

      DeinFormular.ReCalc

    Matthias Kläy, Kläy Computing AG

    Freitag, 31. März 2017 11:35