Access - DataErr = 3101

 
Vista:

DataErr = 3101

Publicado por Orlando (16 intervenciones) el 26/03/2007 03:34:05
Hola tengo esta rutina que alguien me dio aca en este forum, funciona muy bien el problema es que tengo 2 text box uno es el codigo del departamento que funciona con el codigo que esta abajo y el otro es el codigo del parking lot asignado, ambos text box mandan un error 3101 cuando cuando no se incluye el codigo o el codigo no es valido, mi pregunta es como puedo diferenciar que text box me esta mandando el error para mandar un mensaje diferente con respecto al parking lot.

Gracias

Private Sub Form_Error(DataErr As Integer, Response As Integer)
If DataErr = 3101 Then 'The Department code is blank or wrong
Response = MsgBox("You need to enter a valid Department ID!", vbExclamation, "Department ID id Blank")
Response = acDataErrContinue
Dept.SetFocus
End If

End Sub
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
Imágen de perfil de Alejandro

Diferenciar errores en campos "codigo del departamento" y "codigo del parking lot"

Publicado por Alejandro (4142 intervenciones) el 07/08/2023 20:36:32
Para diferenciar entre los errores que ocurren en el campo "codigo del departamento" y el campo "codigo del parking lot asignado", puedes modificar la rutina del evento "Form_Error" para que examine el valor del campo en el que ocurrió el error.

Aquí te muestro cómo hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Form_Error(DataErr As Integer, Response As Integer)
    If DataErr = 3101 Then
        ' Verificar el campo en el que ocurrió el error
        If Me.ActiveControl.Name = "codigo_departamento" Then
            ' El error ocurrió en el campo "codigo del departamento"
            Response = MsgBox("You need to enter a valid Department ID!", vbExclamation, "Department ID is Blank or Invalid")
            Response = acDataErrContinue
            Dept.SetFocus
        ElseIf Me.ActiveControl.Name = "codigo_parking_lot" Then
            ' El error ocurrió en el campo "codigo del parking lot asignado"
            Response = MsgBox("You need to enter a valid Parking Lot ID!", vbExclamation, "Parking Lot ID is Blank or Invalid")
            Response = acDataErrContinue
            ParkingLot.SetFocus
        End If
    End If
End Sub

En este código, estamos utilizando la propiedad "ActiveControl" para obtener el nombre del control (el nombre del campo) que tenía el enfoque cuando ocurrió el error. Luego, comparamos ese nombre con los nombres de los dos campos que queremos diferenciar ("codigo_departamento" y "codigo_parking_lot"). Si el error ocurrió en el campo "codigo_departamento", mostraremos un mensaje indicando que se necesita un ID de departamento válido. Si el error ocurrió en el campo "codigo_parking_lot", mostraremos un mensaje indicando que se necesita un ID de parking lot válido.

Recuerda reemplazar "codigo_departamento" y "codigo_parking_lot" con los nombres reales de los campos en tu formulario.

Con esta modificación, ahora deberías poder diferenciar entre los errores que ocurren en cada campo y mostrar mensajes diferentes según corresponda.

Espero que esta solución te sea útil. ¡Buena suerte!
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