Arquitectura de tres capas con Access

SEGUNDA CAPA: LÓGICA DE NEGOCIO

 

Muchos de los planteamientos de la capa de lógica de negocios se resuelven con el objeto Query.  Las consultas (queries) son una herramienta eficaz para dar respuestas a las inquietudes, preguntas y necesidades del negocio.

 

Creación de Queries

 

Los datos almacenados en una base de datos son reales. Cuando las organizaciones comienzan a utilizar una base de datos por primera vez, generalmente piensan en la creación de sistemas que recuperen de forma rápida y segura los datos. El uso más inteligente de las bases de datos sería considerar que la recuperación de los datos consistiera en convertir esos datos en información, que no es otra cosa que los datos procesados. Para analizar la tendencia de las ventas necesitamos saber cuántos pedidos se han recibido en un determinado mes. Para facilitar los pedidos de los proveedores o suplidores deseamos identificar el nombre de la persona de contacto y su teléfono de forma rápida. Para crear una factura o una nómina tal vez necesitemos datos de varias tablas.

 

Una base de datos bien diseñada contiene una tabla para cada sección clave de la organización

 

En Access podemos buscar información deseada creando una herramienta de análisis de de base de datos fundamental: la consulta o query. Una consulta es una herramienta que unifica datos procedentes de varias tablas como respuesta a una pregunta o que lleva a cabo una acción sobre los datos.

 

Definición de consultas

 

Una consulta es una forma de dar respuesta a cualquier pregunta relacionada con la base de datos mediante la manipulación de tablas, registros y campos. Es una petición de un conjunto de datos en particular, como por ejemplo, “Muéstrame el nombre y el teléfono de los clientes del pueblo de Rincón”.

 

TRECER PROYECTO: Creación de la factura a partir de una consulta

 

Antes de iniciar el proceso de crear cualquier consulta, hay que hacerse la pregunta básica: ¿Qué campos necesito para dar una respuesta satisfactoria a la necesidad planteada? ¿En qué tablas se encuentran dichos campos? Por ejemplo, para reproducir los elementos insustituibles de una factura, se necesitan los campos que tengan información sobre el ID, Nombre, Apellidos y Dirección del cliente; así como el ID, el Nombre, y el Precio del producto.

 

Si damos una ojeada por nuestra base de datos, nos daremos cuenta que tenemos toda la información mencionada en el párrafo anterior. La razón de ser del Query que vamos a generar es crear la factura y sólo la factura. Así que manos a la obra.

 

Existen dos formas para crear consultas: 1) el Asistente (Wizard), y b) la vista de Diseño. Elegiremos la vista de diseño por considerarla muy simple.

 

  1. Haz un clic sobre el objeto Queris.
  2. Haz doble clic sobre  Aparece la ventana del Query1. Si no estuviera presente la caja de diálogo Show Table, haz un clic en el tablero superior con el botón derecho del ratón y elige Show Table, o View/Show Table, o haz clic en  . La ventana de Query incluye dos tableros: el superior contiene la lista de los campos de cada tabla a ser consultada; este tablero muestra la relación entre los datos de origen. El tablero inferior contiene una cuadrícula con una columna por cada campo consultado.

 

 

  1. Coloca en el tablero las tablas de cliente y producto.
  2. Ahora te toca trabajar en la cuadrícula de diseño (panel inferior).  Para diseñar el query, puedes arrastrar el campo de referencia directamente de las listas del tablero superior al campo de la cuadrícula inferior, o puedes elegir de las listas que aparecen cuando activas una columna de la cuadrícula del tablero inferior.

Field:

ClienteID

ProductoID

PrecioPublico

NombreCliente

ApellidosCliente

Direccions

Ciudad

CuentaNumero

NombreProd

Table:

cliente

producto

producto

cliente

cliente

cliente

cliente

cliente

producto

Sort:

 

 

 

 

 

 

 

 

 

 

  1. Haz un clic en la flecha de la primera celda de la fila Field y elige de la tabla cliente el campo ClienteID (cliente.ClienteID).
  2. Repite el mismo procedimiento para el resto de los campos que te presento en la tabla del paso 4.
  3. Guarda el Query con el nombre de Factura al cerrar el mismo.

 

Creación del formulario con Autoform a partir del query Factura

 

Como ya sabes, puedes iniciar el procedimiento del formulario a partir del Query Factura de dos maneras: a) Seleccionando el objeto Query y luego hacer un clic en Insert/Autoform; o b) seleccionando el objeto Forms y haciendo doble clic en Create form by using Wizard (si utilizas el Asistente, cuando llegues al paso de elegir la tabla o query, tienes que elegir el query Factura y no una tabla). Preferimos la modalidad a).

  1. Selecciona el Query Factura y luego haz un clic en  (o en Insert/Autoform). Aparece el formulario con el siguiente interfaz (Vista de Diseño):

 

  1. Guarda el formulario también como Factura.
  2. Una vez creado el formulario, antes de iniciar el proceso de entrar datos, trabaja el interfaz de dicho formulario (en la vista de diseño, por supuesto) de tal forma que adquiera la apariencia de una Factura, por ejemplo:

 

 

Para crear este interfaz llevaron a cabo los siguientes cambios:

 

Se eliminaron:

  • Los Labels de Nombre y Apellidos, en el lugar del Nombre se escribió Facturar a:
  • El Text Box y el Label de Forma de Pago (Se tomó la decisión de eliminar este objeto, porque el patrono no quería que apareciera en la base de datos esta información. A cambio se creó un objeto unbound –no asociado a la base– equivalente).

 

Se crearon los siguientes objetos unbound (no asociados a los campos del Query):

 

Objeto

Etiqueta

Propiedades

Name

Format

Input Mask

Control Source

Text  Box

Fecha

Fecha

Short Date

Short Date

 

Text  Box

Cantidad

Cantidad

General Number

 

 

Text  Box

Total

total

 

 

=[Cantidad]*[PrecioPublico]

Text  Box

Fecha Exp

expira

Short Date

Short Date

 

Option Group

Forma de Pago

 

 

 

 

Label (en el Header)

FACTURA

Font:: Tamaño 16, Color azul

 

Para accesar a las propiedades del objeto haz un clic con el botón derecho del ratón sobre el mismo.

 

Control de cálculo

 

Se entiende por control de cálculo aquella fórmula que calcula el valor visualizado en el control. La fórmula de cálculo puede escribirse: a) manualmente en la caja de texto (Text Box); b) en la propiedad Control Source; c) en el botón generador de Expresiones ...  de la propiedad anterior; d) en el Query. Los controles de cálculo se crean en los objetos de Forms, Report y el Query, bien en un objeto asociado (bound) con un campo de la tabla como no asociado (unbound). No se generan en el objeto de la tabla.

 

Creación de controles de cálculo en el formulario

 

La fórmula = [Cantidad] * [PrecioPublico] escrita anteriormente en el objeto unbound de Total, el cual fue añadido posteriormente en el formulario, es un ejemplo de este tipo de control. Para que trabaje dicha fórmula en este formulario, es necesario modificar el nombre del objeto que contiene el dato de cantidad.

 

Creación de controles de cálculo en el Query

 

Abre en la vista diseño el Query Factura creado anteriormente. Añade al final de la tabla el campo Cantidad perteneciente a la tabla del cliente.

 

Field:

ClienteID

ProductoID

PrecioPublico

NombreCliente

ApellidosCliente

Direccions

Ciudad

CuentaNumero

NombreProd

Cantidad

Total: [PrecioPublic

Table:

cliente

producto

producto

cliente

cliente

cliente

cliente

cliente

producto

cliente

 

Sort:

 

 

 

 

 

 

 

 

 

 

 

 

1.      Haz un clic con el botón derecho del ratón en la celda que sigue a Cantidad.

2.      Elige en el menú Zoom... Aparece la ventana Zoom.

 

 

3.      Escribe Total: [PrecioPublico]*[Cantidad]

4.      Haz un clic en OK.

5.      Guarda el Query.

6.      Abre el Query en la vista Datasheet View (o haz doble clic en el Query Factura) para comprobar si funciona.

Si observas bien, en la vista Datasheet aparece un nuevo campo, el campo Total. No ha sido necesario trastear ni añadir dicho campo en la base de datos original (tabla cliente). Ahora podemos crear el formulario de la factura a partir del Query modificado sin necesidad de añadir un control de cálculo en el mismo.

 

La vista Datasheet tiene distintos formatos, colores y fondos. Explóralos en Format/Datasheet...

 

Cómo crear un objeto Option Group

 

  1. Haz un clic en Option Group de la caja de herramientas.
  2. Haz un clic en un área en blanco del formulario.
  3. Sigue los pasos del Asistente:

a.             Escribe las etiquetas de las opciones.presiona Next

b.            Déjalo como está. Presiona Next

c.             Guarda el valor en el campo ClienteID

d.            Elige la apariencia del objeto

e.             Escribe como etiqueta Forma de Pago

 

 Así se visualiza al entrar la información.

 

 

Reto

1.      Coloca un logo en el encabezamiento.

  1. Añade los siguientes controles de cálculo:

§         % de Descuento,

§         Deuda Total,

§         Cantidad Pagada,

§         Deuda Actual.

 

 

 

Home | Diseño Aplicaciones |