Newsgroup: it.comp.appl.access
Titolo: Intercettare Messaggio

Ciao a tutti
Volevo sapere se è possibile intercettare il messaggio
che access dà  ogni qual volta c'è un problema.
Mi spiego,
durante l'inserimento di alcuni dati in una sottomaschera  può capitare
di inserire due volte lo stesso codice, ma non essendo possibile perchè
il controllo accetta solo dati univoci, mi compare il messaggio standard di
access che mi dice tutto e il contrario di tutto,
Allora io vorrei  poterlo intercettare per inserire il mio messaggio ,
simile al messaggio che ho per la funzione su non in elenco ,
Ho provato a inserire qualcosa nella funzione prima di aggiornare oppure
dopo inserimento della sottomaschera, ma non ho avuto successo.
Aspetto qualche consiglio
GRAZIE
Ciao Giuseppe

 ha scritto nel messaggio
news:tDFJ9.6179$lV4.2...@news2.tin.it...

Se la tabella che contiene i dati si chiama Tabella1.
Se il campo per il quale hai impostato a Si (Duplicati non ammessi) la
proprietà Indicizzato si chiama Nominativo.
Se il campo Nominativo è di tipo Testo.
Se il controllo della maschera associato al campo Nominativo si chiama anche
lui Nominativo.
Imposta a No la proprietà Indicizzato del campo Nominativo.
Nella maschera, a fronte dell'evento "Prima di aggiornare" della casella di
testo Nominativo genera il seguente codice VBA:
Private Sub Nominativo_BeforeUpdate(Cancel As Integer)
If Not IsNull(DLookup("Nominativo", "Tabella1", _
"Nominativo=" & Chr$(34) & Me!Nominativo & _
Chr$(34))) Then
    MsgBox "Nominativo " & Me!Nominativo & _
    " già esistente"
    Cancel = True
    Me!Nominativo.Undo
End If
End Sub
Naturalmente nel messaggio ci scrivi quello che ti pare.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 simile al messaggio che ho per la funzione su non in elenco ,
Bisogna distinguere tra messaggi di conferma e quelli di errore.
Quelli di conferma sono quelli disattivabili con il docmd.setwarnings.
Questi messaggi però non sono intercettabili, devi essere tu a priori a
sapere quando capiteranno e quindi li disattivi per eventualmente fornirne
di personalizzati.
Quelli di errore invece sono intercettabili mediante il comando
On Error
Ti consiglio di guardare bene gli esempi sull'help.
In generale comunque si tratta di fare qualcosa quando si genera un errore
in modo da andare a verificare che tipo di errore sia e comportarsi di
conseguenza.
Antonio

 ha scritto nel messaggio
news:iGLJ9.4493$TC5.1...@twister1.libero.it...

Ciao Roberto
Il controllo nella sottomaschera si chiama IDProdotto è casella combinata, è
associato al campo IDprodotto
della tabella  TblProdotti  è di tipo contatore ,
la casella combinata IDprodotto  ha come origine riga una query  con due
campi  IDprodotto e CodiceProdotto
la colonna associata è la prima ed è a lunghezza zero  .
CodiceProdotto è di tipo Testo , è   chiave primaria della tabella
TblProdotti , è indicizzato ed univoco
e non posso cambiarlo.
La sottomaschera in questione è SottomascheraOrdini di solo inserimento
ovvero non va a modificare i dati
della TblProdotti , ma "pesca" solo il CodiceProdotto e lo inserisce nella
sottomaschera che a sua volta
crea un report . Il fatto che cercando di inserire un CodiceProdotto già
inserito qualche riga prima mi
visualizzi un errore mi sta proprio bene , mi piacerebbe solo cambiare il
testo del messaggio
Se é possibile OK altrimenti rimane così
Ti saluto e ti ringrazio comunque
Ciao Giuseppe

 ha scritto nel messaggio
news:o9%J9.9375$ab2.2...@news1.tin.it...

Non puoi modificare il testo del messaggio di errore a tuo piacimento.
Puoi però fare in maniera che l'errore non si generi (impostando a No la
proprietà indicizzato del campo) e poi effettuare tu la verifica che il
valore del campo sia univoco: la verifica la farai a fronte dell'evento
"Prima di aggiornare" del controllo associato al campo in questione; il modo
per fare la verifica te lo ho esemplificato nel mio messaggio precedente.
