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.
- Haz un clic sobre el objeto Queris.
- 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.
- Coloca en el tablero las tablas de cliente y producto.
- 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:
|
|
|
|
|
|
|
|
|
|
- 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).
- Repite el mismo procedimiento para el resto de los campos que
te presento en la tabla del paso 4.
- 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).
- 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):
- Guarda el formulario también como Factura.
- 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
- Haz un clic en Option Group de la caja de
herramientas.
- Haz un clic en un área en blanco del formulario.
- 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.
- Añade los siguientes controles de cálculo:
§
% de Descuento,
§
Deuda Total,
§
Cantidad Pagada,
§
Deuda Actual.
|