Visual Basic - COntrol errores en DATAGRID

Life is soft - evento anual de software empresarial
 
Vista:

COntrol errores en DATAGRID

Publicado por Raul (2 intervenciones) el 25/01/2010 11:50:05
Hola, tengo un datagrid donde cargo una tabla concreta... puedo hacer perfectamente las actualizaciones y añadir datos y todo, pero necesito saber como controlar los errores al introducir los campos...

por ejemplo, tengo un campo "ciudad", la ciudad en Access solo puede ser "AAA", "BBB" y "CCC", por tanto cuando modifico un cliente, si en el campo ciudad pongo otra cosa, debe avisarme que solo puedo introducir AAA o BBB o CCC...

NO se que evento debo usar ni como controlar esto...Uso visual studio 2008,,,

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:COntrol errores en DATAGRID

Publicado por Pedro Luis (878 intervenciones) el 25/01/2010 13:09:48
Te muestro algo que hice hace tiempo en DBgrid

Private Sub DBGrid1_BeforeColUpdate(ByVal ColIndex As Integer, OldValue As Variant, Cancel As Integer)
DBGrid1.Columns(ColIndex).Text = UCase(DBGrid1.Columns(ColIndex).Text)
DBGrid1.Columns(0).Text = MiVar
Select Case ColIndex
Case 1
If DBGrid1.Columns(ColIndex).Text <> "EQ" And _
DBGrid1.Columns(ColIndex).Text <> "CO" And _
DBGrid1.Columns(ColIndex).Text <> "ES" And _
DBGrid1.Columns(ColIndex).Text <> "AC" Then
Beep
MsgBox ("Esta columna solo admite EQ (Equipamiento), CO (Contratación), ES (Estudiantes) O AC (Actividades)")
Cancel = True
Exit Sub
End If
Select Case DBGrid1.Columns(ColIndex).Text
Case "EQ"
DBGrid1.Columns(ColIndex).Text = "EQUIPAMIENTO"
Case "CO"
DBGrid1.Columns(ColIndex).Text = "CONTRATACION"
Case "ES"
DBGrid1.Columns(ColIndex).Text = "ESTUDIANTES"
Case "AC"
DBGrid1.Columns(ColIndex).Text = "ACTIVIDADES"
End Select

Case 2, 4
If Not IsNumeric(DBGrid1.Columns(ColIndex).Text) And _
DBGrid1.Columns(ColIndex).Text <> "" Then
Beep
MsgBox ("Aquí hay que introducir un Número")
Cancel = True
End If
If ColIndex = 2 Then
If Len(DBGrid1.Columns(2).Text) < 3 And Val(DBGrid1.Columns(2).Text) < 80 Then
DBGrid1.Columns(2).Text = Val(DBGrid1.Columns(2).Text) + 2000
ElseIf Len(DBGrid1.Columns(2).Text) < 3 And Val(DBGrid1.Columns(2).Text) > 80 And Val(DBGrid1.Columns(2).Text) < 100 Then
DBGrid1.Columns(2).Text = Val(DBGrid1.Columns(2).Text) + 1900
End If
End If
End Select
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar