Grundregel: Access-VBA ist nicht VB.
Ein Access-Textfeld hat (zwar auch) die Text-Eigenschaft (Datentyp String) und die Value-Eigenschaft (Datentyp Variant). Die Text-Eigenschaft entspricht dem eingegebenen Text, die Value-Eigenschaft (zumindest nach dem Speichern und im Falle eines gebundene Textfelds) den Daten in dem jeweiligen an das Textfeld gebundenen Tabellenfeld.
Und da ein „leeres Tabellenfeld“ in aller Regel den Wert NULL enthält, sollte man auch Formularfelder immer durch Zuweisen von NULL an die Value-Eigenschaft leeren. (Man kann die Tabelle auch so einstellen, dass die Tabellenfelder Leerstrings [„leere Zeichenfolge“] aufnehmen können, davon ist aber in aller Regel abzuraten!)
Im Gegensatz zu VB ist die Value-Eigenschaft und nicht die Text-Eigenschaft die Default-Eigenschaft eines Textfelds - und auch hinsichtlich der Ereignisse und ihrer Reihenfolge unterscheiden sich Access und VB in vielen Punkten.
In aller Regel wird man in Access mit der Value-Eigenschaft und nicht mit der Text-Eigenschaft arbeiten - schon, weil die Text-Eigenschaft nur dann zur Verfügung steht, wenn das Textfeld den Fokus hat. Auch arbeitet man besser mit den BeforeUpdate- und AfterUpdate-Ereignissen (die VB gar nicht kennt).
Gruß aus dem Norden
Reinhard Kraasch
(http://www.dbwiki.de - das Datenbank-Wiki)