Ingresar un sólo dato y obtener el resto

Hola a todos, la verdad es que soy bastante nuevo en cuanto a Access se refiere, por lo que probablemente la solución a mi problema sea bastante simple.
Actualmente tengo una base de datos de aproximadamente 300.000 registros, con diversos campos como n° de cliente, nombre, apellidos, dirección, etc.
Lo que quiero hacer es, por medio de un formulario (creo), ingresar un sólo dato (ej: n° de cliente) y que me aparezcan automáticamente todos los demás.
Cabe mencionar que la variable a ingresar es diferente para cada registro, por lo que no debería producirse problemas.
Lo que se quiere lograr es obtener rápidamente toda la información sobre un cliente, contando con una sola.´
De antemano mil gracias.
Respuesta
1
Aunque existen varias formas más o menos técnica, te envío código sencillo para conseguir lo que deseas. Tenemos una tabla denominada TABLA_PRUEBAS con tres campos código, nombre, numero. Creamos un formulario con tres text-box sin vinculación a campos de la tabla, TEXT2, TEXT4 y TEXT6. Utilizamos TEXT2 para introducir el valor de búsqueda, el cual en mi ejemplo sera contra el campo código de la tabla_pruebas. También insertamos un botón, al cual le añadimos el código adjunto al evento click. OJO a los tipos, en mi ejemplo código es numérico.
If IsNull(DLookup("[codigo]", "tabla_pruebas", "[codigo]= " + Str(Me.Text2))) Then
MsgBox ("registro no existe")
Else
Me.Text4 = DLookup("[nombre]", "tabla_pruebas", "[codigo]= " + Str(Me.Text2))
Me.Text6 = DLookup("[numero]", "tabla_pruebas", "[codigo]= " + Str(Me.Text2))
End If

Abrimos el formulario, introducimos un valor en TEXT2 y pulsamos el botón. Si el registro es encontrado (código = valor introducido), visualiza en text4 y text6 el valor del nombre y numero respectivamente, en caso de no encontrarlo visualiza un mensaje de que no existe.
A la vista de esto, aplícalo a tus campos y/o condiciones de búsqueda. Si necesitas algo más complicado me lo dices, pero esto es la forma más sencilla si no conoces bien el código. La función utilizada es DLOOKUP("[campo a obtener]", "tabla donde buscar","condicion").
Un saludo,
fcosapa
Por cierto,
Si los campos de búsqueda son campos clave (indexado), la búsqueda es muchísimo más rápida que si usas campos no indexados. Para ello puedes usar consultas en vez de tablas.
Fcosapa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas