Direccionar a un registro si es que este ya existe

Lo que necesito es que al escribir un valor que ya este incluido en la base de datos! Me lleve directamente al registro donde están almacenados todos sus datos! No se si me explique bien! La cosa es que tengo un formulario con los siguientes campos:
Dni, apellido, nombre, teléfono, domicilio, etc... Donde el dni es la clave principal.
Lo que necesito lograr es que al ingresar un DNI que ya este en la base de datos, me redireccione al registro donde están almacenados todos los demás datos, y sino que me deje continuar ingresando datos! Todo esto en un formulario!

1 respuesta

Respuesta
1
En las propiedades del cuadro de texto DNI, en la acción Al perder el enfoque ---> Procedimiento de Evento ---> picas en el cuadrado de la derecha, el de los ... y pones el código:
Dim db as database
Dim rs as recordset
Set db=Currentdb()
Me.Refresh
Set rs=db.Openrecordset("Select * From NombreTabla where DNI='" & Form!DNI.Value & "'") 
if IsNull(rs!DNI)=False then
Form!Apellido.Value=rs!Apellido
Form!Nombre.Value=rs!Nombre
Form!Telefono.Value=rs!Telefono
...
...
End If
Hola ángeles desde ya muchas gracias por tu tiempo, hice todo lo detallado en tu respuesta, pero no logro redireccionar el formulario. Si quieres aquí te mando el mdb!  http://www.mediafire.com/?u8mw5lwe8sb5nf8 y aqui mi e-mail [email protected]<span style="white-space: pre;"> </span>Muchas Gracias otra vez!
¿Por qué pones _ en los campos sustituyendo a los espacios? Si tienes una tabla o un campo con espacios en blanco tendrás que escribirlos tal cual, entre []
Puse los _ porque Basic no me reconoce los espacios porque espera alguna instrucción, me reconoce los campos que tienen espacios solo así con los guiones!
Los nombres de los campos siempre tienen que ser igual a los de la tabla, si tienen espacios en blanco, por ejemplo numero expediente lo tendrás que poner [numero expediente] para que te los reconozca.
MUCHA GRACIAS me has servido de gran ayuda! Solo una ultima cosa.
Cuando en el campo "numero de documento" ingreso un numero que no estaba registrado por ej 1234 me salta un error que dice no se puede asignar un valor a este objeto. Y cuando escribo uno que ya esta duplicado por ejemplo 1111 me aparece los cambios solicitados en la tabla no se realizaron correctamente porque crearían valores duplicados en la clave principal.. de todas formas muchas muchas gracias! Un saludo!
Si tienes un formulario con origen del control basado en una tabla entiende que vas a incluir un registro nuevo, al tener el numero de documento como clave única, no permite que ese numero de documento esté duplicado. Todavía no se muy bien lo que quieres conseguir, si por un lado quieres insertar registros con números de documentos nuevos yo crearía un formulario Entrada de Datos=Sí y ahí comprobaría si ese numero de documento exite o no. Si lo que quieres es modificar un registro, haría otro formulario, con un combox para elegir el número de documento y poder modificar sus datos.
Me cuentas, Angeles

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas