sexto proyecto: comprensión de las consultas
o queries
Acces permite crear una gran variedad de
consultas. Las más comunes son Selet Query, que extrae información de una o más tablas.
También puedes crear crosstab queries, que
agrupa y resume información en un formato de fila-columna como Excel PivotTable. Una de las cosas más poderosas (y también
peligrosas por trastocar la información de la base de datos) conlleva la action queries (Update
Query, Make-Table Queery, Append Query y Delete Query), que
actualiza los datos de la base de acuerdo a los criterios definidos en el query.
Selección
del query
Cuando utilizas la vista de
Diseño para crear un query, Acces
crea Select Query por
defecto. El propósito de Select Query
es recoger datos de una o más tablas. La selección del query
puede incluir cualquiera de los siguientes elementos:
·
Agrupar
campos de una o varias tablas o queries.
·
Calcular
campos.
·
Totales
que ejecutan operaciones estadísticas.
·
Selección
de criterios.
·
Instrucciones
de orden (sorting).
·
Ocultar
campos.
Los sistemas que manejan bases
de datos generalmente proveen herramientas para dar respuesta a una serie de
preguntas como las siguientes: ¿Cuánto se facturó y cuánto pagó el cliente
CM12? ¿Qué nombre del cliente empieza por Él? ¿Qué clientes son de Santurce? ¿A qué clientes del técnico 10 se le facturó más de $300.00?
Tabla del
cliente
|
Número Cliente
|
Compañía
|
Dirección
|
Ciudad
|
Estado
|
ZipCode
|
Factura
|
Pago
|
Número técnico
|
CM12
|
Computer_Más
|
Calero 10
|
Caguas
|
PR
|
00765
|
$322.45
|
$159.00
|
10
|
CS56
|
Computer Suppliers
|
Hostos 45
|
Santurce
|
PR
|
00909
|
$1399.00
|
$675.00
|
09
|
C200
|
Computer 2000
|
Albizu 13
|
Guayama
|
PR
|
00689
|
$299.75
|
$200.00
|
10
|
BE77
|
Boricua Electrónic
|
Colón 65
|
Aguada
|
PR
|
00654
|
$2500.97
|
$1500.25
|
10
|
ET02
|
Electro Text
|
Revolución 530
|
Lares
|
PR
|
00865
|
$0.00
|
$0.00
|
15
|
EI24
|
Egunon Inc
|
Tridas 09
|
Santurce
|
PR
|
00909
|
$150.00
|
$0.00
|
09
|
Al llenar cada
campo presiona la tecla Tab.
Observa en la parte inferior de
la ventana la barra del número de los récords. Es
muy útil para navegar.
Ver
previamente e imprimir el contenido de una tabla
- Abre la base de datos Proyecto1 y la
tabla Cliente.
- Da un clic en File/Print
Preview
- Aumenta la vista
- Da un clic en File/Page
Setup
- Da un clic en la pestaña Page y selecciona Landscape/OK.
- Da un clic en File/Print
Cerrar la Tabla
1. File/Close
O dar
un clic en el botón de cerrar X de
cada ventana.
Crear
tablas adicionales
Una misma base de datos puede
tener varias tablas. El número de tablas lo determinan las necesidades del
tipo de negocio.
- Abre la base de datos Proyecto1.
- Selecciona Tables/New/Design View/OK
- Da un clic en File/Save
- Guarda la tabla en el 3.50 Foppy con el nombre Técnico.
- Define los campos de la tabla de acuerdo a
la siguiente estructura
Estructura de la tabla Técnico
|
Field
Name
|
Data
Type
|
Field
Size
|
Primary
Key
|
Descripction
|
ID
Técnico
|
Text
|
2
|
Si
|
Núm. del técnico (Clave principal)
|
Apellido
|
Text
|
10
|
|
Apellido del técnico
|
Nombre
|
|
8
|
|
|
Dirección
|
|
15
|
|
Dirección postal
|
Ciudad
|
Text
|
15
|
|
|
Estado
|
Text
|
2
|
|
Abreviado con dos caracteres
|
ZipCode
|
Text
|
5
|
|
|
SalarioHora
|
Currency
|
|
|
Salario por hora
|
HorasTrabajadas
|
Numérico
|
|
|
|
Entrar datos en la tabla
- Da doble clic sobre la tabla creada
- Entra datos imaginarios correspondientes a
los tres Números Técnico (09, 10 y 15).
Tabla
del técnico
|
Número Técnico
|
Apellido
|
Nombre
|
Dirección
|
Ciudad
|
Estado
|
Zip Code
|
SalarioHora
|
HorasTrabajadas
|
09
|
|
|
|
|
|
|
|
|
10
|
|
|
|
|
|
|
|
|
15
|
|
|
|
|
|
|
|
|
Crear
un nuevo Query
- Abre la base de datos Proyecto1.
- Selecciona (da un clic en) la tabla de Cliente
- Da un clic en la flecha del icono "New Object" (el
penúltimo de la barra de herramientas estándar) y selecciona Query o Insert/Query. Aparece la caja de diálogo.
- Selecciona Design View/OK .
- Maximiza la ventana de
Query1
- Ajusta las dos hojas (ampliando la
superior) de tal forma que sean visibles todos los campos de la tabla
Cliente.
Incluir
campos en la ventana inferior ("Design Grid")
Una forma
sencilla para incluir campos en el panel inferior es arrastrando el campo de
la lista de campos de la tabla que aparece en el panel superior del Quero. Si
te sobra tiempo, puedes hacerlo de esta otra forma:
- Da dos clics en
el campo Número de Cliente que aparece en la caja de Cliente. El
número de Cliente es incluido como primer campo en la hoja inferior de
"Design Grid".
- Da dos clics en
los campos Compañía y Número Técnico. Los campos de
Compañía y Número del Técnico son incluidos en la hoja inferior.
Correr un Query
- Da un clic en Query
del menú.
- Selecciona Run o apunta hacia el botón de Run ! y da un clic.
Imprimir los resultados del Query
- Da un clic en File.
- Selecciona Print.
Volver
a la Ventana del Query seleccionado
Da un
clic en el menú View/DesignVIew.
O
Da un
clic en el botón View
Cerrar
un Query
Da un clic en File/Close
Incluir
todos los campos en un Query
- Vuelve a la ventana del Query
anterior que contiene la hoja superior la lista de los campos de la
tabla Cliente. Asegúrate que la hoja inferior esté vacía.
- Da dos clics en
el asterisco ( * ) de la caja donde
aparece la lista de los campos.
- Da un clic en el botón Run.
- Da un clic en el botón Wiew.
Entrada
de criterios
Uso de datos en forma de
texto como criterio
Abierta la ventana de Select Query del Query1, da dos
veces clic a los campos de: Número Cliente, Compañía, Factura y Pago para
añadirlos en el query.
Apunta a la entrada de Criteria: para el primer campo en la hoja de "Design Grid".
Da un clic en la entrada de Criteria: y escribe ET02 como criterio para el
campo de Número Cliente.
Corre el query
dando un clic en el botón Run.
Uso de comodines
Existen dos comodines típicos:
el asterisco (*) que representa a un grupo de caracteres (Gu* representa a las letras Gu seguidas por cualquier grupo de caracteres,
como Guaynabo, Guayama,
Guaraguao). El símbolo de interrogación (?), que representa cualquier
carácter individual (C?lor
representa la letra C seguida por cualquier carácter antes de lor, como Calor, Color).
- Vuelve a la ventana Query1: Select Query de la
tabla Cliente.
- Apunta y da un clic en la fila de Criteria debajo del campo Compañía. Escribe
LIKE Com* como entrada. Nota: Si hubiera
escrito algún otro criterio debajo de otros campos, bórralo antes de
correr el creado ahora.
- Da un clic en el botón Run.
Uso de Números
como
criterio
- Vuelve a la ventana Query1: Select Query de la
tabla Cliente.
- Da un clic en Edit
y otro en Clear Grid.
- Incluye los campos: Número Cliente, Factura
y Pago en el query.
- Escribe en la fila Criteria: debajo del campo de Pago un 0.
- Corre el query.
Uso de operadores
como
criterio
- Vuelve a la ventana Query1: Select Query de la
tabla Cliente.
- Da un clic en Edit
y otro en Clear Grid.
- Incluye los campos: Número Cliente, Factura
y Pago en el query.
- Escribe >500 en Criteria:
debajo del campo Pago.
- Corre el query.
Uso de criterios
combinados
- Vuelve a la ventana Query1: Select Query de la
tabla Cliente.
- Da un clic en Edit
y otro en Clear Grid.
- Incluye los campos: Número Cliente,
Factura, Pago y Número Técnico en el query.
- Escribe >300 en Criteria: debajo del campo Factura y 10 como criterio debajo del campo de Número
Técnico.
- Corre el query.
Uso de criterios combinados
incluyendo OR
- Da un clic en el botón View
para volver al query seleccionado
anteriormente.
- Borra la entrada 10 de la fila Criteria bajo el campo Número Técnico..
- En la fila or (debajo de Criteria)
escribe 10 para el
campo Número Técnico.
- Corre el query.
Organizar datos en un
Query
- Vuelve a la ventana Query1: Select Query de la
tabla Cliente.
- Da un clic en Edit
y otro en Clear Grid.
- Incluye el campo Ciudad.
- Da un clic en la fila Sort
debajo de Ciudad.
- Da un clic en Ascending
- Corre el query.
Unión de tablas
- Vuelve a la ventana Query1: Select Query de la
tabla Cliente.
- Da un clic en Edit
y otro en Clear Grid.
- Apunta a cualquier parte de la hoja
superior y presiona el botón derecho del ratón.
- Da un clic a Show Table
y selecciona la tabla Técnico.
- Da un clic en el botón Add
y cierra la caja de diálogo "Show Table".
- Incluye los campos del Número Cliente y
Número Técnico de la tabla Cliente y el Nombre y Apellidos de la
tabla Técnico.
- Corre el query.
Restringir récordes en una
unión de tablas
Al momento de unir los campos
de dos o más tablas puede restringirse el número de récordes mediante el uso
de criterios. Por ejemplo, se puede incluir el campo Factura y poner como
criterio limitante haber facturado de $500.
Uso
de fórmulas en un query
Computar campos
- Da un clic en el botón Desing
View.
- Remueve la Tabla Técnico:
- Presiona el botón derecho del ratón en
cualquier campo de la Tabla Técnico.
- Da un clic en Remove
Table.
- Incluye los campos de Número Cliente
y Compañía.
- Da un clic con el botón derecho en la
tercera columna de la fila Field: (hoja inferior) y luego da un clic a Zoom. Escribe Cantidad pendiente:
[Factura]-[Pago] en la caja dialógica del Zoom.
- Da un clic al botón OK.
- Corre el query.
Cálculos estadísticos
- Vuelve a la ventana Query1: Select Query de la
tabla Cliente.
- Da un clic en Edit
y otro en Clear Grid.
- Da un clic con el botón derecho en la hoja
inferior.
- Selecciona Totals
del menú e incluye el campo de Factura. Ahora se incluyó la fila Total
en el "Design Grid",
cuya entrada es Grou By.
- Da un clic a la flecha de la fila de Total
y selecciona Avg.
- Corre el query.
Uso de criterios en el
cálculo estadístico
- Vuelve a la ventana Query1: Select Query de la
tabla Cliente.
- Incluye el campo de Número Técnico
- Da un clic con el botón derecho en la fila Total
bajo Número Técnico.
- Selecciona Where.
Después escribe 10 como criterio en la fila Criteria: para el campo de Número Técnico.
- Corre el query.
Cálculos por
grupos
- Vuelve a la ventana Query1: Select Query de la
tabla Cliente.
- Da un clic en Edit
y otro en Clear Grid.
- Incluye los campos de Número Técnico y
Factura.
- La entrada de la fila Total para el Número
Técnico debe ser Group By y
para Factura Avg.
- Corre el query.
Guardar el query
- Da un clic de File/ Save.
Guárdalo con el nombre de Promedio facturado por técnico.
- Da un clic en OK.
.
Crosstab
Queries
El tipo de query crosstab transforma los
datos record-oriented en una vista resumida row-column oriented que recuerda la hoja electrónica de Excel.
Imagínate que quieres exhibir los distintos precios de uno o varios artículos
suministrados por distintos suplidores. Mediante un crosstab query puedes resumir los datos en una
hoja de orientación fila-columna, donde el título o encabezamiento de la fila
representa los distintos artículos o productos que suministran los distintos
suplidores, y el título o encabezamiento de la columna representa el nombre
de los suplidores o compañías.
|
Nombre del artículo
|
Suplidor 1
|
Suplidor 2
|
Suplidor 3
|
|
Artículo 1
|
9.99
|
8.50
|
11.00
|
|
Artículo 2
|
|
150.95
|
|
|
Artículo 3
|
69.00
|
55.83
|
|
|
Artículo 4
|
367.11
|
350.39
|
366.55
|
Para añadir un crosstab query en el
panel inferior del query, elige el objeto Query, y luego
Cosstab Query. Exhibe
la tabla Suplidor en el panel
superior. El diseño para este crosstab query te lo presento a continuación:
|
|
|
|
Field:
|
NombreProducto
|
NombreSuplidor
|
Return on Equity
|
Table:
|
Suplidor
|
Suplidor
|
Suplidor
|
Total:
|
Group By
|
Group By
|
Avg
|
Crosstab:
|
Row Heading
|
Column Heading
|
Value
|
Criteria:
|
|
|
|
Or:
|
|
|
|
|
|
|
|
ACTION QUERIES
Un action query
cambia potencialmente los datos en una tabla existente, o crea una nueva
tabla. Acces permite crear cuatro clases de action query:
- Un update query reemplaza datos en un record existente.
En el diseño de la actualización de un query,
se selecciona el criterio para identificar los récords
a los que se va a hacer referencia, y luego se provee una expresión que
genera el reemplazo de los datos. Esta acción se utiliza, por ejemplo,
para actualizar un grupo de records cuando
cambia el área code, asi
como para actualizar el precio, como se presenta a continuación:
|
|
|
|
Field:
|
SuplidorID
|
PrecioDetal
|
|
Table:
|
Suplidores
|
Productos
|
|
Update To:
|
|
[PrecioDetal]*1.05
|
|
Criteria:
|
[Enter Supplier
Number]
|
|
|
Or:
|
|
|
|
|
|
|
|
Este diseño toma datos de dos tablas e incluye un parámetro para añadir
5% a la cantidad que está en el campo PrecioDetal
para todos los récords que parean con el código de
suplidor que se entre.
- Un make-table query crea
el objeto de una nueva tabla como resultado del query
mismo. Por ejemplo, puedes construir un query
que produzca una lista de todos los clientes que no ordenaron productos
durante un año y copiar estos récords en una
tabla de Clientes Inactivos. Este tipo de query
no afecta a la base de datos.
- El append query añade nuevos récords
a una tabla existente de un query original. Este
tipo de query se usa generalmente cuando se
importan datos de una fuente externa.
- Un delete query remueve récords
que parea los criterios especificados de una base de datos.
|