Loeschen von Feldinhalten im gebundenen Formular abfangen

24/06/2008 - 09:28 von Irmgard Schwenteck | Report spam
Hallo,

es gelingt mir nicht, die Fehlermeldung "Sie können den NULL-Wert nur
einer Variablen vom Typ Variant zuweisen" abzufangen.

es ist ein gebundenes Formular A2003 -> MS-SQL2000
einige Zahlenfelder sind mit "not null" in der Datenbank definiert, als
default ist 0 eingestellt, sowohl in der Datenbank als auch im Formular.

Wenn der Benuter nun das Feld einfach löscht, weil er keinen Betrag
eingeben will, kommt diese Fehlermeldung.
Dieser Fehler kommt offenbar noch vor dem Ereignis "vor Aktualisierung".
Bei "geàndert" (dirty) kann ich nicht eingreifen, weil das auf jeden
Tastendruck anspricht und ich nicht weiß, wann der Benutzer fertig ist.
Oder ich habs falsch angefangen:

If nz(Me!Kosten, 0) = 0 Then Me!Kosten = 0

Damit dachte ich, das abfangen zu können - aber an welches Ereignis kann
ich das hàngen?

Gruß
Irmgard
 

Lesen sie die antworten

#1 Jens Schilling
24/06/2008 - 11:31 | Warnen spam
Hallo, Irmgard

Irmgard Schwenteck wrote:
Hallo,

es gelingt mir nicht, die Fehlermeldung "Sie können den NULL-Wert nur
einer Variablen vom Typ Variant zuweisen" abzufangen.

es ist ein gebundenes Formular A2003 -> MS-SQL2000
einige Zahlenfelder sind mit "not null" in der Datenbank definiert,
als default ist 0 eingestellt, sowohl in der Datenbank als auch im
Formular.
Wenn der Benuter nun das Feld einfach löscht, weil er keinen Betrag
eingeben will, kommt diese Fehlermeldung.
Dieser Fehler kommt offenbar noch vor dem Ereignis "vor
Aktualisierung". Bei "geàndert" (dirty) kann ich nicht eingreifen,
weil das auf jeden Tastendruck anspricht und ich nicht weiß, wann der
Benutzer fertig ist. Oder ich habs falsch angefangen:

If nz(Me!Kosten, 0) = 0 Then Me!Kosten = 0

Damit dachte ich, das abfangen zu können - aber an welches Ereignis
kann ich das hàngen?



Die Fehlermeldung kann ich jetzt nicht nachvollziehen, die würde ich
erwarten, wenn ich im Code einem falschen Variablen-Typ den Wert Null
zuordnen möchte, aber egal...

Probier doch mal im Ereignis "Vor Aktualisierung" des Feldes etwas wie

If IsNull(Me!Kosten) Then
Cancel = True
MsgBox "Die Null bleibt!!"
Me.Undo
End If

Gruss
Jens
______________________________
FAQ: http://www.donkarl.com

Ähnliche fragen