Como condicionar un. Campo de tipo numero de un formulario.access

Tengo un formulario con un campo pedido de tipo numero. El cual. Es diligenciado por cada usuario.

De ingresar un numero de 8 dígitos. Como condicionar ese campo para que no ingresen el mismo numero en. ¿Otra solicitud?

2 respuestas

Respuesta
2

Si no te quieres "complicar" con código, poniendo en la tabla el campo como indexado sin duplicados, ya no te dejará repetir un mismo número.

Por código puedes hacerlo de muchas formas, por ejemplo, programando el evento "Antes de actualizar" del cuadro de texto del formulario de la siguiente manera:

Private Sub Pedido_BeforeUpdate (Cancel As Integer)

If DCount("*","NombreTabla","Pedido=" & Me.Pedido)>0 Then

Msgbox "Número de pedido ya registrado"

Cancel=True

End If

End Sub

Con lo que si intentas repetir un número, te saltará un aviso y no te dejará salir del campo mientras no lo borres o pongas un número válido.

Lo que te pongo en negrita es lo que tendrás que cambiar, que son los nombres del campo y de la tabla.

Un saludo.


Respuesta
1

Si cambia la definición del campo a Indexado sin duplicados puede utilizar una rutina para atrapar el error, por ejemplo:

Private Sub Pedido_BeforeUpdate (Cancel As Integer)

On Error Goto hay_errror

hay_error_exit:

Exit Sub

hay_error:

     If Err.Number=3022 then

       MsgBox "Ya existe el número",vbCritical,"Error.."

     Else

        Msgbox "Ha ocurrido el error " & Err.Number,VbCritical,"Error.."

    Endif

    Resume hay_error_exit

    Cancel=True

End If

Otra forma es en el formulario en el evento Al Ocurrir Un Error utilizando DataErrr, Algo como:

Private Sub Form_Error(DataErr As Integer, Response As Integer)
  If DataErr=3022 then
    MsgBox "Este códigoya exite",vbcritical,"error"
     Response = acDataErrContinue
  End if
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas