Que puedo hacer para que al rellenar un campo de formulario, me avise mediante msgbox de que ese valor ya existe en la tabla?
Tengo un formulario independiente para registrar los datos de personas en una tabla "T_Personas", en la he puesto la llave en el campo DNI.- En el formulario tengo el siguiente código:
Private Sub Grabar_Click()
DoCmd.SetWarnings False
Dim Instruccion As String
Instruccion = "INSERT INTO T_Personas(dni,nombre,apellidos,F_nacimiento,Edad,genero,domicilio,codigo_postal,poblacion,provincia,telefono,email,Vinculacion)VALUES(c_NIF,c_nombre,c_apellidos,c_f_nacimiento,C_Edad.value,c_genero.value,c_domicilio,c_cod_postal,c_poblacion,c_provincia,c_telefono,c_email,C_Vinculacion)"
If Not IsNull(C_NIF) And Not IsNull(C_F_Nacimiento) And Not IsNull(C_Genero) And Not IsNull(C_Vinculacion) Then
DoCmd.RunSQL Instruccion
MsgBox "El registro se ha grabado correctamente, GRACIAS"
C_NIF = Null 'Esto vacia los campos del formulario
C_Nombre = Null
C_Apellidos = Null
C_F_Nacimiento = Null
C_Edad = Null
C_Genero = Null
C_Domicilio = Null
C_Cod_Postal = Null
C_Poblacion = Null
C_Provincia = Null
C_Telefono = Null
C_Email = Null
C_Vinculacion = Null
C_NIF.SetFocus
C_NIF.BackColor = vbWhite 'Esto vuelve a poner los campos en blanco
C_F_Nacimiento.BackColor = vbWhite
C_Genero.BackColor = vbWhite
C_Vinculacion.BackColor = vbWhite
Etiq_NIF.Visible = False
Etiq_F_Nacimiento.Visible = False
Etiq_Genero.Visible = False
Etiq_vinculacion.Visible = False
Else
If IsNull(C_NIF) Then
C_NIF.BackColor = vbGreen
C_NIF.SetFocus
Etiq_NIF.Visible = True
ElseIf IsNull(C_F_Nacimiento) Then
C_F_Nacimiento.BackColor = vbGreen
C_F_Nacimiento.SetFocus
Etiq_F_Nacimiento.Visible = True
ElseIf IsNull(C_Genero) Then
C_Genero.BackColor = vbGreen
C_Genero.SetFocus
Etiq_Genero.Visible = True
ElseIf IsNull(C_Vinculacion) Then
C_Vinculacion.BackColor = vbGreen
C_Vinculacion.SetFocus
Etiq_vinculacion.Visible = True
End If
End Sub
Esto lo hice siguiendo un tutorial, y la verdad es que funciona bastante bien. Hasta ahi todo perfecto, pero lo que necesito y no se como hacerlo, es que al introducir el valor del campo DNI, busque en la tabla de destino y si éste ya existe, me avise mediante msgbox y no permita seguir introduciendo datos. A ver si alguien puede orientarme en este asunto.