Occhio alla gestione dei campi di EDIT e della tastiera ... ci sono anche "caratteri" che non sono caratteri ma bensi "valori" funzionali come le frecce, il CANC, l'ESC, il PGDN, l'ALT, etc ....... e l'utente potrebbe premerli per correggere l'Input.
Il KEYPRESS non intercetta questi "tasti" normalmente. Quindi non si possono prendere i singoli caratteri digitati e "concatenarli" per vedere quale è il valore effettivo.
Occhio anche al copia / incolla ...
Quindi forse è meglio concentrarsi su ciò che c'è nel campo in ogni modifica senza leggere il carattere di per se e valutare ogni composizione per vedere se è valida sino a quel punto.
Ma non esiste in VBA un controllo tipo TMASKEDIT (cioè quello che si vede con le lineette e le barrette a suddividere i campi '__/__/__') con la sua definzione di validità di immisione ?