L'evento è Su Pressione.
Ho verificato con questo codice:
Private Sub TextField_KeyPress(KeyAscii As Integer)
MsgBox "Press! "
End Sub
Vedrai che ogni volta che premi un tasto uscirà la MsgBox.
Allora ho provato a gestire il tasto premuto:
Private Sub TextField_KeyPress(KeyAscii As Integer)
MsgBox "Press! " & Me.TextField
End Sub
Beh, il messaggio che compare è sempre "Press! ". Questo significa che viene intercettata l'effettiva pressione del tasto ma il testo digitato non è ancora salvato nel controllo.
Quindi per fare riferimento ai caratteri digitati fino a quel momento devi fare riferimento a:
Me.TextField.Text
Per completezza, ti consiglio di vedere le differenze tra le proprietà .Text .Value e .OldValue.