Ci sono diversi eventi nelle dbgrid che possono rivelarsi utili per controllare i valori immessi nei campi, tipo:
Private Sub DBGrid1_BeforeColUpdate (ByVal ColIndex As Integer, OldValue As Variant, Cancel As Integer)
End Sub
Questo evento si scatena dopo che è stato modificato il valore nella
cella e prima dell'update. Quindi puoi controllare se è stato messo null o spaces in un campo numerico.
ColIndex = indice cella
oldvalue = vecchio valore
Cancel = True o 1 (ripristina il valore precedente)
DBGrid1.Columns(ColIndex).Value = attuale valore della cella
E poichè la dbgrid è normalmente associata ad un controllo data puoi verificare gli attributi del campo in questo modo:
If Data1.Recordset(ColIndex).Type = dbLong and (IsNull(DBGrid1.Columns(ColIndex).Value) Or (DBGrid1.Columns(ColIndex).Value) = "") Then
Msgbox("Valore errato"),VbCritical,"ATTENZIONE"
Cancel = 1
End If
In questo modo non dovrebbe darti più errore.
Tieni presente che esiste per la DBGrid anche l'evento error per intercettare gli errori della griglia.
Ciao

Rispondi quotando