Professional Documents
Culture Documents
Ahora para poder realizar la consulta en la Tabla (TBL) debemos abrir la base de
datos
Set BDD = OpenDatabase("mibasededatos.mdb") 'Abre la base de datos
Muy Bien, una ves abierta la base de datos se puede trabajar con la tabla, lo
primero que vamos a hacer es una consulta que nos devolvera todos los
registros de la tabla
Set TBL = BDD.OpenRecordSet("SELECT * FROM nombre_tabla")
Esta simple instruccion nos llena el objeto RecordSet con todos los registros que
contiene la tabla indicada en "nombre_tabla", en este caso nos conviene mas
utilizar la siguiente sentencia que realiza la misma operacion
Set TBL = BDD.OpenRecordSet("nombre_tabla")
Bueno lo anterior no era SQL sino una breve introduccion al Modelo de Objetos
de DAO, ahora nos metemos de lleno en la potencia del SQL, vamos a realizar
nuestra primera consulta de seleccion, para esto vamos a decir que la Tabla
tambien se puede abrir con la instruccion TBL.OpenRecordSet("cadena_sql").
Vamos a realizar nuestra primera consulta SQL
TBL.OpenRecordset("SELECT * FROM Autos WHERE Patente = 589975")
Significa que, seleccione (SELECT) todos los campos (*) de (FROM) la tabla
llamada Autos (Autos) donde (WHERE) Patente se igual a 589975 (Patente =
589975), sobre esta base se pueden realizar algunos cambios y obtendremos
otra consulta, por ejemplo podemos cambiar "Patente = 589975" por "Patente
< 589975" y nos devolvera todos los autos con la patente menor a 589975 o si
tenemos un campo llamado modelo podemos reemplazar "Patente = 589975"
por "modelo > 99" y nos devolvera todos lo autos con el modelo mayor a 99
(1999), pero que tal si queremos que nos devuelva todos los autos con Patente
menor a 34433 y de modelo 00 (2000), ... la solucion esta en los operadores
logicos, no se asusten, miremos un ejemplo
TBL.OpenRecordset("SELECT * FROM Autos WHERE Patente < 34433 AND
Modelo = 00 " )
Aqui hemos utilizado el operador logico AND (significa Y), esto traducido seria
asi: Selecionar todos los campos de la tabla autos donde la Patente sea menor
a 34433 Y el modelo igual a 00, se entiende?. Bueno si se entiende vamos a
presentar otro problema, que tal si ahora quiero todo lo demas menos los autos
de color rojo, si, la respuesta esta otra ves en los operadores logicos, en este
caso NOT (no), y el modo de uso es el siguiente
TBL.OpenRecordset("SELECT * FROM Autos WHERE Patente < 34433 AND
Modelo = 00 AND NOT Color = 'Rojo'" )
Bueno, me parece que no hace falta explicar nada, lo unico es que fijate el
detalle de las comillas simples en la palabra Rojo, esto se debe a que en la base
de datos se a definido el campo color como una cadena de caracteres, ahora si
la consulta es sobre una compo del tipo FECHA (date/time) la consulta seria asi
TBL.OpenRecordset("SELECT * FROM Autos WHERE CreadoEl = #14/2/99#" )
Despues de realizar la consulta el objeto TBL se carga solo con los registros que
cumplen con lo establecido en la instruccion OpenRecordSet del objeto TBL.
El SQL es muy potente y facil de aprender, pero lo que vimos aca es solo una
pequea parte de lo que este lenguaje de consulta puede hacer. Mas adelante
veremos las llamadas consultas de accion que sirven para agregar o eliminar
registros de una tabla.