Comprobación de datos en access

Alguien me puede ayudar. Se lo agradecería.
Necesito comprobar que los datos que se van rellenando en un formulario no estén repetido, y si lo están que me saque aquellos registros que coincidan.
Respuesta
1
Sin datos más concretos no se puede dar una respuesta precisa, pero allá va:
En el evento AfterUpdate de cada campo, realiza un DLookUp a la tabla para ver si existe una coincidencia. Si existe, podrías abrir un recordset para rellenar el resto de los campos.
No se si te servirá, pero comprenderás que la pregunta es muy vaga.
Xavi
www.mvp-access.com
Otra vez el pesado.
Ya he conseguido que la compilación no me de errores pero al ejecutar el programa me da un error. ¿Me puedes ayudar?
El error es La expresion despues de actualizar que introdujo como la propiedad del evento produjo un error: end if sin bloque if.
Como he dejado la expresión es:
Private Sub ApellidosContacto_AfterUpdate()
If Nz(DLookup("[ApellidosContacto]", "[Clientes1]", "[ApellidosContacto]='" & Me!ApellidosContacto & "'"), "No existe") <> "No existe" Then MsgBox "El apellido esta repetido"
End If
End Sub
En el evento Después de Actualizar de cada campo que quieras verificar, busca ese valor en tu tabla. Supongamos una tabla Clientes. Al introducir el código en el textbox Código, en su evento después de actualizar, buscas ese código en la tabla:
If Nz(DLookUp("[Codigo]","[Clientes]","[Codigo]='" & Me!Codigo & "'"), "No existe") <> "No existe" Then
MsgBox "El codigo introducido ya existe!"
End if
Otra forma seria contar los registros coincidentes.
Dim contador as Integer
contador = DCount("*","[Clientes]","[Codigo]='" & Me!Codigo & "'")
If contador> 0 Then
MsgBox "Existe(n) " & contador & " registro(s) con ese codigo!"
End if
Dos recomendaciones:
1. La ayuda de Access. Escribes DLookUp o DCount en la ventana de código, lo seleccionas y F1 (Ayuda)
2. Pasate por www.mvp-access.com/foro, donde podrás encontrar mucha información
Xavi
www.mvp-access.com
Muchísimas gracias por contestarme.
Me podrías aclarar como hacer esos que me has respondido. No tengo mucha idea de programación. Se utilizar el Access pero no en el nivel de programación, vamos el nivel avanzado.
Muchas gracias de nuevo y un saludo.
raul
El campo que tu estas buscando (ApellidosContacto), eso es un String, por lo que el criterio debería ir con comillas simples. La comilla de inicio la has puesto mal (justo antes del &), cuando deberia ir despues del =. En las comillas dobles antes del ) de cierre, debe ir una comilla simple ' entre las dos comillas dobles.
If Nz(DLookUp("[ApellidosContacto]","[Clientes1]","[ApellidosContacto]='" & Me!ApellidosContacto & "'"),"No existe").....
Te da error ya que las comillas simples equivalen a Rem (para hacer un comentario) y, al encontrarlo en medio del código, Access cree que es un comentario y no sigue. Posiblemente en la ventana de código, aparezca de color verde a partir del '.
Saludos
Xavi
www.mvp-access.com
PD: Las dos recomendaciones siguen siendo validas.
La estructura 'oficial' de un If... Then... Else, es la siguiente:
If la condicion Then
codigo que se ejecuta si se cumple
Else
codigo que se ejecuta si no se cumple
End If
Tambien se puede poner todo en una linea, excepto el End If.
En tu caso el codigo lo has puesto en una linea, por lo que sobre la linea End If.
Saludos
Xavi
www.mvp-access.com

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas