Chiedo scusa ma nella fretta di postare ho dimenticato di indicare il linguaggio di programmazione, il programma è Access ed il linguaggio è Visual Basic.
codice:
Private Sub NUMERO_BeforeUpdate(Cancel As Integer)
On Error GoTo Err_NUMERO_BeforeUpdate
Dim sSQL As String
Dim sNomeCampo As String
Dim sNomeTabella As String
Dim NR As Integer
sNomeCampo = "numero"
sNomeTabella = "archivio"
sSQL = sNomeCampo & " LIKE '" & Me.NUMERO.Value & "'"
NR = DCount(sNomeCampo, sNomeTabella, sSQL)
If NR > 0 Then
MsgBox "ATTENZIONE! IL NUMERO: " & NUMERO& vbCrLf & "è già presente nel database.", vbExclamation, "AVVISO"
NUMERO.SelStart = 0
DoCmd.CancelEvent
Else
End If
Exit_Inserimento_Click:
Exit Sub
Err_NUMERO_BeforeUpdate:
MsgBox Error$
Resume Exit_Inserimento_Click
End Sub
La presente Routine svolge il seguente compito:
1) controlla che il numero inserito sia univoco
2) se rileva un numero non univoco lo segnala
3) aspetta, dopo aver visualizzato il messaggio di errore, che venga premuto il tasto OK o che sia digitato il tasto INVIO
4) si posiziona all'inizio del campo numero ed aspetta il nuovo dato ma NON CANCELLA IL DATO NON UNIVOCO, lo devo cancellare con il tasto CANC
Domanda: "che istruzione devo dargli per avere il campo pulito e pronto all'inserimento, dimenticavo l'inserimento avviene tramite maschera (Protocollazione)".
Grazie infinite e scusatemi ancora per la "cappellata" di prima.
Primeros