Arquitectura de tres capas con Access

SEGUNDA CAPA: LÓGICA DE NEGOCIO

 

 

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

  1. Abre la base de datos Proyecto1 y la tabla Cliente.
  2. Da un clic en File/Print Preview
  3. Aumenta la vista
  4. Da un clic en File/Page Setup
  5. Da un clic en la pestaña Page y selecciona Landscape/OK.
  6. 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.

  1. Abre la base de datos Proyecto1.
  2. Selecciona Tables/New/Design View/OK
  3. Da un clic en File/Save
  4. Guarda la tabla en el 3.50 Foppy con el nombre Técnico.
  5. 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

  1. Da doble clic sobre la tabla creada
  2. 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

  1. Abre la base de datos Proyecto1.
  2. Selecciona (da un clic en) la tabla de Cliente
  3. 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.
  4. Selecciona Design View/OK .

  1. Maximiza la ventana de Query1
  2. 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:

  1. 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".
  2. 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

  1. Da un clic en Query del menú.
  2. Selecciona Run  o apunta hacia el botón de Run   !   y da un clic.

Imprimir los resultados del Query

  1. Da un clic en File.
  2. 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

  1. 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.
  2. Da dos clics en el asterisco ( * ) de la caja donde aparece la lista de los campos.
  3. Da un clic en el botón Run.
  4. 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).

  1. Vuelve a la ventana Query1: Select Query de la tabla Cliente.
  2. 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.
  3. Da un clic en el botón Run.

Uso de Números como criterio

  1. Vuelve a la ventana Query1: Select Query de la tabla Cliente.
  2. Da un clic en Edit y otro en Clear Grid.
  3. Incluye los campos: Número Cliente, Factura y Pago en el query.
  4. Escribe en la fila Criteria: debajo del campo de Pago un 0.
  5. Corre el query.

Uso de operadores como criterio

  1. Vuelve a la ventana Query1: Select Query de la tabla Cliente.
  2. Da un clic en Edit y otro en Clear Grid.
  3. Incluye los campos: Número Cliente, Factura y Pago en el query.
  4. Escribe >500 en Criteria:  debajo del campo Pago.
  5. Corre el query.

Uso de criterios combinados

  1. Vuelve a la ventana Query1: Select Query de la tabla Cliente.
  2. Da un clic en Edit y otro en Clear Grid.
  3. Incluye los campos: Número Cliente, Factura, Pago y Número Técnico en el query.
  4. Escribe >300 en Criteria: debajo del campo Factura y 10 como criterio debajo del campo de Número Técnico.
  5. Corre el query.

Uso de criterios combinados incluyendo OR

  1. Da un clic en el botón View para volver al query seleccionado anteriormente.
  2. Borra la entrada 10 de la fila Criteria bajo el campo Número Técnico..
  3. En la fila or (debajo de Criteria) escribe 10 para el campo Número Técnico.
  4. Corre el query.

Organizar datos en un Query

  1. Vuelve a la ventana Query1: Select Query de la tabla Cliente.
  2. Da un clic en Edit y otro en Clear Grid.
  3. Incluye el campo Ciudad.
  4. Da un clic en la fila Sort debajo de Ciudad.
  5. Da un clic en Ascending
  6. Corre el query.

Unión de tablas

  1. Vuelve a la ventana Query1: Select Query de la tabla Cliente.
  2. Da un clic en Edit y otro en Clear Grid.
  3. Apunta a cualquier parte de la hoja superior y presiona el botón derecho del ratón.
  4. Da un clic a Show Table y selecciona la tabla Técnico.
  5. Da un clic en el botón Add y cierra la caja de diálogo "Show Table".
  6. 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.
  7. 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

  1. Da un clic en el botón Desing View.
  2. 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.
  3. Incluye los campos de Número Cliente y Compañía.
  4. 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.
  5. Da un clic al botón OK.
  6. Corre el query.

Cálculos estadísticos

  1. Vuelve a la ventana Query1: Select Query de la tabla Cliente.
  2. Da un clic en Edit y otro en Clear Grid.
  3. Da un clic con el botón derecho en la hoja inferior.
  4. 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.
  5. Da un clic a la flecha de la fila de Total y selecciona Avg.
  6. Corre el query.

Uso de criterios en el cálculo estadístico

  1. Vuelve a la ventana Query1: Select Query de la tabla Cliente.
  2. Incluye el campo de Número Técnico
  3. Da un clic con el botón derecho en la fila Total bajo Número Técnico.
  4. Selecciona Where. Después escribe 10 como criterio en la fila Criteria:  para el campo de Número Técnico.
  5. Corre el query.

Cálculos por grupos

  1. Vuelve a la ventana Query1: Select Query de la tabla Cliente.
  2. Da un clic en Edit y otro en Clear Grid.
  3. Incluye los campos de Número Técnico y Factura.
  4. La entrada de la fila Total para el Número Técnico debe ser Group By y para Factura Avg.
  5. Corre el query.

Guardar el query

  1. Da un clic de File/ Save. Guárdalo con el nombre de Promedio facturado por técnico.
  2. 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.

 

 

 

 

Home | Diseño Aplicaciones |