Windows 7 - Campo llave

Asked By mauricio on 26-Jan-10 04:09 PM
No se si lo que vaya a preguntar tenga logica o no?

Pero por lo visto access solo valida que un campo llave no este repetido
hasta el momento en que se vaya a ingresar un nuevo registro.

lo que yo quiero es hacerlo en el momento en que se ingresa el campo llave,
para lo cual en el evento al salir del campo he puesto lo siguiente:

Private Sub Nit_Exit(Cancel As Integer)
If DLookup("NiT", "Datos Empresa", "Nit =" & Nit) = Me.Nit Then
MsgBox "El Nit " & A??o & " ya se encuentra en la base de datos, debe
introducir  otro Nit distinto a este", vbCritical, "Error al ingresar datos"
Me.Nit.SetFocus
End If
End Sub

bueno ami me funciona, lo quiero saber si lo que estoy haciendo es correcto
o hay otra forma mas adecuada de hacerlo.

Gracias
--
mao




José_Mª_Fueyo replied to mauricio on 27-Jan-10 10:02 AM
Hola
Es correcto, pero m=E1s correcto es hacerlo en el evento "antes de
actualizar" del control, y establecer el Cancel a true para que no
pierda el control el foco.

Salu2
--
Jos=E9 M=AA Fueyo
[MS MVP Access]
mauricio replied to José_Mª_Fueyo on 27-Jan-10 10:06 AM
Gracias Jose Ma, he puesto el siguiente codigo en el evento antes de
actualizar:

Private Sub A??o_BeforeUpdate(Cancel As Integer)
If DLookup("A??o", "Aumentos", "A??o=" & A??o) = Me.A??o Then
Cancel = True
MsgBox "El a??o " & A??o & " ya se encuentra en la base de datos, debe
introducir un a??o distinto a este", vbCritical, "Error al ingresar datos"
End If
End Sub

sin embargo luego de dar click en el boton aceptar, inmediatamente access me
saca un mensaje:

El valor infrige la regla de validacion para el campo o registro
Por ekemplo, es posible que haya cambiado una regla de validaci??n sin
comprobar si los nuevos datos existentes coinciden con la nueva regla de
validaci??n. Haga click en deshacer para restaurar el valor anterior  o
escriba un valor nuevo que cumpla la regla de validacion para el campo o
registro.

Es de anotar que este mensaje no me salia antes y que en el campo no tengo
ninguna regla de validaci??on.

Podrias ayudarme con esto. Gracias
--
mao