Newsgroup: it.comp.appl.access
Titolo: Personalizzare "errore run-time 2110".............

Salve a tutti!
E' possibile personalizzare il messaggio d'errore di runtime 2110?
Ho provato, a fronte dell'evento su prima e dopo aggiornamento di una
casella combinata con il codice:
If err.number=2110 ecc.ecc.
ma non funge!
Non capisco come si può intercettare.
Grazie dell'attenzione.
Marco.

 ma non funge!
cioč la situazione: cosa fai, cosa succede?
-- 
HTH
Karl
*********
Access FAQ: 
www.donkarl.com/it
 

 Non capisco come si può intercettare.
Magari è inutile dirlo ma
- Devi intercettarlo nell'evento che lo scatena
- Ci deve essere l'istruzione On error goto $nome_a caso
- Dopo l'Exit Sub di fine procedura, inserisci l'etichetta $nome a caso 
con if err.number= ecc.
Secondo me sbagli il primo punto

Allora:
in una maschera ho il controllo, casella combinata, con duplicati non
ammessi.
Nell'evento della maschera, "Su errore", ho inserito la routine che
controlla l'errore 3022. Quando tento di inserire un dato esistente,
interviene "Errore di run-time 2110........" perchè dopo
l'aggiornamento, si deve spostare su un altro controllo. Termino
l'errore ed interviene il messaggio personalizzato "dato già
esistente" ma, poi, ovviamente, arriva il messaggio "The changes you
requested to the table were not successful because they would create
duplicte values in the index, primary key, ..................etc,etc."
Il mio codice:
Su errore della maschera:
-------------------------------------------------------------------------------------------------
Private Sub Form_Error(DataErr As Integer, Response As Integer)
If DataErr = 3022 Then
errore:
MsgBox "Dato già esistente", vbOKOnly
Me.Undo
End If
End Sub
------------------------------------------------------------------------------------------------
Su dopo aggiornamento controllo:
------------------------------------------------------------------------------------------------
Me.MioControllo.Requery
Me.MiaSottoMascherai.SetFocus
-----------------------------------------------------------------------------------------------
Ho provato ad inserire la condizione dell'errore 2110 ma non so, a
questo punto, dove va messa per farla funzionare.
Grazie per l'attenzione.
Marco.

 ...
Nella stessa procedura dove fai il SetFocus.
Se non funziona posta il tuo vero e intero codice rilevante.


 Access FAQ:
www.donkarl.com/it
Allora, mi funziona solo in questa maniera:
su evento errore della maschera:
Private Sub Form_Error(DataErr As Integer, Response As Integer)
If DataErr = 3022 Then
MsgBox "Dato già esistente", vbOKOnly
Me.Undo
Response = acDataErrContinue
End If
End Sub
su evento dopo aggiornamento, della casella combinata:
Private Sub IdLocalita_AfterUpdate()
If Err.Number = 3022 Then
Me.Undo
GoTo fine
Me.PROVINCIA.Requery
Me.SottRecapiti.SetFocus
fine:
End If
End Sub
l'errore 2110, a questo punto, sembrerebbe non necessario (ancora non
sono riuscito ad "intercettarlo").
Eventuali suggerimenti, sono ben accettati :-)
Grazie ancora della squisita attenzione.
Marco.

 ...
Non capisco il tuo codice, qual'è il controllo senza duplicati, perché
fai due Undo, perché fai il Requery ecc. o se ancora hai problemi
con l'errore 2110 o no. Però se sì, puoi intercettarlo circa così:
Private Sub IdLocalita_AfterUpdate()
    On Error Goto MyError
    Me!PROVINCIA.Requery
    Me!SottRecapiti.SetFocus
myExit:
    Exit Sub
myError:
    Select Case Err.Number
        Case 2110
            ' qui un msgbox o niente o cosa vuoi fare se succede l'errore 
2110
            ' forse anche solo partire con:
            ' Resume myExit
        Case Else
            MsgBox "piccolo eccezione: " & Err.Number & " " & 
Err.Description
            Resume myExit
    End Select
End Sub


 ha scritto nel messaggio 
news:a6e64098-2d40-4014...@p2g2000prn.googlegroups.com...
Salve a tutti!
E' possibile personalizzare il messaggio d'errore di runtime 2110?
Ho provato, a fronte dell'evento su prima e dopo aggiornamento di una
casella combinata con il codice:
If err.number=2110 ecc.ecc.
ma non funge!
Non capisco come si puň intercettare.
Grazie dell'attenzione.
Marco.
[risposta]
Perché non gestisci l'evento "su non in elenco" della casella combinata?
Ciao.
-- 
Sergio MAZZA