Ejemplo arquitectura 3 capas con access
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
5,246
On Slideshare
5,246
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
124
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. http://dianakids.tripod.com/diseno/bd01b.htmArquitectura de tres capas con AccessTERCERA CAPA: LA BASE DE DATOSAnte la realidad de que muchos estudiantes carecen de las destrezas necesarias parautilizar con versatilidad lenguajes de programación en el diseño y creación deaplicaciones distribuidas, he preferido desarrollar las tres capas: la capa de Presentacióno Interfaz de usuario (IU), la capa Lógica de Negocio y la capa de Acceso o Serviciosde Datos con una aplicación que pueda ser familiar al estudiante de cualquierconcentración.Con Acces, podemos hacer, entre otras cosas, lo siguiente: √ Cálculos u otros procesos de negocios. √ Ejecución de reglas de negocios. √ Validación de datos relacionados al negocio. √ Manipulación de datos. √ Ejecución de las reglas de datos relacional. √ Interactuar con aplicaciones externas o servicios. √ Interactuar con otros usuarios.Que distribuidas entre las tres capas, se vería así: 1. Interfase de usuario (Capa de Presentación) o Interactuar con otros usuarios. o Interactuar con aplicaciones externas o servicios. 2. Procesos de negocios (Capa de Negocios) o Cálculos u otros procesos de negocios. o Ejecución de reglas de negocios. o Validación de datos relacionados al negocio. 3. Procesos de datos (Capa de Servicios de Datos). o Manipulación de datos. o Ejecución de las reglas de datos relacional.Especificaciones Técnicas
  • 2. El mismo carece de complejidad, la única intención ha sido la de mostrar como sedesarrolla una aplicación cliente/servidor empleando un diseño distribuido. Essuficiente con una sola estación de trabajo (Aplicación basada en Host) que tengainstalado el sistema operativo Microsoft Windows 2000 para su ejecución, aunquepudiera distribuirse por varias computadoras en una red.Arquitectura de las tres capasBásicamente la Arquitectura se centra en una arquitectura de 3 partes, las cuales puedendistribuirse en una, dos y tres capas.1. La capa de presentación que en este caso esta formada por los Componentes de IU, y los componentes de proceso de IU. Los componentes de IU pueden ser vistos como la parte con la cual interactuar el usuario. Las ventanas o páginas web, por decirlo de alguna manera. Los componentes de proceso de IU podríamos asociarlos a clases de tipo controladora en UML. Es decir estos encapsulan lógica de navegación y control de eventos de la interfase.2. La capa de negocios encapsula lógica de negocios. Los servicios de esta capa son encapsulados en tres tipos de componentes, dos de los cuales se tocan en este ejercicio. Las entidades empresariales, que representan objetos que van a ser manejados o consumidos por toda la aplicación, estos podrían ser un modelo de objetos, xml, datasets con tipo, estructuras de datos, que permitan representar objetos que han sido identificados durante el modelamiento. Los otros tipos de
  • 3. objetos son los componentes empresariales que contienen lógica de negocio, y en algunos casos al usar COM+ son los objetos raíz que inician las transacciones.3. La capa de acceso a datos que contiene clases que interactúan con la base de datos. Estas clases surgen como una necesidad de mantener la cohesión o clases altamente especializadas que ayuden a reducir la dependencia entre las clases y capas. Las tres partes de las Aplicaciones en una, dos o tres capasSe puede decir que todas las aplicaciones tienen la misma arquitectura básica y se pueden subdividir en tres partes: Interfaz del Usuario: La presentación al usuario, con las entradas de datos y las pantallas de consulta. Reglas de negocio: Sería el procesamiento de la información. Accesos a Datos: El control del almacén de datos.Aplicaciones mono-capaEntendemos por aplicaciones mono-capa, aquellas que tanto la propia aplicación como los datos que maneja seencuentran en la misma máquina y son administradas por la misma herramienta: podríamos decir que son una solaentidadFigura 1. Arquitectura Típica de una aplicación de una sola capa.Aplicaciones con Arquitectura en dos capas (Two-Tier)Estas aplicaciones son más conocidas como aplicaciones Cliente/Servidor y lo más característico es que dividen unaaplicación entre un cliente y un servidor estableciendo un middleware que controla las comunicaciones entre ambos.Un programa Visual FoxPro que interroga a una Base de Datos SQLServer es un ejemplo de aplicación en dos capas.En la raíz de las aplicaciones cliente/servidor está la separación de la aplicación en componentes encapsulados uobjetos. La ventaja de romper una aplicación en trozos es que cualquier cambio de uno de esos componentes no tieneun impacto directo sobre los otros o en el resto de la aplicación.En las arquitecturas two-tier, la aplicación se divide en dos entidades separadas.La arquitectura two-tier dividida en dos entidades con el interfaz por un lado y las reglas de negocio junto con el Accesoa Bases de Datos por otro se muestran en la Figura 2.Figura 2. Arquitectura Two-tier con el interfaz y las reglas de negocio encapsuladas juntas.O se podría poner en el mismo lado el interfaz junto con las reglas de negocio y tendríamos lo que se muestra en la
  • 4. Figura 3.Figura 3. Arquitectura Two-tier con el acceso a la Base de Datos y las reglas de negocio encapsuladas.¿Qué método es mejor? Como regla general poner reglas de negocio ligados a un interfaz es una mala idea ya quefuerza a que cada cambio en la aplicación nos lleve a ir usuario por usuario cambiándole la aplicación.Encapsular las reglas de negocio junto con los datos tiene la ventaja de que se pueden cambiar sin tener que tocar losinterfaces de los clientes que seguramente estarán muy distribuidos. El inconveniente es que normalmente losServidores de Datos no son muy moldeables y es bastante complicado implementar reglas de negocio en losservidores.Muchas aplicaciones two-tier combinan de forma conjunta ambos sistemas. Es con frecuencia impracticable oindeseable, encapsular completamente los procesos con los datos.En estas aplicaciones el Servidor de Datos procesa las Consultas y realiza todas las actividades relacionadas con laBase de Datos. Cada Cliente inicia y deja abierta una conexión al servidor para poder enviar las peticiones y poderprocesar las respuestas.Normalmente la lógica se establece en el cliente usando un lenguale 3GL o 4GL o en el servidor mediante Triggers yProcedimientos Almacenados. Dependiendo de donde establezcas la lógica tendrás un Fat Client o un Fat Server.Este modelo suele ser costoso de mantener, difícil de escalar y pesado de depurar.Aspectos a tener en cuenta a la hora de pasar de una aplicación de una sola capa a otra en dos Capas  Usa Vistas Locales en vez de acceder a tablas directamente  Encapsula las reglas de negocio fuera de contenedores visuales. Las Reglas de Negocio deberían ir en clases no visuales tipo Custom.Arquitectura Three-TierComo se podría esperar cada uno de los componentes de la aplicación en una arquitectura three-tier se separa en unasola entidad. Esto te permite implementar componentes de una manera más flexible. Algo que no creo que sorprendaes la afirmación de que este tipo de arquitectura es la más compleja.
  • 5. En esta Arquitectura todas las peticiones de los clientes se controlan en la capa correspondiente a la lógica delnegocio. Cuando el cliente necesita hacer una petición se la hace a la capa en la que se encuentra la lógica delnegocio. Esto es bastante importante pues eso quiere decir que: 1. El cliente no tiene que tener drivers ODBCni la problemática consiguiente de instalación de los drivers por tanto se reduce el costo de mantener las aplicaciones cliente 2. El Cliente y el Gestor de Reglas de negocio tienen que hablar el mismo lenguaje (en nuestro caso COM) 3. El Gestor de Reglas de Negocio y el Servidor de Datos tienen que hablar el mismo lenguaje (en nuestro caso ODBC)Lo ideal sería que el Gestor de Reglas de Negocio no sólo OLE y ODBC sino otros estandares como DBLib, OLI,DRDA, SQL/API y X/OpenEmpezaremos por lo básico, esto es, por la base de datos.Arquitectura de tres capas con AccessTERCERA CAPA: LA BASE DE DATOSLos objetos de una base de datos de un negocio representan a los objetos reales de dichonegocio. En cualquier negocio hipotético podemos identificar los siguientes objetos básicos: √ Producto √ Clientes √ Empleados y/o Vendedores √ Órdenes √ SuplidorOtros objetos como la Factura, el Inventario, Nómina, etc. pueden derivarse de los anteriores.Todos estos objetos reales los representaremos de forma lógica en un solo archivo quellamaremos proyecto1.Planificación de la base de datos
  • 6. Mediante la base de datos de Access, se puede guardar una cantidad inmensa de datos parauna gran variedad de negocios y actividades personales. La base de datos se debe planificar enfunción de las necesidades del negocio. Antes de iniciar a trazar la estructura de la base dedatos, sería bueno comprender los componentes que provee Access:  El database engine de datos es el programa que actualiza los almacenes, los índices y la recuperación de datos. Utiliza un motor Jet para manipular los datos.  Los database objects proveen el interfaz que se usa para ver, entrar y extraer información de la base de datos. Los objetos más comunes son las tablas, los formularios, los queries y los informes.  Access incluye una serie de herramientas de diseño que se utilizan para crear objetos. El diseñador de informes, por ejemplo, puede organizar datos, agruparlos por campos, y añadir encabezamientos y pies de página para cada página de un informe.  También Access incluye un grupo de herramientas de programación que se pueden usar para automatizar tareas de rutina.La planificación de la base de datos se planifica en torno a los distintos objetos que se piensanutilizar.TablasLa tabla es la unidad básica para guardar una colección de datos en Access. La tabla consta defields, elemento que guarda una porción de información para cada record (visualmente estánrepresentados por las columnas de la tabla), y de records, elemento que contiene un númerodeterminado de fields (visualmente, cada record representa una fila de la tabla).¿Cuántos objetos tablas se deben crear? De soltada, tantas tablas cuantos objetos reales quefuncionan en el negocio, considerando que algunos de los objetos reales pueden estarrepresentados por otros objetos lógicos, como Queries, Forms y Reports. La norma que debeaplicar en la planificación es la de economía. Si uno de los componentes u objetos del negociopuede construirse con los datos que suministran las tablas (previamente creadas) mediante unQuery, no hay razón para añadir una tabla más para dicho componente. Generalmente cuandono se planifica bien la estructura de la base de datos, el resultado va a ser multiplicidad detablas y repetición de campos en varias tablas.
  • 7. ¿Cuántos campos deben crearse en cada tabla? Aquellos que demande el tipo de componenteu objeto real. Aquí también aplica la ley de la economía: cuando un campo está atendido porotra tabla, no lo repitas. Evita la duplicidad de campos y datos, excepto aquellos campos clavesque se van a utilizar para relacionar dos tablas entre sí (ver más adelante la sección deinterrelaciones entre tablas).QueriesLos queries permiten extraer subgrupos de datos de una tabla, de varias tablas previamenterelacionadas, o de otros queries, utilizando criterios que uno define. Trabaja como un objetomás de la base de datos, de forma idéntica a la tabla. Los queries bien planificados nos puedenahorrar pueden ahorrarnos multiplicidad de tablas. Antes de crear una nueva tabla, hazte lasiguiente pregunta: ¿puedo crear este objeto mediante un query utilizando los campos quehay en otras tablas actuales?FormsEl formulario facilita la entrada de datos, ver y editar la información. Los formularios puedendiseñarse de tal manera que reproduzcan formas como las de una factura y agenda, o puedescrear formularios expresamente organizados para entrar datos, incluyendo reglas devalidación de datos, al igual que en Excel. La ventana de un formulario puede incluir unasubform que presenta información de otra tabla relacionada. El formulario también puedeincluir resúmenes estadísticos.ReportsMediante el objeto reports pueden presentarse datos de una o varias tablas o queries en unestilo legible y en un formato profesional, generalmente listo para imprimirse. El informepuede incluir, además de una lista detallada de datos específicos, agrupados y organizados,resúmenes estadísticos.
  • 8. Otros objetosLa ventana de base de datos de Access incluye otros tres tipos de objetos:Pages –conocido como data access pages– provee para publicar la información de la base dedatos en Web. Se puede diseñar la página web de tal modo que presente los datos, permita alos usuarios editar el contenido de la base de datos ose provean herramientas para analizar losdatos. Contrario a los otros objetos de la base de datos, la página web se guarda en el discocomo un archivo .html separado.Macros. Este objeto permite definir una secuencia de acciones en la base de datos. Son fácilesde programar y no se necesita tener conocimientos en programación. El macro, por ejemplo,puede correr al abrir un formulario, o adjuntar el macro en un botón de comando delformulario. Para correr el macro, selecciona el objeto en la lista de los Macros y haz clic en elbotón Run de la barra de herramientas de Access.Modules. Son colecciones de procedimientos y declaraciones de Visual Basic, diseñados paraejecutar tareas específicas en el contexto de tu base de datos.TERCERA CAPA: LA BASE DE DATOSPRIMER PROYECTO: CREACIÓN DEL OBJETOTABLA  Inicia Microsoft Acces.  Nomina la base de datos como proyecto1Los objetos básico y radicales (viene de raíz) de Access son las tablas.Crearemos una tabla por cada objeto real: Producto, Clientes, Empleado,Ordenes y Suplidores.Es necesario que las cinco tablas, por pertenecer a una misma estructura onegocio, se relacionen entre sí para poder compartir e intercambiar lainformación que posee cada una de ellas. Para que este intercambio de
  • 9. información ocurra, hay que diseñar de tal forma las tablas que cada objeto/tabla tenga almenos un campo común e idéntico en Data Type, no necesariamente en Field Name (si esidéntico en nombre y tipo de dato, mucho mejor, va a favor la comprensión y claridad). Loscampos comunes a otras tablas los escribiremos en letra negrita.Evita la repetición de campos, a no ser aquellos que contienen la clave principal, con la mismainformación en distintas tablas. Es buena práctica nominar los campos que contienen la claveprincipal con las iniciales ID.Nota Nomina los objetos y los campos con una sola palabra. No utilices caracteres raros,como acentos y eñes. Sé consistente en la utilización de las letras mayúsculas y minúsculas.No utilices el tipo de dato AutoNumber para el campo Primary Key si piensas interrelacionarlas tablas (pues tendrás que interrelacionar este campo con otros campos que tal vez notengan ese mismo tipo de dato), utiliza mejor Text por ser menos limitante.Por ahora crearemos las tablas de Producto y Cliente. Posteriormente trabajaremos a sudebido tiempo el resto de las tablas.Table1 (producto) 1. Selecciona el objeto Tables. 2. Haz doble clic sobre 3. Entra la siguiente información. Propiedades Observaciones Primary Field Name Data Type Decimal Key Caption Place Text Si IDProductoIDNombreProducto Text NombreSuplidorID Text Este campo se utiliza para relacionar la tabla de Suplidores con esta tabla.CantidadStock Number
  • 10. PrecioVenta Currency Precio 2 VentaPedidoID Text Num Este campo se utiliza Orden para relacionar la tabla de Órdenes con esta tabla. 4. Cierra la tabla y la nominas como producto.Table2 (cliente) Primary Propiedades Observaciones Field Name Data Type Key Caption Input Mask Text Si IDClienteIDNombreCliente Text NombreApellidos Text Al entrar el Input Mask (mascarilla) guarda la tabla como clienteTelefono Text TelephoneDireccion1 Text Urb.- BarrioDireccion2 Text Calle-BoxCiudad TextZip Text Zip CodeProductoID Text ID Producto Este campo se utiliza para relacionar la tabla de Producto con esta tabla.Cantidad NumberFormaPago Lookup Forma Incluir como alternativas: Wizard… Pago Visa, MasterCard, ATH, Cheque, CASH, Otra.NumeroCuenta Text Número CuentaCierra la tabla y la nominas como cliente.
  • 11. Creación de la ventanaLookup 5. Al elegir el tipo de dato Lookup Wizard aparece la primera etapa del asistente. Elige la opción I will types in the value thay I want. 6. Presiona Next. 7. Deja el número 1 de columnas y escribe debajo del título Col1 las seis apciones que te presento al lado derecho.RELACIONESAntes de ponerte a trabajar con una base de datos que contine varias tablas, es necesariodefinir la relación que existe entre las mismas. Una relación define aquellos campos que tienenen común dos tablas, de tal manera que Access pueda combinar la información de las dostablas en un resultado lógico. En general, para establecer una relación entre dos tablas serequiere que cada tabla tenga un campo en común. Usualmente, los dos campos en comúnincluyen el campo primary key en una tabla; el campo correspondiente en la segunda tabla sellama foreign key, clave externa. La interrelación entre las tablas es crucial para lamanipulación de las bases de datos.Definir interrelaciones entre las tablas 1. Haz un clic en el botón Relationship o elige Tools/Relationship... Aparece la caja de diálogo de Relationship. Si no estuvieran presentes las cuatro tablas, haz un clic el el botón Show Table , o haz un clic con el botón derecho del ratón sobre la caja de diálogo y elige Show Table. Aparecen las tablas creadas en la base de datos.
  • 12. 2. Añade sólo las tablas de cliente y la de producto en la plataforma de Relationship, una a una; cuando hayas añadido las dos, cierra la caja Show Table. Al finalizar cierra (Close) la ventana.3. Haz un clic con el botón izquierdo en el campo que contiene la clave principal (productoID) de la tabla Producto y, manteniendo presionado el botón izquierdo, arrastra el puntero (que adquiere esta forma ) hasta colocarlo sobre el campo ProductoID de la tabla cliente. Aparece la caja de diálogo Edit Relationship, observa en la parte inferior el tipo de relación: One-To Many.
  • 13. 4. Presiona el botón Create. 5. Cierra la plataforma de Relationship y guarda la relación creada.CREACIÓN DEL OBJETO FORMSLos formularios se generan a partir del objeto Tablas y del objeto Query de dos formas: a) conAutoForm, b) Insert Form y con el Asistente (Wizard).De odas las herramientas que hay para crear formularios, en este momento utiliza únicamentela herramienta Autoform para crear los formularios correspondientes a las tablas de cliente yproducto.Autoform Creación del formulario con un clic 1. Selecciona (no la abras) el objeto Tables o Queries. 2. Selecciona una tabla o un query en específico. 3. Haz un clic en el botón AutoForm o en el menú Insert/AutoForm. 4. Los campos del formulario son los mismos que los de la tabla.
  • 14. Crea con un clic el formulario de las tablas clientes y producto. Al guardar el formulario, deja elmismo nombre que tiene la tabla de la cual procede.Insert Form 1. Selecciona el objeto Forms.. 2. Haz un clic en el botón New o en el menú Insert/Form. 3. Selecciona cualquier tipo de crear formularios entre el segundo y el quinto. El segundo tipo se explica en el apartado que sigue. 4. Elige la Tabla o Query a la corresponderá el formulario. 5. Sigue instrucciones.Asistente (Wizard) 1. Selecciona el objeto Forms. 2. Haz doble clic en . 3. Selecciona la tabla o query que necesites. 4. Elige los campos que necesitas en el formulario. Sigue las instrucciones hasta finalizar.Creación de sub-formularios con el AsistenteAl crear un formulario con el Asistente, como en el caso anterior, puedes elegir no sólo todos oparte de los campos de una sola tabla o query, sino también campos específicos de distintastablas o queries. En este caso, el resultado será un formulario con uno o más sub-formularios,dependiendo el número de tablas elegidas. Da un clic en el botón NEXT para continuar.El formulario que te presento a continuación tiene campos de dos tablas.
  • 15. Para modificar la apariencia del sub-formulario: 1. Cambia a la vista Design View. 2. Haz un clic en el botón de propiedades del formulario (esquina superior izquierda) o en el menú View/Properties. 3. Modifica la propiedad Default View.Interfaz del formularioEl formulario de Access posee casi las mismas características que el formulario de Visual Basic.Las tres vistasAntes de trabajar con el interfaz del formulario, te recomiendo que explores las tres vistas, eintercambies varias entre las vistas de Design View y Form View.El interfaz del formulario se trabaja en la vista dediseño. Cuando accedes a esta vista, Access tepresenta las herramientas de trabajo necesariaspara perfeccionar y mejorar la apariencia delinterfaz del formulario.Estas herramientas las vienes usando desde VisualBasic.
  • 16. Manipulación del Label y del Tex BoxAl principio se hace un poco difícil manipular el tamaño y la ubicación de estos dos objetosadheridos y correlacionados.Para mover los dos objetos al Para mover uno de los dos Para modificar el tamaño, activamismo tiempo: activa uno de los objetos: activa cualquiera de los el objeto que deseas modificar,dos, apunta hacia los bordes dos objetos, apunta hacia la apunta hacia los indicadores delsuperior o inferior del objeto esquina superior izquierda del borde, cuando aparezca la líneaactivado, cuando aparezca la objeto que quieres mover, de doble flecha, arrastra el ratónmano abierta, mueve los cuando aparezca la mano en la dirección deseada.objetos. señalando con el dedo índice, mueve el objeto.Data EntryCon el propósito de seguir trabajando con la siguiente fase, conviene entrar alrededor de 10casos o registros (records) de los productos utilizando el formulario producto. El mejor interfazpara entrar datos es el del objeto Forms.OLE Objetos en el formulario 1. Abre en la vista de diseño el formulario clientes donde se creó un campo con el tipo de OLE Object. Activa el frame (Text Box) del campo Carta que contiene el tipo de dato OLE Object. 2. Haz un clic en el menú Insert/Object... 3. Elige en Object Type: el objeto Microsoft Word Document. Aparece la caja de diálogo Insert Object.
  • 17. 4. Marca la opción Create from file y haz un clic en el botón Browse... para elegir el archivo (la carta) de Word. 5. Marca la alternativa Display as Icon. Si marcas también la alternativa Link, el archivo abre siempre y cuando esté en el lugar que se guardó originalmente. 6. Haz un clic en OK.Arquitectura de tres capas con AccessTERCERA CAPA: LA BASE DE DATOSSEGUNDO PROYECTO: CAMBIO DE DISEÑODEL FORMULARIOSi se va a utilizar el formulario para entrar datos a la basede datos, conviene que la interfase, además de legible, seaagradable a la vista y con los controles necesarios pararealizar las tareas comunes. Hasta ahora prácticamente nohemos aportado nada en el diseño del formulario. Está taly como lo creó el programa. Vas añadir un fondo, unencabezamiento, una foto y varios controles de ejecucióny de navegación.Recuerda que todo cambio a los objetos hay que hacerlo en la vista de diseño.
  • 18. Encabezamiento 1. Selecciona cualquier formulario y abre el mismo en la vista de diseño. 2. Haz un clic con el botón derecho del ratón sobre el formulario. 3. Elige Form Header/Footer o haz un clic en View / Form/Form Header/Footer. 4. Crea un recuadro con la herramienta Label en el área del Header, y escribe el título del formulario. 5. Con el recuadro activado, haz un clic en el botón properties (o Vew/Properties, o Botøn derecho/Properties). 6. Trabaja las siguientes propiedades del título, por mencionar algunas: Back Style Back Color Special Effect Border Style Border Color Border Width Fore Color Font Name Font Size Font Weight Text AlignFondo del formulario 1. Haz doble clic en Form Selector o en en menú Edit/Select Form y haz otro clic en el botón Properties. 2. Trabaja las propiedades de:
  • 19. Picture (haz un clic en el botón Build y elige la foto deseada. Picture Type. Picture Size Mode. Picture Alignment.Imágenes 1. Haz un clic sobre la herramienta Images de la barra de herramientas. Aparece la caja de diálogo para insertar imágenes. 2. Elige la imagen que vas a integrar. 3. Presiona OK.ControlesTanto en el formulario como en el informe, los objetos de control pueden tener una detres modalidades: bound (dependiente) o asociado a un campo de la tabla o query;calculated (de cálculo), el cual tiene una expresión hecha de combinaciones de lasfunciones de Acces y referencias de campos; o unbound (independiente) no asociado alos campos de las tablas o queries, como es el caso de líneas, text box y etiquetas detexto.El objeto o control dependiente es El objeto o control independiente es El control de cálculo se utiliza paraun objeto o control asociado a un un objeto o control no asociado a un crear cálculos estadísticos ycampo de una tabla o consulta (Query) campo de una tabla o consulta (Query) matemáticos.adyacente. adyacente.Crear e integrar el objeto independiente (Unbound Object)de un marco en un formulario o Informe 1. Haz un clic en la herramienta Unbound Object Frame.
  • 20. 2. Haz un clic en el lugar del formulario o informe donde quieres insertar el objeto. 3. En la caja de diálogo Insert Object, haz un clic en Create New si no está seleccionado, y luego en la caja Object Type elige el tipo de objeto que deseas. 4. Selecciona Display As Icon si prefieres que aparezca el icono del objeto. 5. Haz clic en OK. Aparece abierto el objeto seleccionado. 6. Crea el objeto usando la aplicación elegida en la etapa 4, y haz una de dos cosas: . o Si el objeto abre en una ventana aparte, rea el objeto y al finalizar presionas File/Exit (se guarda automáticamente al salir). Si te pregunta actualizar el documento, clic OK. o Si creas el objeto en el lugar, clic el formulario fuera frl marco del objeto unbound object. Si haces clic en File/Exit Sales de Microsoft AccessBotones de órdenes (Command Button) 1. Abre el formulario en la vista de Diseño. 2. Haz un clic en la herramienta Command Button de la caja de herramientas. 3. Haz un clic en el área del formulario donde quieres colocar el botón de orden o comando. No se requiere un lugar exacto, puedes ubicarle en el lugar exacto después de creado el botón. 4. Elige la categoría que tiene la actividad deseada. Cada categoría tiene distintas acciones. 5. Presiona Next. 6. Elige el tipo de “caption” del botón: texto o dibujo.
  • 21. 7. Presiona Next. 8. Escribe el nombre para el botón o deja el que da la máquina. 9. Presiona Finish. 10. Repite todo el procedimiento anterior para crear más botones. 11. Prueba los botones en la vista Form.Arquitectura de tres capas con AccessSEGUNDA CAPA: LÓGICA DE NEGOCIOToda aplicación tiene código para implementar reglas de negocios, procesosrelacionados a los datos o cálculos y otras actividades relativas a los negocios.Colectivamente este código es considerado para formar la capa de negocios.Otra vez, uno de los principios del diseño lógico cliente/servidor, la lógica denegocios debe mantenerse separada de la capa de presentación y de losservicios de datos. Esto no significa necesariamente que la lógica de negocios
  • 22. está en cualquier parte, por el contrario, esta separación es en un sentidológico.Hay muchas formas de separar la lógica de negocios. En términos orientados aobjetos, usted debería encapsular la lógica de negocios en un conjunto deobjetos o componentes que no contienen presentación o código de servicios dedatos. Teniendo separada lógicamente su lógica de negocios de ambas, lacapa de presentación y servicios de datos, usted ganará en flexibilidad entérmino de donde usted puede almacenar físicamente la lógica de negocios.Por ejemplo, usted puede seleccionar almacenar la lógica de negocios sobrecada estación de cliente, u optar por ejecutar la lógica de negocios sobre unservidor de aplicaciones, permitiendo a todos los clientes acceder a un recursocentralizado.Los objetos de negocios son diseñados para reflejar o representar susnegocios. Ellos se convierten en un modelo de sus entidades de negocios einterrelaciones. Esto incluye tanto objetos físicos como conceptos abstractos.Estos son algunos ejemplos de objetos del mundo real: un empleado, uncliente, un producto, una orden de compra.Todos estos son objetos en el mundo físico, y la idea en su totalidad detrás deusar objetos de negocios de software, es crear una representación de losmismos objetos dentro de su aplicación. Sus aplicaciones pueden hacer queestos objetos interactúen unos con otros como ellos lo hacen en el mundo real.Por ejemplo, un empleado puede crear una orden de compra a un cliente quecontiene una lista de productos. Siguiendo esta lógica usted puede crearobjetos de negocios de una orden conteniendo el código necesario paraadministrarse a si mismo, así usted nunca necesitará replicar código para crearordenes, usted solo usará el objeto. Similarmente, un objeto cliente contiene yadministra sus propios datos. Un buen diseño de un objeto cliente contienetodos los datos y rutinas necesitadas para representarlo a través del negociocompleto, y puede ser usado a través de toda la aplicación de ese negocio.No toda la lógica de negocio es la misma. Alguna lógica de negocio es unproceso intensivo de datos, requiriendo un eficiente y rápido acceso a la basede datos. Otras no requieren un frecuente acceso a los datos, pero es de usofrecuente por una interfase de usuario robusta para la validación en la entradade campos u otras interacciones de usuarios. Si nosotros necesitamos unavalidación al nivel de pantallas y quizás cálculos en tiempos real u otra lógicade negocios, pudiéramos considerar este tipo de lógica de negocios para serparte de la IU, ya que en su mayor parte es usada por la interfase de usuario.Una alternativa de solución es dividir la capa de lógica de negocios en dos:  Objetos de negocios de la IU.  Objetos de negocios de datos.Un ejemplo del objeto Empleado de la capa objetos de negocios de la IUproveerá propiedades y métodos para usar por el diseñador de la interfase deusuario. Ejemplo de propiedades y métodos pudieran ser: IDEmpleado,
  • 23. Nombre, Dirección, etc., y como métodos crear una de compra, etc. El objetoEmpleado de la capa de objetos de negocios de datos será responsable de losmecanismos de persistencias, interactuar con la base de datos. Los objetos deesta capa son considerados sin estado, solo poseen métodos.Arquitectura de tres capas con AccessSEGUNDA CAPA: LÓGICA DE NEGOCIOMuchos de los planteamientos de la capa de lógica de negocios se resuelven con el objetoQuery. Las consultas (queries) son una herramienta eficaz para dar respuestas a lasinquietudes, preguntas y necesidades del negocio.CREACIÓN DE QUERIESLos datos almacenados en una base de datos son reales. Cuando las organizaciones comienzana utilizar una base de datos por primera vez, generalmente piensan en la creación de sistemasque recuperen de forma rápida y segura los datos. El uso más inteligente de las bases de datossería considerar que la recuperación de los datos consistiera en convertir esos datos eninformación, que no es otra cosa que los datos procesados. Para analizar la tendencia de lasventas necesitamos saber cuántos pedidos se han recibido en un determinado mes. Parafacilitar los pedidos de los proveedores o suplidores deseamos identificar el nombre de lapersona de contacto y su teléfono de forma rápida. Para crear una factura o una nómina talvez necesitemos datos de varias tablas.Una base de datos bien diseñada contiene una tabla para cada sección clave de laorganizaciónEn Access podemos buscar información deseada creando una herramienta de análisis de debase de datos fundamental: la consulta o query. Una consulta es una herramienta que unificadatos procedentes de varias tablas como respuesta a una pregunta o que lleva a cabo unaacción sobre los datos.
  • 24. Definición de consultasUna consulta es una forma de dar respuesta a cualquier pregunta relacionada con la base dedatos mediante la manipulación de tablas, registros y campos. Es una petición de un conjuntode datos en particular, como por ejemplo, “Muéstrame el nombre y el teléfono de los clientesdel pueblo de Rincón”.TRECER PROYECTO: CREACIÓN DE LAFACTURA A PARTIR DE UNA CONSULTAAntes 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 insustituiblesde 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 lainformación mencionada en el párrafo anterior. La razón de ser del Query que vamos a generares 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.
  • 25. 3. Coloca en el tablero las tablas de cliente y producto. 4. 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: ClienteI ProductoI PrecioPublic NombreClient ApellidosClient Direccion Ciuda CuentaNumer NombrePro D D o e e s d o dTable cliente producto producto cliente cliente cliente cliente cliente producto:Sort: 5. 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). 6. Repite el mismo procedimiento para el resto de los campos que te presento en la tabla del paso 4. 7. Guarda el Query con el nombre de Factura al cerrar el mismo.Creación del formulario con Autoform a partir delquery FacturaComo ya sabes, puedes iniciar el procedimiento del formulario a partir del Query Factura dedos 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 utilizasel Asistente, cuando llegues al paso de elegir la tabla o query, tienes que elegir el queryFactura y no una tabla). Preferimos la modalidad a).
  • 26. 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): 2. Guarda el formulario también como Factura. 3. 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:
  • 27. 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): Propiedades Objeto Etiqueta Name Format Input Mask Control SourceText Box Fecha Fecha Short Date Short DateText Box Cantidad Cantidad General NumberText Box Total total =[Cantidad]*[PrecioPublico]Text Box Fecha Exp expira Short Date Short DateOption Group Forma de PagoLabel (en el FACTURA Font:: Tamaño 16, Color azulHeader)Para accesar a las propiedades del objeto haz un clic con el botón derecho del ratón sobre elmismo.Control de cálculoSe entiende por control de cálculo aquella fórmula que calcula el valor visualizado en elcontrol. 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 deExpresiones ... de la propiedad anterior; d) en el Query. Los controles de cálculo secrean 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 latabla.Creación de controles de cálculo en el formularioLa fórmula = [Cantidad] * [PrecioPublico] escrita anteriormente en el objeto unbound deTotal, el cual fue añadido posteriormente en el formulario, es un ejemplo de este tipo decontrol. Para que trabaje dicha fórmula en este formulario, es necesario modificar el nombredel objeto que contiene el dato de cantidad.
  • 28. Creación de controles de cálculo en el QueryAbre en la vista diseño el Query Factura creado anteriormente. Añade al final de latabla el campo Cantidad perteneciente a la tabla del cliente.Field: ClienteID ProductoID PrecioPublico NombreCliente ApellidosCliente Direccions Ciudad CuentaNumero NombreProd Cantidad TTable: cliente producto producto cliente cliente cliente cliente cliente producto clienteSort: 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 hasido 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 sinnecesidad de añadir un control de cálculo en el mismo.La vista Datasheet tiene distintos formatos, colores y fondos. Explóralos enFormat/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:
  • 29. 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 PagoAsí se visualiza al entrar la información.
  • 30. Reto 1. Coloca un logo en el encabezamiento. 2. Añade los siguientes controles de cálculo:  % de Descuento,  Deuda Total,  Cantidad Pagada,  Deuda Actual.Arquitectura de tres capas con AccessSEGUNDA CAPA: LÓGICA DE NEGOCIOCUARTO PROYECTO: CREACIÓN DE LA NÓMINAPara generar el objeto de nómina necesitamos los datos del empleado y/o vendedor (en esteproyecto, partimos del hecho de que el empleado es también vendedor). Como no existentales datos, hay que crear la base de la sección de empleado.Creación de la Tabla3 (empleado)
  • 31. Crea una tabla nueva con la vista de diseño en la misma base de datos. Utiliza el mismoprocedimiento de las tablas anteriores considerando las especificaciones que aparecen acontinuación: Observaciones Data Primary Propiedades Field Name Input Type Key Caption DecimalPlace Mask Text Si IDEmpleadoIDNombreEmpleado Text NombreApellidos TextSeguroSocial Text S.S. Soc. Sec. Al entrar el Input Num Mask (mascarilla) guarda la tabla como empleadoSalarioHora Currency Salario/Hora 2HorasTrabajadas Number Horas TrabajadasFechaPago Text Fecha de Short Pago DateClienteID Text Este campo permite relacionar al empleado con el cliente.Cierra la tabla y la nominas como empleado.La relación de la tabla del empleado con otras tablas puede discutirse. Muchos patronosprefieren mantener distante e incomunicada la información del empleado del resto desecciones del negocio. No obstante, incluimos el procedimiento de dicha relación de formaprovisional.Con los datos que se tienen en la tabla empleado puede crearse la nómina, sin necesidadde tomar prestado más datos de otras tablas.
  • 32. Creación del formulario para entrar la nómina de losempleadosCrea el formulario con un clic.Modifica el formulario en la vista de diseño. Con un clic ModificadoSe crearon los siguientes objetos unbound (no asociados a los campos del Query): Propiedades Objeto Etiqueta Name Format Input Control Source MaskText Box Horas Extras ExtraText Box Total =[HorasTrabajadas]*[SalarioHora]Text Box Income Tax =[Total]*0.09Text Box Retiro =[Total]*0.07Text Box ASUME =[Total]*0.05Text Box Pago Horas PagoExtra =([SalarioHora]*2)*[Extra] ExtrasText Box Total Neto =[Total]+[PagoExtra]-[IncomeTax]-[Retiro]- [Asume]Label Retenciones2 RectangleLabel (en el Nómina Font:: Tamaño 16, Color azulHeader)
  • 33. Jugando con las fórmulasPodemos reducir los objetos de control de cálculo agrupando los datos.
  • 34. Compara este interfaz con el anterior. Fueron eliminados los controles del Total y de HorasExtra. Al tener separadas las horas regulares de las extra, se prestaba a confusión al momentode entrar las horas trabajadas. En este nuevo diseño se integraron todas las horas trabajadas,regulares y extras. Se separarán al hacer los cómputos (juntas, pero no revueltas).En Horas Trab se entran todas las horas trabajadas:regulares y extra.Estas son las fórmulas de los Text Box correspondientes a sus etiquetas. Las horas extras sepagan a doble tiempo (2):Pago Horas Extra =([HorasTrabajadas]-40)*[SalarioHora]*2Income Tax =([HorasTrabajadas] * [SalarioHora]+([HorasTrabajadas]-40) * [SalarioHora] * 2) *0.11Retiro =([HorasTrabajadas] * [SalarioHora]+([HorasTrabajadas]-40) * [SalarioHora] * 2) *0.09Total Neto =([HorasTrabajadas]*[SalarioHora]+([HorasTrabajadas]-40)*[SalarioHora]*2)-[IncomeTax]-[Retiro]-[Asume]PARA SABER MAS...La nómina en Visual Basic Reto: La Comisión y las Notas del examenSi quisiéramos integrar una comisión al empleado que vendetendríamos que relacionar las tablas de Empleado, Cliente yProducto.Crea un Query con estas tres tablas y elige los campos necesariospara la comisión, incluyendo, sin falta, el ID y el nombre delempleado. Para calcular el 3% del total en comisión del empleado, sólo necesitamos también el Totalde las ventas o los campos de Cantidad y Precio:
  • 35. Comision = [Total] * .03 o Comisión = ([Cantidad] * [PrecioPublico]) * .03Este control puedes colocarlo en la tabla del Query, en el formulario o en el informe (más adelanteaprenderás a integrar controles de cálculo en el informe).La comisión en escalas (IIF...)En Access se escribe IF con dos íes IIF(...). La sintaxis es similar a la de Excel.If simple:=IIf ([Ventas] >=1000,[Ventas]*.1)If múltiple:=IIf ([Ventas] <= 1000, “Sin comisión”,IIf([Ventas]< =5000,[Ventas]*.05, IIf([Ventas]<= 10000,[Ventas]*.10, “Viaje en un Crucero”)))El viaje en crucero ocurre siempre y cuando hayavendido más de 10,000.00La NotaCon un formulario del promedio en la vista Design: 1. Crea un objeto con la herramienta Text Box debajo del objeto de promedio (Observa el modelo del lado). 2. Escribe en el rótulo (Caption) Nota. 3. Escribe en el recuadro de Text Box la siguiente formula (El Text Box que contiene el promedio se llama Avg): =IIf([Avg]<59,"F",IIf([Avg]<69,"D",IIf([Avg]<79,"C",IIf([Avg]<89,"B","A")))) Arquitectura de tres capas con AccessSEGUNDA CAPA: LÓGICA DE NEGOCIO
  • 36. QUINTO PROYECTO: CREACIÓN DE FORMULARIOS CON CAMPOS OLE,HIPERVÍNCULOS Y SUBFORMULARIOSCREACIÓN DE LA TABLA DE LOS SUPLIDORES Y PEDIDOSTable4 (suplidor)Crea en la vista Design y en la misma base de datos de los proyectos anteriores la siguientetabla: Propiedades Observaciones Data Primary Input Field Name Type Key Caption Mask Text Si ID SuplidorSuplidorIDNombreSuplidor Text Nombre suplidorPersonaContacto Text Persona ContactoDireccionSuplidor Text DirecciónCiudad TextZip Text Zip CodeTelefContacto Telefono Orden Telephone # Al entrar el Input Mask (mascarilla) guarda la tabla como suplidorPrimerPedido Date/Time Short DateProducroID Text ID ProductoComentario Memo Comentarios relacionados con el suplidorPicture OLE Foto ObjectWebPage Hyperlink Pagina Web Se escribe en el campo la dirección de la página web del suplidor: http://www.etc.comPedidoID Text ID del pedido Este campo se utiliza para
  • 37. relacionar la tabla de Pedidos con esta tabla.Cierra y guarda la tabla con el nombre de suplidor.Cómo crear Hyperlink. 1. Haz un clic con el botón derecho en el campo donde hay que entrar el enlace con la página web. 2. Elige Hyperlink/Edit Hyperlink. Aparece la caja de diálogo de Insert Hyperlink. Variante: Activado el campo de Web Page, haz un clic en en el icono o en el menú Insert/Hyperlink. 3. Escribe (mejor, copia y pega) o selecciona de la lista (si es que está incluida) la dirección en la ventana Type the file or Web page name: 4. Presiona OK.Table5 (pedidos)Crea la siguiente tabla en la misma base de datos de los proyectos anteriores:
  • 38. Propiedades Observaciones Primary Input Decimal Field Name Data Type Key Caption Mask Place Text Si ID delPedidoID pedidoFechaPedido Date/Time Fecha Short Date Al entrar el Input Mask (mascarilla) guarda la tabla como pedidos.ProductoID Text ID Este campo se utiliza Producto para relacionar la tabla de producto con esta tabla.NombreProducto TextCantidadPedido NumberPrecioSuplidor Currency Precio 2 SuplSuplidorID Text Este campo se utiliza para relacionar la tabla de Suplidor con esta tabla.Cierra la tabla y la nominas como pedidos.CREAR DEL FORMULARIO DE SUPLIDORES CON UNSUBFORMULARIOEs sumamente sencillo la creación de un formulario y subformulario con la herramientaForm Wizard. El asistente Form Wizard crea el formulario y subformularioautomáticamente una vez hayas elegido las tables e indicado la organización general detus datos. Sigue los siguientes pasos para crear el formulario y subformulario. Elformulario corresponderá a la tabla de Suplidores y el subformulario a la tabla deProductos.Relacióna la tabla Suplidor con la tabla ProductoEs necesario establecer la relación entre las tablas que vas a utilizar en el formulario ysubformulario, antes de crear el mismo.
  • 39. 1. Haz un clic en el botón Relationships. 2. Haz un clic en el botón Show Table. 3. Añade (Add) al tablero de relaciones la tabla suplidor. 4. Cierra Show Table. 5. Relaciona SuplidorID de la tabla suplidor con SuplidorID de la tabla producto (esta tabla ya estaba relacionada con la tabla cliente). 6. Cierra la ventana Relationship y la guardas.Creación del formulario 1. Activa Forms de la barra de Objects. 2. Haz doble clic sobre Create Form by using wizard. 3. Elige primero, de la tabla Suplidor, los campos: SuplidorID, NombreSuplidor, PersonaContacto, TelContacto, PrimerPedido, ProductoID, Comentario, Picture y WebPage. Segundo, de la tabla Producto, los campos: NombreProducto, CantidadStock y PrecioProducto. 4. Presiona Next. 5. Marca Form with subform(s). 6. Next. 7. Marca Datasheet.
  • 40. 8. Next. 9. Elige Standar. 10. Guarda el formulario como Master Suplidor y el Sub-formulario como Producto Sbform 11. Finish.Editar el formularioCrea el interfaz que te presento a continuación:
  • 41. 1. Organiza y ajusta el largo de los objetos del formulario. 2. Inserta la imagen del suplidor(a) en el objeto OLE. 3. Añade los “Command Button” para navegar y editar (Ver el Segundo Proyecto). 4. Añade el Combo Box “Buscar por Nombre” y el objeto Triangle sobre el combo box (Ver el procedimiento más adelante).Cómo crear un Combo Box1. En la vista de diseño, elige la herramiento Combo Box de la caja de herramientas, luego mueve el puntero del ratón a la posición deseada del formulario y haz un clic para integrar el objeto combo box.2. Marca Find a record...
  • 42. 3. Haz un clic el botón Next >, luego selecciona NombreSuplidor y haz un clic en Add Field (flecha derecha) para añadir el campo al combo box.4. Haz un clic el botón Next >. Ensancha la columna si fuera necesario.Haz un clic el botónNext >, y escribeBuscar por &Nombrecomo etiqueta para elcombo box. Apunta aFinish.
  • 43. Cómo colocar un rectángulo en la etiqueta y caja del combo box 1. Apunta a la herramienta Rectangle de la caja de herramientas. 2. Mueve el puntero del ratón y dibuja un rectángulo ajustado a la etiqueta y a la caja del combo box. 3. Apunta al borde del rectángulo con el botón derecho y elige Properties. 4. Cambia el valor de la propiedad Spetial Effect para Raised. 5. Cierra la propiedad del rectángulo. 6. Cambia a la vista normal para ver el trabajo. Si te gusta, guárdalo.Arquitectura de tres capas con AccessSEGUNDA CAPA: LÓGICA DE NEGOCIOSEXTO PROYECTO: COMPRENSIÓN DE LAS CONSULTAS OQUERIESAcces permite crear una gran variedad de consultas. Lasmás comunes son Selet Query, que extrae información deuna 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áspoderosas (y también peligrosas por trastocar lainformación de la base de datos) conlleva la action queries(Update Query, Make-Table Queery, Append Query yDelete Query), que actualiza los datos de la base deacuerdo a los criterios definidos en el query.SELECCIÓN DEL QUERY
  • 44. 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 clienteNúmero Número técnicoCliente Compañía Dirección Ciudad Estado ZipCode Factura PagoCM12 Computer_Más Calero 10 Caguas PR 00765 $322.45 $159.00 10CS56 Computer Suppliers Hostos 45 Santurce PR 00909 $1399.00 $675.00 09C200 Computer 2000 Albizu 13 Guayama PR 00689 $299.75 $200.00 10BE77 Boricua Electrónic Colón 65 Aguada PR 00654 $2500.97 $1500.25 10ET02 Electro Text Revolución 530 Lares PR 00865 $0.00 $0.00 15EI24 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.
  • 45. 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écnicoNúmero ZipTécnico Apellido Nombre Dirección Ciudad Estado Code HorasTrabajadas
  • 46. SalarioHora091015 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 . 5. Maximiza la ventana de Query1 6. 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")
  • 47. 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 ViewCerrar un QueryDa un clic en File/CloseIncluir 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 criteriosUso de datos en forma de texto como criterioAbierta 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".
  • 48. Da un clic en la entrada de Criteria: y escribe ET02 como criterio para el campo deNúmero Cliente.Corre el query dando un clic en el botón Run.Uso de comodinesExisten 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, comoGuaynabo, Guayama, Guaraguao). El símbolo de interrogación (?), que representacualquier carácter individual (C?lor representa la letra C seguida por cualquier carácterantes 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.
  • 49. 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 tablasAl momento de unir los campos de dos o más tablas puede restringirse el número derécordes mediante el uso de criterios. Por ejemplo, se puede incluir el campo Factura yponer como criterio limitante haber facturado de $500.Uso de fórmulas en un queryComputar campos 1. Da un clic en el botón Desing View. 2. Remueve la Tabla Técnico: o Presiona el botón derecho del ratón en cualquier campo de la Tabla Técnico. o 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.
  • 50. 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 QUERIESEl tipo de query crosstab transforma los datos record-oriented en una vista resumidarow-column oriented que recuerda la hoja electrónica de Excel. Imagínate que quieresexhibir los distintos precios de uno o varios artículos suministrados por distintossuplidores. Mediante un crosstab query puedes resumir los datos en una hoja deorientación fila-columna, donde el título o encabezamiento de la fila representa losdistintos artículos o productos que suministran los distintos suplidores, y el título oencabezamiento de la columna representa el nombre de los suplidores o compañías. Nombre del Suplidor 1 Suplidor 2 Suplidor 3 artículo Artículo 1 9.99 8.50 11.00 Artículo 2 150.95
  • 51. Artículo 3 69.00 55.83 Artículo 4 367.11 350.39 366.55Para añadir un crosstab query en el panel inferior del query, elige el objeto Query, yluego Cosstab Query. Exhibe la tabla Suplidor en el panel superior. El diseño paraeste 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 QUERIESUn action query cambia potencialmente los datos en una tabla existente, o crea unanueva 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:
  • 52. 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.http://dianakids.tripod.com/diseno/bd02d.htmDISEÑO DE APLICACIONES