Está en la página 1de 55

CURSO AVANZADO ACCESS-2007

DISEÑO DE APLICACIONES
Instructor: Lic. Eduardo E. Roldán Álvarez

INTRODUCCIÓN
Desde que la primera versión comercial de ms-access vio la luz en julio de 1992, esta importante
herramienta incluída en el paquete de profesional de office de Microsoft, ha indo poco a poco
ganando terreno dentro de las aplicaciones ofimáticas utilizadas en las empresas actualmente,
inclusive llegando a desplazar en muchos casos a Microsoft Excel como herramienta de trabajo.
La razón de este cambio se basa fundamentalmente en tres características propias de este singular
gestor de base de datos:
Primero. MS-ACCESS proporciona un ambiente muy cómodo y ameno para almacenar datos
bajo un esquema de base de datos relacional, esto debido principalmente a su naturaleza gráfica,
auxiliada por un excepcional enfoque de programación asistida por computador, orientada
exclusivamente al usuario no programador.
Segundo. Diferente a lo que sucede en MS-EXCEL, este aplicativo proporciona una capacidad
de almacenamiento casi ilimitado de datos, en una forma ordenada de la cual se puede recuperar
la información con sencillas instrucciones SQL (Structured Query Language). Recordemos que
una hoja electrónica en la actualidad puede almacenar poco más de 1 millón de registros, y
cuando esto sucede su manejo se vuelve muy engorroso. MS-ACCESS en cambio puede
almacenar en una sola base muchísimo más de esta cantidad, viéndose limitada casi
exclusivamente por el espacio disponible del disco duro del computador.
Tercero. Como aplicativo, MS-ACCESS no sólo puede almacenar datos, debidamente
parametrizados y ordenados, sino también servir de soporte para realizar verdaderas aplicaciones
funcionales de facturación, pagos, control de inventarios, etc. Las posibilidades solamente se
ven limitadas por la genialidad y la necesidad del usuario 1. Es esta característica la que más nos
interesa para el presente curso. En efecto hoy día, muchas organizaciones públicas y privadas
están volviendo los ojos hacia este aplicativo y ya hemos visto como por ejemplo Tributación
Directa, desarrolló su publicitada aplicación EDDI 7, sobre una plataforma Access.
El objetivo primordial del presente curso es en primer lugar proveer a los estudiantes una visión
más profunda del uso de MS-ACCESS de Microsoft, como una herramienta de desarrollo de
software de base de datos, que les permita diseñar pequeñas aplicaciones funcionales para
sistematizar su trabajo como contadores, auditores, o empresarios, sin necesidad de hacer fuertes
inversiones en costosos paquetes de software, y por otro lado que al desarrollar su conocimiento
en ellos puedan eventualmente desarrollar un pensamiento crítico sobre el diseño y las
1

El autor empezó desarrollando desde el año 1990 de manera autodidacta, pequeñas aplicaciones de bases de
datos, primero en DBASE III PLUS, luego en FOXPRO, cuando en 1998 recibió un curso de sistemas de información
en la Universidad, conoció el uso de ms-access y fue “amor a primera vista”, hasta la fecha.

necesidades de los sistemas gestores de bases de datos, que les ayude en un futuro cercano a
participar más efectivamente en gestión de datos de las empresas en que laboren.
En este sentido, este curso da por sentado que el estudiante ya adquirió los conocimientos
fundamentales de desarrollo de un proyecto Access básico, tales como el diseño de tablas, diseño
de relaciones, formularios, e informes. De no ser así es conveniente que el mismo se remita a los
textos sugeridos en el programa de curso, en especial a mi manual de curso de ms-access 2007
básico.

LECCION 1
EL MODELO INICIAL DE UNA FACTURA

CASO 1. DISEÑANDO UNA FACTURA
Cuando observamos una factura comercial típica, como la que se muestra en la figura siguiente,
podemos observar que ella está compuesta por tres áreas definidas: El encabezado, dónde se
incluyen los datos primarios, los datos de la empresa, la fecha, el tipo de factura (contado, o
crédito), el nombre del cliente, forma de pago, entre otros, el detalle que señala una lista de los
artículos que se adquirieron, su código, precio unitario, y total por línea, y el pie, que
normalmente indica el subtotal, descuento comercial, monto de impuesto de ventas, total a pagar
y firma de recibido.

COMERCIAL LA FAMA S.A.
De todo en Librería y Suministros de Oficina.
Tel/fax. 257-20-07
Céd. Jurid. 3-101-0235467

CONTADO
FACTURA No.

6579

FECHA:
VENDEDOR:

Paga con: Efectivo

CLIENTE:

Tarjeta No.

CODIGO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

DESCRIPCION

PRECIO
UNIDAD

CANTIDAD

02
03
04
05
02
02
03
04
05
06
01
01
01
02
03
SUB-TOTAL
DESCUENTO
IMP. VENTAS (13%)

RECIBIDO CONFORME

TOTAL A PAGAR

TOTAL (¢)

requisiciones. en los cuales hemos colocado algunos nombres de clientes ficticios para comenzar. etc. su estructura es como se muestra a continuación. tales como cheques. Ahora bien el problema de diseñar una base de datos en MS-ACCESS que almacene la información de este tipo de formularios. como lo vamos a detallar seguidamente. colillas de compra de todo tipo.Lo interesante de este formulario tan común en nuestros días es que su formato básico se mantiene para muchos otros documentos que utilizamos para recoger y procesar información en las empresas. es un poco más complejo de lo que pareciera. órdenes de compra. . la cual le fue enviada dentro del material necesario para este curso. Para iniciar vamos a tomar como ejemplo la base llamada CASO_1_FACTURA. En la misma tenemos la conformación básica de las tablas que debe contener una factura típica para que pueda ser utilizada por MSACCESS 2007 a saber: TABLA CLIENTES Esta tabla almacena los datos relativos a los clientes de la empresa.

el cual es autonúmerico. y el texto de validación es un aviso que se activa cuando la regla de validación se incumple. CED_JURIDICA y TELEFONO tengan la propiedad requerido “Sí”. indicando que el plazo mínimo y máximo de plazo de crédito. PROPIEDAD VALOR PREDETERMINADO. Es un valor por defecto que el sistema ofrece al usuario y que puede ser cambiado por este. En nuestro caso el valor por defecto del campo PLAZO. CAMPO LLAVE Como podemos apreciar su campo clave es COD_CLIENTE (código de cliente). como para consecutivos de facturas. el PLAZO debe estar entre 0 y 30 días. se utiliza tanto para este tipo de registros. será 0 días. Para la tabla CLIENTES. En las tablas sucesivas se indican las propiedades especiales de algunos campos a fin de hacer más rápida la explicación. PROPIEDAD REQUERIDO Esta propiedad hace que sea necesario digitar alguna información dentro el campo. y las otras tablas que conforman nuestra base de datos. En el caso de la tabla CLIENTES. PROPIEDAD REGLA DE VALIDACION Y TEXTO DE VALIDACIÓN La regla de validación obliga a que se cumpla alguna condición especial en los campos. es necesario que los campos NOM_CLIENTE. el campo clave se resalta en negrita. órdenes etc. lo cual permite que el usuario no tenga que asignar un código manualmente a un cliente determinado. recibos. veamos ahora algunas de las propiedades para la tabla CLIENTES. este tipo de campos numéricos se autorrellenan en un consecutivo. .PROPIEDADES DE LOS CAMPOS Una de las fortalezas de las tablas definidas a través de MS-ACCESS es el hecho de que podemos incluir en cada campo algunas propiedades que permiten filtrar los datos que se incluirán en ellas. es decir que el campo en cuestión no pueda quedar en blanco.

NOMBRE CAMPO NO_FACTURA FECHA TIPO_FACT IMPTO_VTA DESCTO PROPIEDAD Tamaño autonumérico EXPLICACIÓN Incrementa el número en una unidad automáticamente Valor predeterminado: Toma la fecha del computador = fecha() directamente Regla de Validación: “CONT” La factura puede ser de OR “CRED” CONTADO O CRÉDITO Tamaño: Simple Es un número en forma Fomato: Porcentaje porcentual entre 0% y 13% Validación: entre 0 y 0.13 Tamaño: Simple Es un número en forma Fomato: Porcentaje porcentual entre 0% y 10% Validación: entre 0 y 0. como se indicó anteriormente.TABLA ENCABEZADO_FACT Esta tabla incluirá los datos relativos al encabezado de la factura.10 .

Es un número simple mayor estricto que cero que admite 2 decimales Es un número simple mayor o igual que cero que admite 2 decimales Es un número simple mayor o igual que cero que admite 2 decimales Es un número simple mayor estricto que cero que admite 2 decimales . En formato estándar. NOMBRE CAMPO ID_REGISTRO PROPIEDAD Tamaño autonumérico CANTIDAD Tamaño: Entero Formato: Estándar Lugares decimales: 0 Validación:>0 Tamaño: simple Lugares decimales: 2 Validación:>0 Tamaño: simple Lugares decimales: 2 Validación:>=0 Tamaño: simple Lugares decimales: 2 Validación:>=0 Tamaño: simple Lugares decimales: 2 Validación:>0 PRECIO_UNIT DESCUENTO IMPUESTO TOTAL_LINEA EXPLICACIÓN Incrementa el número en una unidad automáticamente Es un número entero mayor estricto que cero.TABLA DETALLE_FACT La misma incluye los datos relativos a los productos que el cliente va a adquirir y sus respectivas cantidades y precios.

TABLA PRODUCTOS Almacena la información de los productos que ofrece la empresa. precio costo y de venta unitarios. código. Es un número simple mayor estricto que cero que admite 2 decimales Es un número simple mayor estricto que cero que admite 2 decimales . NOMBRE CAMPO COD_PRODUCTO PROPIEDAD Máscara entrada: 00000 Requerido: Sí NOM_PRODUCTO Tamaño: 50 Requerido: Sí PRECIO_COSTO Tamaño: simple Lugares decimales: 2 Validación:>0 Tamaño: simple Lugares decimales: 2 Validación:>0 PRECIO_UNIT EXPLICACIÓN Es un texto de 5 dígitos numéricos que deben digitarse obligatoriamente. nombre. Es un texto de 50 caracteres máximo que debe ser digitado obligatoriamente.

tanto para el ingreso de datos. si la relación se verifica de un campo clave a otro que también es campo clave. 3. ya que ella permite que todas las tablas incluídas en ellas funcionen como una sola unidad lógica. Según lo establece el modelo ENTIDAD-RELACIÓN. es decir si un campo de una de las tablas es texto y tiene una longitud de 2 dígitos. Deben compartir un campo común entre ellas 2.ESTABLECIMIENTO DE RELACIONES Como se mencionó en el curso anterior la estructura de relaciónes es la razón de ser de una base de datos relacional. Por otra parte. solamente se relacionará con un campo similar. Importante. Si la relación se verifica de un campo clave a otro que no es clave se obtendrá una relación cuya cardinalidad es de uno a muchos. Igualmente un campo numérico entero. una pareja de tablas puede relacionarse entre sí siempre que se cumplan las siguientes condiciones: 1. . este tipo de relaciones es rara pero muy útil en algunos casos. como para su posterior recuperación mediante consultas. este tipo de cardinalidad es la más común en este tipo de bases de datos. El campo compartido debe tener la misma estructura. la relación será de uno a uno. el campo de llegada en la otra tabla debe igualmente ser de tipo texto y tener 2 dígitos. Para el caso de nuestra base de datos la misma debe quedar como se muestra a continuación.

aún y cuando se refieran a la misma información.4. No olvide al establecer las relaciones en cada pareja de tablas exigir integridad referencial. es conveniente que los campos que se relacionan tengan nombres ligeramente diferentes en ambas tablas. Una vez que hemos establecido las diferentes tablas y relaciones necesarias para nuestra base de datos. . No se restringe el uso de nombres de campo iguales para diferentes tablas. pero para efecto de no tener problemas futuros. ya podemos proceder a desarrollar adecuadamente nuestra aplicación de facturas. 5.

EL DISEÑO DEL FORMULARIO DE LA FACTURA .LECCIÓN 2.

En dicha consulta seleccionaremos los siguientes campos: CAMPOS TABLA NO_FACTURA ORDEN_COMPRA FECHA ID_CLIENTE NOM_CLIENTE IMP_VTA DESCTO ENCABEZADO_FACT ENCABEZADO_FACT ENCABEZADO_FACT ENCABEZADO_FACT CLIENTES ENCABEZADO_FACT ENCABEZADO_FACT La consulta así diseñada debe quedar como se muestra a continuación: .CREACIÓN DE FORMULARIOS BASADOS EN CONSULTAS. extrayendo para ella las tablas llamadas CLIENTES. que permiten hacer cálculos entre la información numérica o de fechas incluidas en las diferentes tablas. En el curso anterior aprendimos a crear formularios con base en tablas. Esto por cuanto una consulta puede incluir campos de múltiples tablas. es hacerlo mediante formularios basados en consultas. así como los llamado campos derivados o calculados. sin embargo una forma más eficiente de crear formularios de ingreso y consulta de datos. primero se diseñan las consultas y luego los formularios se desarrollan sobre ellas mediante el asistente para formularios. Consulta para el Encabezado CSLT_ENCABEZADO Para la consulta encabezado vamos a ir a la ficha Crear grupo Otros y hacemos click en el ícono llamado Diseño de consulta. La técnica es sencilla. y ENCABEZADO_FACT.

seleccionaremos los siguientes campos: CAMPOS TABLA ID_FACTURA ID_PRODUCTO NOM_PRODUCTO CANTIDAD PRECIO_VENTA TOTAL DETALLE_FACT DETALLE_FACT PRODUCTOS DETALLE_FACT PRODUCTOS [CANTIDAD]*[PRECIO_VENTA] Campo derivado Note que el último campo es un campo derivado. Para tal efecto. La consulta así creada deber mostrarse como se indica seguidamente: Ahora salve la consulta con el nombre CSLT_DETALLE_FACT . el cual se calcula de la multiplicación de los campos CANTIDAD y PRECIO_VENTA. Consulta para el Detalle de la factura CSLT_DETALLE_FACT Ahora procederemos a realizar la consulta que servirá de base para el detalle de la factura.Observe que en la misma el nombre del cliente se toma de la tabla CLIENTES. haciendo de esta una consulta de múltiples tablas. Una vez hecho esto salve la consulta con el nombre CSLT_ENCABEZADO.

tal como se muestra a continuación: Importante: debe seleccionar primero la consulta de encabezado y luego las de detalle. ahora el asistente le muestra lo que se conoce con el nombre de un subformulario. grupo formularios. . Haga click en siguiente. en ese orden. y todos sus campos. es decir una estructura de formulario en el cual el encabezado de la factura y el detalle forman una sola unidad lógica. y seguidamente. lo único que debemos hacer es combinarlas en un solo formulario ambas. y se muestran ambos. para esto vaya a la ficha crear. luego seleccione para el formulario primero la consulta CSLT_ENCABEZADO. sin salirse del cuadro de diálogo la consulta CSLT_DETALLE_FACT.Ahora ya tenemos las dos consultas que servirán de base a nuestro formulario de registro de facturas. y active el asistente de formularios en el ícono llamado más formularios. y todos sus campos.

esta va a ser la presentación por defecto del subformulario compuesto por la consulta CSLT_DETALLE_FACT. . luego le indicaremos como puede agregar fondos más personalizados.Haga click en siguiente y elija la opción tabular. Haga click en siguiente y escoja un fondo que le guste para su formulario.

si tiene duda puede consultar el manual del curso básico de MS-ACCESS 2007. . para esto siga atentamente la indicaciones que su instructor le dará. y realícelas de forma ágil y oportuna. 2 2 En este punto el instructor asume que usted ya conoce de Access en el curso básico por lo que esté atento a las indicaciones que le dará. presione finalizar. y listo ya tenemos un formulario que podemos utilizar más eficientemente para registrar una factura en nuestro sistema. facilitado en el primer curso. CASO II. Ahora procederemos a personalizarlo tanto como sea posible con ayuda de lo aprendido en el curso inicial de Access.Haga click en siguiente y observe que ambos formularios se muestran en el orden requerido. página 17.

el instructor pedirá a los estudiantes que procedan a crear un formulario para la tabla CLIENTES y la tabla PRODUCTOS. .Tarea para los estudiantes Luego de personalizar el formulario de captura de datos. estos formularios serán de utilidad más adelante.

CREACIÓN DE CAMPOS CALCULADOS Y OTROS OBJETOS EN FORMULARIOS .LECCION 3.

.

pero sirven para mostrar los resultados de las transformaciones de los datos. por ejemplo el subtotal de la misma. tomándolo de la barra de controles y ubicándolo exactamente en línea con el total de la factura. Seguidamente vaya al formulario CSLT_ENCABEZADO_FACT y ábralo en vista diseño El mismo se mostrará así: Al estar vinculados ampos formularios es como si los tuviera en diseño a los dos. como tales los mismos no se almacenan en las tablas de datos. es una función de MS-ACCESS que al igual de la sumatoria de Excel sumariza el campo que se indica entre el paréntesis. Su etiqueta se llamará SUBTOTAL. el monto del impuesto sobre la venta a pagar y el total a pagar.Introducción de cuadros de texto independiente. Ahora introduzca en él un cuadro de texto independiente. Nuestra pantalla de captura de datos ya casi está terminada sin embargo le hacen falta algunos elementos importantes. y el contenido del campo será =SUMA(TOTAL) 3 tal como se muestra a continuación: 3 La función =SUMA(Nombre de campo). . el descuento. Vaya al formulario interno y cree un pie aproximadamente el tamaño de dos cuadrículas. Un cuadro de texto independiente es un objeto de formulario que permite calcular y mostrar cantidades resultantes de los campos numérico o de fecha que intervienen en dicho formularios.

el contenido final del campo debe leerse: =[SUBTOTAL]*[Formularios]![CSLT_ENCABEZADO]![DESCTO] . de la siguiente forma: Esta es una operación compleja por lo que siga las indicaciones de su instructor cuidadosamente.Incluya dos cuadros otro cuadro de texto adicional que se llamará DESCUENTO. el contenido de este campo debe realizarse con ayuda del generador de expresiones de ACCESS. El formulario ahora se mostrará así: .

Para el impuesto de ventas el generador de expresiones mostrará: =([SUBTOTAL] .[DESCUENTO] )* Formularios![CSLT_ENCABEZADO]![IMPTO_VTA] Y para el total a pagar deberá indicar: =[SUBTOTAL]-[DESCUENTO]+[IMPUESTO] . y el total a pagar.Ahora trate usted de crear los campos que faltan. para el impuesto de ventas.

Luego vaya a la vista formulario. e introduzca al menos 3 facturas de su invención. para que compruebe los cálculos del formulario. .

LECCION 4. Y BORRADO DE DATOS . CONSULTAS DE ACTUALIZACIÓN.

a través del asistente para consultas del ms-access 2007. son capaces de variar los contenidos de los campos en los registros de la tabla. el descuento. debemos de actualizar los datos de la tabla DETALLE_FACT correspondientes a los campos: PRECIO_UNIT. Seguidamente vamos a ver algunos usos interesantes de este tipo de consultas. a fin de recuperar datos de las bases de datos de forma fácil. pero los demás campos como el precio unitario de venta. En este momento la tabla DETALLE_FACT muestra que los únicos datos que se han almacenado con respecto a las facturas son el ID_FACTURA. estas consultas permiten actualizar. Para hacer esto necesitamos realizar posterior al registro varias consultas de actualización de dichos campos. el impuesto pagado y total por línea no han recibido aún datos. Consultas de actualización de campos. sino más bien modificar los registros de las tablas. Una vez que hemos registrado la información de las facturas anteriores.En el curso anterior utilizamos el lenguaje de consulta SQL. La razón de esto es que los precios unitarios de los artículos irán cambiando con el tiempo. o borrar registrar registros sujetos a determinadas condiciones. IMPUESTO Y TOTAL_LINEA. DESCUENTO. En esta lección utilizaremos el asistente para crear una serie de consultas cuyo fin no es recuperar datos. pero la tabla DETALLE_FACT debe de mantener el histórico de los precios con que fueron vendidos los artículos así como el descuento que se ofreció. veamos cada una de ellas en detalle. . ID_PRODUCTO y la CANTIDAD. el impuesto pagado. y lo pagado por el cliente. La proposición UPDATE. estas consultas diferentes a las que hemos hecho antes.

y el ID_PRODUCTO=COD_PRODUCTO. Luego seleccionamos el campo que deseamos actualizar en este caso el campo PRECIO_UNIT que lo actualizaremos al valor del PRECIO_VENTA mostrado en la tabla PRODUCTOS siempre y cuando el campo PRECIO_UNIT sea nulo. La consulta se mostrará así: Observe que el ícono de esta consulta es diferente a los vistos hasta ahora. otra para el IMPUESTO y finalmente otra para el campo TOTAL_LINEA.Para corregir esto debemos crear una consulta de actualización de datos para la tabla. del grupo tipo de consulta. otra para el DESCUENTO. hacer click en el grupo otros y seleccionar el grupo diseño de consultas. Explicación: Para entender mejor esta consulta vamos a invocar la presentación SQL. hecho esto le indicamos a MS-ACCESS que deseamos hacer una consulta de actualización haciendo click en la opción Actualizar. se debe crear una consulta de actualización para cada uno de los campos faltantes. indicando que es una consulta de actualización (UPDATE). luego agrega las tablas DETALLE_FACT y PRODUCTOS. del asistente haciendo click en el grupo resultados . es decir una para el campo PRECIO_UNIT. Consulta ACT_PRECIO_UNIT Para crear una consulta de actualización debemos primero que todo posicionarnos en la ficha Crear.

. y podremos ver el campo PRECIO_UNIT debidamente actualizado. solamente en la tabla que es actualizada. el asistente mostrará un cuadro de aviso antes de ejecutarlas. 4 En todas las consultas de modificación de registros: actualización. Luego de ejecutar la consulta abrimos la tabla DETALLE_FACT. si desea que la actualización se ejecute sin avisar vaya al Botón de office. borrado. indicando que el campo PRECIO_UNIT debe ser igual al campo PRECIO_VENTA (de la tabla productos). esto es para no actualizar valores que ya hallan sido actualizados. Avanzadas y desactive con checks de Confirmar. y que el campo ID_PRODUCTO sea igual al campo COD_PRODUCTO (de la tabla productos) Una vez realizada la consulta anterior sálvela con el nombre ACT_PRECIO_UNIT y ejecútela. siempre y cuando (WHERE) el campo PRECIO_UNIT sea nulo. El asistente mostrará un aviso indicando que va a realizar una consulta de actualización 4 Al activar una consulta de actualización no se genera ninguna respuesta visual en la pantalla. La consulta de actualización creada actualiza la tabla DETALLE FACT manteniendo la integridad relacional INNER JOIN con la tabla PRODUCTOS.UPDATE PRODUCTOS INNER JOIN DETALLE_FACT ON PRODUCTOS. opciones de Access.ID_PRODUCTO SET DETALLE_FACT.PRECIO_UNIT = [PRECIO_VENTA] WHERE (((DETALLE_FACT.PRECIO_UNIT) Is Null) AND ((DETALLE_FACT.ID_PRODUCTO)=[COD_PRODUCTO])).COD_PRODUCTO = DETALLE_FACT. inserción y creación.

Vamos ahora a realizar las consultas de actualización del descuento. ACT_DESCUENTO Observe que para esta consulta y la del impuesto necesitamos además la tabla ENCABEZADO_FACT. ya que ella contiene el porcentaje de descuento y el de impuesto aplicado a cada factura. Consulta ACT_IMPUESTO . también debe hacerse coincidir el ID_FACTURA con el campo NO_FACTURA de la tabla ENCABEZADO_FACT. del impuesto y del total a pagar se mostrarán de la siguiente forma.

Seleccionamos la acción y en su argumento le indicamos el . y permiten automatizar proceso manuales a través de los formularios. para esto utilizaremos de las llamadas macros de MS-ACCESS. las acciones que deseamos que la misma ejecute. debemos idear una forma en que todas se ejecuten al mismo tiempo. para nuestro caso las acciones serán las mismas Abrir consultas. La macros en Access son mucho más sencillas de diseñar que en MS-EXCEL.ACT_TOTAL_LINEA Esta consulta solo requiere de la tabla DETALLE FACT. Una vez en ella seleccionamos secuencialmente. existen varias acciones que podemos ejecutar con este objeto. grupo otros. ya que los valores para el campo TOTAL_LINEA se derivan fácilmente de los otros campos de acuerdo a la siguiente fórmula: (CANTIDAD*PRECIO_UNIT)-DESCUENTO+IMPUESTO Vaya desarrollándolas de una en una con ayuda del instructor. por ejemplo si queremos que la macro abra la consulta ACT_PRECIO_UNIT. Para crear una macro únicamente debemos ir a la ficha Crear. Diseño de macroinstrucciones Como sería muy tedioso y poco eficiente tener que ejecutar una a una cada actualización cada vez que se registre una factura. y hacer click en el ícono llamado Macro.

La pantalla se mostrará así: . y luego no dirigiremos al botón indicado.nombre de la consulta y así sucesivamente para las cuatro consultas de actualización. para esto vamos a abrir dicho formulario en vista diseño. nos posicionamos en la ficha llamada “eventos”. abriendo sus propiedades. Al final la macro se mostrará así: Luego la podemos salvar con el nombre ACTUALIZA_DATOS. Creación de eventos en un formulario Un envento es el resultado o consecuencia de una acción específica del usuario. en nuestro caso como queremos que la actualización de los datos se realice de una forma automática al incluír la factura debemos “programar” el evento para el momento en que hacemos click en el botón de “Agregar nueva factura” del formulario de registro de factura (formulario CSLT_ENCABEZADO). Si hacemos click en ejecutar veremos como ella rellena por nosotros los campos faltantes de la tabla DETALLE_FACT.

y cerramos el cuadro de diálogo. elegida por el usuario. seleccionamos en la propiedad “Al salir”. la macro ACTUALIZA_DATOS. Posteriormente. La consulta final debe mostrarse así. y hacemos doble click en el campo NO_FACTURA. hacemos click en el ícono Eliminar.Ya en esta ficha. . La proposición DELETE. Consultas de eliminación o borrado de datos. Similar a la anterior vamos a crear una consulta de eliminación que nos ayude a eliminar una factura en particular. luego seleccionamos la tabla ENCABEZADO_FACT. asistida por la proposición DELETE. para esto debemos escribirla así: =[Digite factura a borrar:] Observe que esto es muy similar a cuando definimos un campo derivado en las consultas anteriores. Luego sencillamente salvamos el formulario y lo activamos en vista formulario. Hacemos click en la ficha Crear y seleccionamos el ícono diseño de consulta del grupo otros. el criterio de búsqueda de esta consulta es una variable que va a solicitar el número de factura a borrar. Otro tipo de consulta de modificación de datos es la llamada consulta de eliminación de registros. Esto hará que cuando hagamos click en el botón se ejecute automáticamente la macro indicada y se muestre la pantalla lista para agregar una nueva factura.

etc. de fecha. . El ícono asignado a este tipo de consulta es diferente a los anteriores. usted podrá eliminar registros de tablas. Importante: ¡Tenga cuidado! Si en el diseño no señala un criterio en particular la consulta borrará todos los registros de facturas.Salve ahora la consulta con el nombre CSLT_BORRAR_FACT. sujetos a diversos criterios que pueden ser numéricos. Mediante este tipo de consulta. y actívela indicando un número de factura que desee borrar. de texto.

INFORMES BASADOS EN CONSULTAS Y MENÚ PRINCIPAL .LECCION 5.

. y ENCABEZADO_FACT. CONSULTA RPT_FACTURA. Para la consulta encabezado del informe vamos a ir a la ficha Crear grupo Otros y hacemos click en el ícono llamado Diseño de consulta. de ahí que se utilice el prefijo RPT para esta consulta.INFORMES BASADOS EN CONSULTAS Así como es posible realizar formularios más eficientes con base en consultas. que es la traducción de la palabra “report” en inglés. esta técnica también es posible utilizarla para crear informes más complejos y útiles. 6 Es usual que los “informes” también sean llamados “reportes”. para este caso el criterio debe indicar: =[Digite factura a imprimir:] Una vez hecha la consulta guárdela con el nombre RPT_FACTURA 6 La consulta así diseñada debe quedar como se muestra a continuación: 5 Note que en este caso seleccionamos tres campos adicionales de la tabla CLIENTES con el fin de que los cobradores puedan tener información adicional para localizar al cliente para cobro. extrayendo para ella las tablas llamadas CLIENTES. es decir la impresión de la factura misma. uno de ellos es sin duda el más necesario en el caso de una aplicación de facturas. En dicha consulta seleccionaremos los siguientes campos: CAMPOS TABLA NO_FACTURA ORDEN_COMPRA FECHA ID_CLIENTE NOM_CLIENTE TELEFONO PLAZO DIRECCION IMP_VTA DESCTO ENCABEZADO_FACT ENCABEZADO_FACT ENCABEZADO_FACT ENCABEZADO_FACT CLIENTES CLIENTES CLIENTES CLIENTES5 ENCABEZADO_FACT ENCABEZADO_FACT En esta consulta debe incluirse un Criterio similar a como se realizó anteriormente cuanto se diseño la consulta de borrado.

seleccionaremos los siguientes campos: CAMPOS TABLA ID_FACTURA ID_PRODUCTO NOM_PRODUCTO CANTIDAD PRECIO_UNIT DESCUENTO TOTAL_LINEA DETALLE_FACT DETALLE_FACT PRODUCTOS DETALLE_FACT DETALLE_FACT DETALLE_FACT DETALLE_FACT 7 Guarde la consulta con el nombre RPT_DETALLE FACTURA 7 En este caso se toman todos los campos de la tabla DETALLE_FACT.CONSULTA RPT_DETALLE_FACTURA Ahora procederemos a realizar la consulta que servirá de base para el detalle de la factura. Para tal efecto. que ya fueron actualizados por las consultas de actualización vistas anteriormente. .

seleccionamos primero la consulta RPT_FACTURA. y todos sus campos. y en el grupo Informes. Para esto seleccionamos la ficha Crear.CREACION DEL INFORME DE FACTURA Una vez creadas las dos consultas anteriores ya podemos desarrollar el informe que nos permitirá imprimir la factura. de esta manera: . hacemos click en el Asistente para informes.

con su encabezado y detalle: .Luego en la misma pantalla elegimos la consulta RPT_DETALLE_FACT y todos sus campos similar a como lo hicimos cuando creamos el formulario de la factura al inicio del curso. la pantalla ahora muestra la conformación del informe básico. Luego hacemos click en siguiente.

en cuanto a estos campos. sin embargo al tratarse de una factura. y vamos a seleccionar las casillas de verificación correspondientes al DESCUENTO. y luego en Siguiente. Al igual que el caso anterior se nos permite ordenar el informe por algún tipo de campo. al hacer esto el informe sumarizará estas columnas en el informe final ahorrándonos mucho trabajo de diseño. en las opciones de resumen se nos presentan también algunas opciones importantes. en esta pantalla el asistente nos permite algún tipo de agrupamiento que nos será más útil adelante.Hacemos click en siguiente. . hagamos click en ella. Hacemos click en Aceptar. IMPUESTO. por el momento ignoraremos la opción volviendo a hacer click en siguiente. esto no es relevante. y TOTAL_LINEA.

En la pantalla siguiente se nos muestra un estilo a aplicar.En la siguiente pantalla se nos solicita el tipo de distribución que se desea para el informe y su orientación. No es tarea fácil elegir la distribución correcta. por motivos de ahorro de tinta de las impresoras es conveniente que todo informe contenga a lo sumo dos colores de tintas. para un reporte de muchas columnas es mejor la orientación horizontal. por lo general se debe repertir el proceso varias veces para obtener la mejor distribución de un informe. . o bien un impresión básica en blanco y negro. y la orientación Vertical y hacemos click en siguiente. En nuestro ejemplo seleccionaremos la distribución Esquema. por otro lado la orientación vertical u horizontal dependerá de la cantidad de columnas que se desee incluír en un reporte.

sin embargo esto no quiere decir que no podamos asignar un nombre diferente.Hacemos click en siguiente. Hagamos click en Finalizar La presentación final de la factura deberá mostrarse de la siguiente forma: Y al igual que en el caso del formulario podemos darle nuestro “toque personal” en la vista diseño. Al igual que en casos anteriores ms-access sugiere el nombre de la primera consulta para el informe. para que al final se muestre así: .

la fecha. de todas las facturas emitidas en un período determinado. . el impuesto total.Ahora a modo de práctica diseñe un informe de ventas que contenga. y el total a pagar. el descuento total. el número de factura.

.

EL PANEL DE CONTROL Y LA SEGURIDAD EN MS-ACCESS .LECCION 6.

En este grupo seleccione Administrador del panel de control. a lo que respondemos Sí. pero sin tener la capacidad de cambiar su estructura. Tablas Formularios Consultas Informes Macros Ahora bien nuestra base. Haga click en el grupo Herramientas de base de datos. a saber: 1. 5. Para esto debemos primero crear lo que se conoce como el panel de control de la aplicación8. ya que debemos diseñar un mecanismo a través del cual el usuario pueda acceder a los formularios. 4.1. el cual procederemos a realizar seguidamente. si bien se encuentra bastante avanzada. la que estudiaremos aquí es la más sencilla y útil para aquellas personas que no tienen mucha experiencia en Access. de la ficha del mismo nombre. El panel de control. A este punto ya hemos completado la casi totalidad de los pasos que indicamos al inicio del curso y hemos diseñado los cuatro tipos fundamentales de objetos que conforman nuestra base de datos. dista mucho de proveer una utilidad y seguridad propia para uso por parte de terceros. El asistente indicará que si desea crear el panel. 3. o modificar su diseño. El cuadro de diálogo se mostrará como sigue: 8 Existen muchas formas de crear un menú principal. . 2.

Hagamos click en modificar. cuya acción será abrir el formulario en modo Agregar . ya que el panel hará referencia únicamente a estos dos tipos de objetos. El panel mostrado es el panel por defecto de ms-access 2007. e inmediatamente en nueva: Como primer botón estableceremos uno llamado “Registro de facturas”.Antes de seguir adelante es conveniente indicar que para que una consulta o tabla pueda ser visualizada a través del panel. debe contar previamente con un formulario o un informe. Otro aspecto importante es que en cada panel se pueden incluír sólo 8 opciones. este será nuestro menú de arranque. el formulario CSLT_ENCABEZADO de esta forma: . por lo que si requiere de más opciones debe necesariamente crear paneles vinculados.

Luego hacemos click en Aceptar la pantalla se mostrará así: .

2. . Una tabla llamada Switchboard Items. Un formulario llamado Panel de control. Abrir el formulario en modo edición.Seguidamente procederemos a repetir los pasos anteriores a fin de incluír los siguientes botones: Texto Registo de Clientes Imprimir factura Comando Abrir el formulario en modo agregar. Abrir el informe. Salir de la aplicación Abrir el informe Incluír productos Formulario CLIENTES PRODUCTOS RPT_FACTURA Una vez terminado el panel de control debe mostrarse así: Finalmente procedemos a hacer click en Cerrar. con lo que se formarán 2 objetos adicionales: 1.

de la ficha diseño que diga Sistema de planillas. . relacionados con la etiqueta que muestra al inicio. El panel de control es un formulario especial que incluye varios procedimientos de macro. en la vista diseño. “no borre esta etiqueta” si no desea que aparezca en a vista inicial únicamente márquela y cambie su propiedad Visible 9 9 Para esto siga las indicaciones de su instructor. modifíquela a su gusto. En el área del encabezado inserte una etiqueta utilizando el cuadro de controles. En el pie de formulario inserte un botón de comando de la categoría Aplicación que permita Salir de la aplicación Importante. Estando en esta vista haga click derecho y selecciones Encabezado y pie de formulario.Este último al activarlo directamente mostrará el panel de la siguiente forma: Ahora podemos darnos a la tarea de modificar dicho panel al igual que lo hemos hecho con los formularios anteriores.

o tablas de datos o consultas. Servir de mecanismo de control. para que el usuario no accese partes sensibles del sistema como por ejemplo la estructura. Luego elegiremos Ventanas superpuestas. Siempre en esta pantalla hacemos click en Opciones de Access. y luego en Base de datos actual. en la opción opciones de ventana de documentos y eliminaremos el check. haciendo click en el botón de office ubicado en la esquina superior izquierda de la pantalla. Sin embargo esto por sí sólo no garantiza que el usuario no sienta la “humana tentación” de accesar otros elementos del sistema para lo cual debemos inhibir hasta donde sea posible este deseo. esto hará que cuando accesemos nuestra base este formulario sea activado por defecto. Las modificaciones deben mostrarse así. Mostrar el panel de exploración y permitir el uso de menúes. 2. Como hemos visto es posible crear un menú de acceso que guíe al usuario en la aplicación. de las opciones de permitir cambios en el diseño de tablas. el mismo tiene dos propósitos fundamentales: 1. Establecer un formulario integrado a partir del cual el usuario pueda tener un acceso ordenado y controlado a los objetos del sistema.Incorporación de elementos de seguridad. . en la opción Mostrar formulario elegiremos el formulario Panel de Control que recién hemos creado. Primeramente cambiaremos la configuración inicial básica de ms-access.

y haremos click en Configuración del centro de confianza Una vez en ella hacemos click en Configuración de macros. nos posicionaremos en la opción Centro de confianza.Seguidamente. y elegimos habilitar todas las macros: .

Finalmente hacemos click en aceptar. y luego cerramos la base de datos completamente y la volvemos a abrir a fin de que nuestros cambios se reflejen en ella así: Note que ahora ya no es posible accesar al panel de exploración ni cambiar nada del diseño original. y el panel de control se muestra automáticamente a entrar a la base de datos. .

y ubicar el subdirectorio donde la misma se encuentra. como por ejemplo la definición de perfiles y grupos de usuarios. 11 10 Ms-access provee muchas otras opciones para su seguridad. y seleccione el ícono de establecer contraseña para la base de datos y defina su password. sin embargo estos elementos no forman parte del contenido del presente curso. 11 Asegúrese de no olvidar su clave para no tener inconvenientes serios que lo lleven incluso a perder todo su trabajo. Seguidamente marcamos la base (sin abrirla) y seleccionaremos la opción de abrir en modo exclusivo ubicada en la esquina inferior derecha del cuadro de diálogo respectivo.Establecimiento de un password general de acceso 10 Finalmente estableceremos un password general para nuestra base. sin abrir la base. haciendo click en el botón de salida del panel de control. Ahora vaya a la ficha Herramientas de la base de datos. luego debemos abrir ms-acces. y encriptación de la base. . Para esto debemos cerrar completamente nuestra base. manteniendo oprimida la tecla Shift al hacerlo: Al mantener oprimida dicha tecla notará que todas las especificaciones anteriores fueron ignoradas.