Evitar Registros Repetidos.
Hola, tengo una base de datos en access y al insertar datos en un formulario quiero evitar que se puedan insertar duplicados. Eso ya lo he conseguido definiendo un indice con los campos de la tabla que son clave principal. Lo que pasa es que cuando ocurre que el usuario intenta insertar un registro repetido se inserta uno por defecto, eso me gustaría evitarlo sacando un mensaje de error para que no acepte ese registro.
Lo que hago es comprobar en el evento "antes de actualizar" lo siguiente:
Private Sub Ejercicio_BeforeUpdate(Cancel As Integer)
Dim Ejercicio1 As Integer
Ejercicio1 = CInt(Me.Ejercicio.Value)
Dim rs As Object
Set rs = Me.Recordset
If rs.Ejercicio = Ejercicio1 Then
MsgBox "Este ejercicio ya existe", vbOKOnly, "Atención"
End If
End Sub
Lo mismo quiero hacer con otro campo que se llama trimestre y que es una lista desplegable en la que se pueden elegir 4 valores distintos. Es decir que hago lo mismo con el trimestre que con el ejercicio, la única diferencia seria que el campo es de tipo string. Esto funciona a veces, pero no siempre y en el caso de los trimestres solo funciona con uno de ellos. ¿Sabes por qué puede ser esto?
¿Tienes una solución mejor?
Espero que me puedas ayudar, es urgente.
Muchas gracias... Saludos!
Lo que hago es comprobar en el evento "antes de actualizar" lo siguiente:
Private Sub Ejercicio_BeforeUpdate(Cancel As Integer)
Dim Ejercicio1 As Integer
Ejercicio1 = CInt(Me.Ejercicio.Value)
Dim rs As Object
Set rs = Me.Recordset
If rs.Ejercicio = Ejercicio1 Then
MsgBox "Este ejercicio ya existe", vbOKOnly, "Atención"
End If
End Sub
Lo mismo quiero hacer con otro campo que se llama trimestre y que es una lista desplegable en la que se pueden elegir 4 valores distintos. Es decir que hago lo mismo con el trimestre que con el ejercicio, la única diferencia seria que el campo es de tipo string. Esto funciona a veces, pero no siempre y en el caso de los trimestres solo funciona con uno de ellos. ¿Sabes por qué puede ser esto?
¿Tienes una solución mejor?
Espero que me puedas ayudar, es urgente.
Muchas gracias... Saludos!
1 respuesta
Respuesta de consite