Una soluzione a metà strada l'avrei trovata, in ogni caso si presuppone che stiamo lavorando su maschera.
1. Crea una macro in visualizzazione struttura
2. Nel primo rigo Azioni, scrivi FinestraMessaggio, sotto trovi alcune proprietà dove puoi personalizzare un testo per l'invio di un messaggio.
3. Salva la macro con nome
4. Apri la maschera in visualizzazione struttura
5. Vai tra le Proprietà della maschera, scheda Eventi, Su Errore, scrivi dentro il nome della macro
6. Salva la struttura maschera
Questa soluzione fa ancora i conti con l'impostazione di Indice Multicampo Univoco. In caso di errore, Access (attraverso la macro) apre la FinestraMessaggio con il testo personalizzato, ma, subito dopo, mostra ugualmente la sua finestra errore di default.
La tua richiesta, per risolverla in maniera elegante, presuppone un discorso molto ampio sulla "Gestione errori". È una disciplina, a mio parere (non solo di Access ma dell'informatica in generale), molto complessa dove occorre sbatterci la testa con opportune istruzioni in Visual Basic. La gestione errori ha, secondo me, una serie di pro e contro:
Pro: venire incontro alle digitazioni scorrette e aiutare gli utenti più sprovveduti
Contro: Occorre organizzarli molto bene e inserire le opportune istruzioni nei punti giusti. Quando si entra in questo circolo vizioso del domandarsi "ma se ora l'utente dovesse fare così...", le domande al riguardo possono diventare moltissime e sempre più articolate, con conseguente continuo riassesto del set di istruzioni in Visual Basic. In casi esasperati ho visto database che pongono continue domande di conferma di ciò che si è digitato qua o là, rendendo l'input dati sempre meno fluido.
Come hai potuto notare, la mia gestione di questo errore passa, in ogni caso, attraverso il controllo dell'Indice Multicampo Univoco, il quale, se violato, innesca comunque la propria finestra errore di default.
Ripeto, occorre procedere su un'altra strada, il Visual Basic in questi casi la fa da padrone, io qui non sono più in grado di aiutarti, spero davvero che un utente più esperto possa darti una mano.