El tipo Table es el único que permite usar los índices de una tabla de una base de datos para realizar las búsquedas, en este caso, usaremos el índice NIF establecido previamente en la tabla personal que nos permitirá buscar los registros con un NIF determinado. Para realizar estas búsquedas se usan los métodos Index y Seek, el primero para indicar el índice que se va a usar y el segundo para establecer el valor que se va a buscar en el campo afectado por el índice indicado. Las sentencias quedarían así:
`Para indicar que vamos a usar el indice NIF
datVisitas.Recordset.Index = "NIF"
`Para buscar un NIF concreto, por ejemplo el "02154879L"
datVisitas.Recordset.SeeK "=", "02154879L"
Si las dos sentencias anteriores se ponen en la línea de código del botón cmdBuscar, entonces se buscaría de manera rápida el primer registro cuyo NIF es el "02154879L", y los datos del mismo son los que se presentarían en pantalla, ahora bien, si no hay ningún registro entonces se produciría un error. Para evitar que el error producido al no encontrar el NIF buscado termine la ejecución de la aplicación se puede controlar con el método NoMatch, que indica que no se ha encontrado el registro buscado. Añadiríamos la siguiente sentencia al botón:

Con esto se indica que en el caso de no encontrar el registro, saque un mensaje por pantalla indicándolo y se sitúe en el primer registro, así no saltará el error. Tal como quedaría la programación del botón cmdBuscar, sólo se podría realizar la búsqueda de un determinado NIF, lo cual no resultaría muy útil, para evitar esta situación hay que crear un mecanismo de entrada de datos que permita al usuario indicar en cada momento el NIF a buscar, para esto se puede crear una nueva caja de texto que podemos llamar txtBusqueda en la que especificar el NIF que se quiere encontrar, entonces la programación del botón de búsqueda quedaría así:

En la programación del botón, ahora no se indica que busque un NIF concreto y siempre el mismo, sino que lo que busca es lo que se escriba en la nueva caja de texto txtBusqueda. En este momento se puede buscar cualquier NIF usando el índice NIF, pero puede que en la tabla haya más índices que pueden ser usados para realizar búsquedas, ya que puede interesar buscar por municipio, provincia, nombre, etc... Supongamos que en la tabla Personal hay un índice por cada campo que tiene el mismo nombre que ese campo, es decir tendríamos los siguientes índices: Nif, Nombre, Apellido1, Apellido2, Direccion, Municipio, Localidad y Provincia.
Por tanto podemos usar esos índices para buscar en los distintos campos de la tabla de datos, para ello habría que indicar al botón de búsqueda cmdBuscar, ya no sólo la cadena que se desea encontrar sino el índice que hay que utilizar, para conseguir esto creamos una nueva entrada de datos en la que se especifique ese índice, esto se puede hacer creando otra caja de texto que llamaremos txtIndice en la que especificaremos el índice deseado. Una vez hecho esto, la programación del botón de búsqueda cambiaría nuevamente para quedar de la siguiente forma:

En este momento las búsquedas son mucho más dinámicas puesto que podemos seleccionar distintos índices y distintos valores para realizarlas. Con esta forma de buscar se accede al primer registro que cumpla la condición especificada, y los registros quedan ordenados según el índice usado. Convendría en el botón anterior usar también una sentencia On Error para controlar los distintos errores que se pudieran producir, como el que ocurriría si en txtIndice se indica un nombre de índice distinto a los que tiene la tabla de datos.
|
1. Access con Visual Basic Microsoft Access con Visual Basic , aprende a crear una base de datos en Access... [01/07/09] |
13.316 | ||||
|
2. Informática. Visual Basic ¿Necesitas que tu sistema de login te recuerde tu nombre de usuario y contraseña?... [12/04/11] |
6.769 |
|
|||
|
3. Visual Basic. Programación con aplicaciones MDI Programación en Visual Basic 6.0 . Hoy tenemos un vídeo- tutorial de Visual Basic... [02/12/10] |
3.084 |
|
|||