Non credo sia fattibile quello che chiedi, perchè il sistema rielabora la data a monte del tuo controllo, quindi per il sistema la data ha solo 2 opzioni o è Valida o No…!
Esempio:
#30/02/2023# Questo restituisce Errore non è una data, usando cDate o IsDate stessa cosa
#13/13/2023# Questo restituisce Errore non è una data, usando cDate o IsDate stessa cosa
ma
#16/02/2023# e #02/16/2023# il sistema le considera lo stesso valore #02/16/2023#
Quindi nessuna funzione legata alle date potrà fare quello che pensi debba essere invece normale fare.
Puoi ottenere quello che chiedi solo se, converti con cStr(ValoreData) e vai ad analizzare le 3 Componenti singole con un sistema di Validazione a 2 caratteri per gg, mm ed aaaa
Oppure spezzi l'inserimento con 3 TxtBox nelle quali vai adefinire il criterio di Validazione nella Singola TextBox…
In quella dei gg metterai >0 AND < 31 (ovviamente se non sa il mese…)
In quella dei mm metterai >0 AND <12
Per gli anni… quello che vuoi >2020 AND <2050
Saluti