Steuerelement.BeforeUpdate Problem

18/09/2008 - 16:59 von Hans Peters | Report spam
Hallo NG,

stehe mal wieder auf dem Schlauch, und bin wohl wieder halb blind, weil
ich nix finde.

Habe folgendes Problem:
In mehreren Ufos habe ich jeweils ein ungebundenes Textfeld, in dem ich
natürlich Eingaben machen kann.
Über das BeforeUpdate-Ereignis werden dann diverse Prüfungen
durchgeführt, im Anschluss div. andere Werte gesetzt. Oder Cancel wird
gesetzt, falls die Eingabe fehlerhaft war, damit ich das Feld erst
verlassen kann wenn die Eingaben korrekt sind.
Jetzt will ich in diesem Textfeld per Code vom Hauptformular aus einen
Wert zuweisen, der allerdings korrekt ist. Damit löse ich allerdings das
BeforeUpdate-Ereignis, der gesamte Code dazu steht im Ufo, nicht aus, und
ein Teil der vom Wert abhàngigen Aktionen werden daher nicht ausgeführt.
Kann ich das BeforeUpdate-Ereignis für ein Steuerelement auch per Code
auslösen? Oder muss ich meinen Code so umstricken, dass ich die ganzen
BeforeUpdate-Routinen global aufrufbar mache?

Gruß

Hans
 

Lesen sie die antworten

#1 Karl Donaubauer
18/09/2008 - 17:11 | Warnen spam
Hans Peters wrote:
In mehreren Ufos habe ich jeweils ein ungebundenes Textfeld, in dem
ich natürlich Eingaben machen kann.
Über das BeforeUpdate-Ereignis werden dann diverse Prüfungen
durchgeführt, im Anschluss div. andere Werte gesetzt. Oder Cancel wird
gesetzt, falls die Eingabe fehlerhaft war, damit ich das Feld erst
verlassen kann wenn die Eingaben korrekt sind.
Jetzt will ich in diesem Textfeld per Code vom Hauptformular aus einen
Wert zuweisen, der allerdings korrekt ist. Damit löse ich allerdings
das BeforeUpdate-Ereignis, der gesamte Code dazu steht im Ufo, nicht
aus, und ein Teil der vom Wert abhàngigen Aktionen werden daher nicht
ausgeführt. Kann ich das BeforeUpdate-Ereignis für ein Steuerelement
auch per Code auslösen? Oder muss ich meinen Code so umstricken, dass
ich die ganzen BeforeUpdate-Routinen global aufrufbar mache?



2 Varianten:

1. Du setzt den Fokus auf das Textfeld im UFo und verwendest
die Text-Eigenschaft, um das Ereignis auszulösen:

Me!DeinUFo.SetFocus
Me!DeinUFo!DeinTextfeld.SetFocus
Me!DeinUFo!DeinTextfeld.Text = 4711

2. Du deklarierst die BeforeUpdate-Sub als Public und
rufst sie vom Hauptformular aus auf:

Me!DeinUFo!DeinTextfeld = 4711
Me!DeinUFo.Form.DeinTextfeld _BeforeUpdate False

HTH
Karl
********* Ich beantworte keine Access-Fragen per Email. *********
Access-FAQ: http://www.donkarl.com
Access-Entwickler-Konferenz (AEK11), Oktober 2008, Nürnberg

Ähnliche fragen