SlideShare ist ein Scribd-Unternehmen logo
1 von 52
http://dianakids.tripod.com/diseno/bd01b.htm
Arquitectura de tres capas con Access
TERCERA CAPA: LA BASE DE DATOS

Ante la realidad de que muchos estudiantes carecen de las destrezas necesarias para
utilizar con versatilidad lenguajes de programación en el diseño y creación de
aplicaciones distribuidas, he preferido desarrollar las tres capas: la capa de Presentación
o Interfaz de usuario (IU), la capa Lógica de Negocio y la capa de Acceso o Servicios
de Datos con una aplicación que pueda ser familiar al estudiante de cualquier
concentració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
El mismo carece de complejidad, la única intención ha sido la de mostrar como se
desarrolla una aplicación cliente/servidor empleando un diseño distribuido. Es
suficiente con una sola estación de trabajo (Aplicación basada en Host) que tenga
instalado el sistema operativo Microsoft Windows 2000 para su ejecución, aunque
pudiera distribuirse por varias computadoras en una red.

Arquitectura de las tres capas




Básicamente la Arquitectura se centra en una arquitectura de 3 partes, las cuales pueden
distribuirse 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
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 capas

Se 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-capa

Entendemos por aplicaciones mono-capa, aquellas que tanto la propia aplicación como los datos que maneja se
encuentran en la misma máquina y son administradas por la misma herramienta: podríamos decir que son una sola
entidad




Figura 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 una
aplicació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 u
objetos. La ventaja de romper una aplicación en trozos es que cualquier cambio de uno de esos componentes no tiene
un 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 Acceso
a 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
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 que
fuerza 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 los
interfaces de los clientes que seguramente estarán muy distribuidos. El inconveniente es que normalmente los
Servidores de Datos no son muy moldeables y es bastante complicado implementar reglas de negocio en los
servidores.
Muchas aplicaciones two-tier combinan de forma conjunta ambos sistemas. Es con frecuencia impracticable o
indeseable, encapsular completamente los procesos con los datos.
En estas aplicaciones el Servidor de Datos procesa las Consultas y realiza todas las actividades relacionadas con la
Base de Datos. Cada Cliente inicia y deja abierta una conexión al servidor para poder enviar las peticiones y poder
procesar las respuestas.
Normalmente la lógica se establece en el cliente usando un lenguale 3GL o 4GL o en el servidor mediante Triggers y
Procedimientos 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-Tier

Como se podría esperar cada uno de los componentes de la aplicación en una arquitectura three-tier se separa en una
sola entidad. Esto te permite implementar componentes de una manera más flexible. Algo que no creo que sorprenda
es la afirmación de que este tipo de arquitectura es la más compleja.
En esta Arquitectura todas las peticiones de los clientes se controlan en la capa correspondiente a la lógica del
negocio. Cuando el cliente necesita hacer una petición se la hace a la capa en la que se encuentra la lógica del
negocio. 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/Open




Empezaremos por lo básico, esto es, por la base de datos.
Arquitectura de tres capas con Access
TERCERA CAPA: LA BASE DE DATOS
Los objetos de una base de datos de un negocio representan a los objetos reales de dicho
negocio. En cualquier negocio hipotético podemos identificar los siguientes objetos básicos:




     √ Producto

     √ Clientes

     √ Empleados y/o Vendedores

     √ Órdenes

     √ Suplidor




Otros 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 que
llamaremos proyecto1.




Planificación de la base de datos
Mediante la base de datos de Access, se puede guardar una cantidad inmensa de datos para
una gran variedad de negocios y actividades personales. La base de datos se debe planificar en
función de las necesidades del negocio. Antes de iniciar a trazar la estructura de la base de
datos, 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 piensan
utilizar.




Tablas




La tabla es la unidad básica para guardar una colección de datos en Access. La tabla consta de
fields, elemento que guarda una porción de información para cada record (visualmente están
representados por las columnas de la tabla), y de records, elemento que contiene un número
determinado 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 que
funcionan en el negocio, considerando que algunos de los objetos reales pueden estar
representados por otros objetos lógicos, como Queries, Forms y Reports. La norma que debe
aplicar en la planificación es la de economía. Si uno de los componentes u objetos del negocio
puede construirse con los datos que suministran las tablas (previamente creadas) mediante un
Query, no hay razón para añadir una tabla más para dicho componente. Generalmente cuando
no se planifica bien la estructura de la base de datos, el resultado va a ser multiplicidad de
tablas y repetición de campos en varias tablas.
¿Cuántos campos deben crearse en cada tabla? Aquellos que demande el tipo de componente
u objeto real. Aquí también aplica la ley de la economía: cuando un campo está atendido por
otra tabla, no lo repitas. Evita la duplicidad de campos y datos, excepto aquellos campos claves
que se van a utilizar para relacionar dos tablas entre sí (ver más adelante la sección de
interrelaciones entre tablas).




Queries




Los queries permiten extraer subgrupos de datos de una tabla, de varias tablas previamente
relacionadas, o de otros queries, utilizando criterios que uno define. Trabaja como un objeto
más de la base de datos, de forma idéntica a la tabla. Los queries bien planificados nos pueden
ahorrar pueden ahorrarnos multiplicidad de tablas. Antes de crear una nueva tabla, hazte la
siguiente pregunta: ¿puedo crear este objeto mediante un query utilizando los campos que
hay en otras tablas actuales?




Forms




El formulario facilita la entrada de datos, ver y editar la información. Los formularios pueden
diseñarse de tal manera que reproduzcan formas como las de una factura y agenda, o puedes
crear formularios expresamente organizados para entrar datos, incluyendo reglas de
validación de datos, al igual que en Excel. La ventana de un formulario puede incluir una
subform que presenta información de otra tabla relacionada. El formulario también puede
incluir resúmenes estadísticos.



Reports




Mediante el objeto reports pueden presentarse datos de una o varias tablas o queries en un
estilo legible y en un formato profesional, generalmente listo para imprimirse. El informe
puede incluir, además de una lista detallada de datos específicos, agrupados y organizados,
resúmenes estadísticos.
Otros objetos




La 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 de
datos en Web. Se puede diseñar la página web de tal modo que presente los datos, permita a
los usuarios editar el contenido de la base de datos ose provean herramientas para analizar los
datos. Contrario a los otros objetos de la base de datos, la página web se guarda en el disco
como un archivo .html separado.

Macros. Este objeto permite definir una secuencia de acciones en la base de datos. Son fáciles
de 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 del
formulario. Para correr el macro, selecciona el objeto en la lista de los Macros y haz clic en el
botón Run de la barra de herramientas de Access.

Modules. Son colecciones de procedimientos y declaraciones de Visual Basic, diseñados para
ejecutar tareas específicas en el contexto de tu base de datos.



TERCERA CAPA: LA BASE DE DATOS



PRIMER PROYECTO: CREACIÓN DEL OBJETO
TABLA


       Inicia Microsoft Acces.
       Nomina la base de datos como proyecto1

Los 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 o
negocio, se relacionen entre sí para poder compartir e intercambiar la
información que posee cada una de ellas. Para que este intercambio de
información ocurra, hay que diseñar de tal forma las tablas que cada objeto/tabla tenga al
menos un campo común e idéntico en Data Type, no necesariamente en Field Name (si es
idéntico en nombre y tipo de dato, mucho mejor, va a favor la comprensión y claridad). Los
campos 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 misma
información en distintas tablas. Es buena práctica nominar los campos que contienen la clave
principal 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 interrelacionar
las tablas (pues tendrás que interrelacionar este campo con otros campos que tal vez no
tengan ese mismo tipo de dato), utiliza mejor Text por ser menos limitante.




Por ahora crearemos las tablas de Producto y Cliente. Posteriormente trabajaremos a su
debido 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        ID
ProductoID
NombreProducto               Text                   Nombre
SuplidorID                   Text                                            Este campo se utiliza
                                                                             para relacionar la tabla
                                                                             de Suplidores con esta
                                                                             tabla.
CantidadStock                Number
PrecioVenta                     Currency                  Precio                2
                                                          Venta
PedidoID                        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        ID
ClienteID
NombreCliente            Text                        Nombre
Apellidos                Text                                                       Al entrar el Input Mask
                                                                                    (mascarilla) guarda la tabla
                                                                                    como cliente
Telefono                 Text                                       Telephone
Direccion1               Text                        Urb.- Barrio
Direccion2               Text                        Calle-Box
Ciudad                   Text
Zip                      Text                                       Zip Code
ProductoID               Text                        ID Producto                    Este campo se utiliza para
                                                                                    relacionar la tabla de
                                                                                    Producto con esta tabla.
Cantidad                 Number
FormaPago                Lookup                      Forma                          Incluir como alternativas:
                         Wizard…                     Pago                           Visa, MasterCard, ATH,
                                                                                    Cheque, CASH, Otra.
NumeroCuenta             Text                        Número
                                                     Cuenta




Cierra la tabla y la nominas como cliente.
Creación de la ventana
Lookup


    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.




RELACIONES


Antes de ponerte a trabajar con una base de datos que contine varias tablas, es necesario
definir la relación que existe entre las mismas. Una relación define aquellos campos que tienen
en común dos tablas, de tal manera que Access pueda combinar la información de las dos
tablas en un resultado lógico. En general, para establecer una relación entre dos tablas se
requiere que cada tabla tenga un campo en común. Usualmente, los dos campos en común
incluyen el campo primary key en una tabla; el campo correspondiente en la segunda tabla se
llama foreign key, clave externa. La interrelación entre las tablas es crucial para la
manipulació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.
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.
4. Presiona el botón Create.
    5. Cierra la plataforma de Relationship y guarda la relación creada.




CREACIÓN DEL OBJETO FORMS


Los formularios se generan a partir del objeto Tablas y del objeto Query de dos formas: a) con
AutoForm, b) Insert Form y con el Asistente (Wizard).




De odas las herramientas que hay para crear formularios, en este momento utiliza únicamente
la herramienta Autoform para crear los formularios correspondientes a las tablas de cliente y
producto.




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.
Crea con un clic el formulario de las tablas clientes y producto. Al guardar el formulario, deja el
mismo 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 Asistente


Al crear un formulario con el Asistente, como en el caso anterior, puedes elegir no sólo todos o
parte de los campos de una sola tabla o query, sino también campos específicos de distintas
tablas 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.
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 formulario


El formulario de Access posee casi las mismas características que el formulario de Visual Basic.




Las tres vistas




Antes de trabajar con el interfaz del formulario, te recomiendo que explores las tres vistas, e
intercambies varias entre las vistas de Design View y Form View.




El interfaz del formulario se trabaja en la vista de
diseño. Cuando accedes a esta vista, Access te
presenta las herramientas de trabajo necesarias
para perfeccionar y mejorar la apariencia del
interfaz del formulario.




Estas herramientas las vienes usando desde Visual
Basic.
Manipulación del Label y del Tex Box




Al principio se hace un poco difícil manipular el tamaño y la ubicación de estos dos objetos
adheridos y correlacionados.




Para mover los dos objetos al     Para mover uno de los dos           Para modificar el tamaño, activa
mismo 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 del
superior o inferior del objeto    esquina superior izquierda del      borde, cuando aparezca la línea
activado, cuando aparezca la      objeto que quieres mover,           de doble flecha, arrastra el ratón
mano abierta, mueve los           cuando aparezca la mano             en la dirección deseada.
objetos.                          señalando con el dedo índice,
                                  mueve el objeto.




Data Entry


Con el propósito de seguir trabajando con la siguiente fase, conviene entrar alrededor de 10
casos o registros (records) de los productos utilizando el formulario producto. El mejor interfaz
para 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.
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 Access
TERCERA CAPA: LA BASE DE DATOS




SEGUNDO PROYECTO: CAMBIO DE DISEÑO
DEL FORMULARIO


Si se va a utilizar el formulario para entrar datos a la base
de datos, conviene que la interfase, además de legible, sea
agradable a la vista y con los controles necesarios para
realizar las tareas comunes. Hasta ahora prácticamente no
hemos aportado nada en el diseño del formulario. Está tal
y como lo creó el programa. Vas añadir un fondo, un
encabezamiento, una foto y varios controles de ejecución
y de navegación.


Recuerda que todo cambio a los objetos hay que hacerlo en la vista de diseño.
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 Align




Fondo 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:
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.




Controles


Tanto en el formulario como en el informe, los objetos de control pueden tener una de
tres 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 las
funciones de Acces y referencias de campos; o unbound (independiente) no asociado a
los campos de las tablas o queries, como es el caso de líneas, text box y etiquetas de
texto.




El objeto o control dependiente es      El objeto o control independiente es    El control de cálculo se utiliza para
un objeto o control asociado a un       un objeto o control no asociado a un    crear cálculos estadísticos y
campo 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.
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 Access

Botones 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.
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 Access
SEGUNDA CAPA: LÓGICA DE NEGOCIO


Toda aplicación tiene código para implementar reglas de negocios, procesos
relacionados 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 de
negocios debe mantenerse separada de la capa de presentación y de los
servicios de datos. Esto no significa necesariamente que la lógica de negocios
está en cualquier parte, por el contrario, esta separación es en un sentido
lógico.

Hay muchas formas de separar la lógica de negocios. En términos orientados a
objetos, usted debería encapsular la lógica de negocios en un conjunto de
objetos o componentes que no contienen presentación o código de servicios de
datos. Teniendo separada lógicamente su lógica de negocios de ambas, la
capa de presentación y servicios de datos, usted ganará en flexibilidad en
término de donde usted puede almacenar físicamente la lógica de negocios.
Por ejemplo, usted puede seleccionar almacenar la lógica de negocios sobre
cada estación de cliente, u optar por ejecutar la lógica de negocios sobre un
servidor de aplicaciones, permitiendo a todos los clientes acceder a un recurso
centralizado.

Los objetos de negocios son diseñados para reflejar o representar sus
negocios. Ellos se convierten en un modelo de sus entidades de negocios e
interrelaciones. Esto incluye tanto objetos físicos como conceptos abstractos.
Estos son algunos ejemplos de objetos del mundo real: un empleado, un
cliente, un producto, una orden de compra.

Todos estos son objetos en el mundo físico, y la idea en su totalidad detrás de
usar objetos de negocios de software, es crear una representación de los
mismos objetos dentro de su aplicación. Sus aplicaciones pueden hacer que
estos 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 que
contiene una lista de productos. Siguiendo esta lógica usted puede crear
objetos de negocios de una orden conteniendo el código necesario para
administrarse a si mismo, así usted nunca necesitará replicar código para crear
ordenes, usted solo usará el objeto. Similarmente, un objeto cliente contiene y
administra sus propios datos. Un buen diseño de un objeto cliente contiene
todos los datos y rutinas necesitadas para representarlo a través del negocio
completo, 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 un
proceso intensivo de datos, requiriendo un eficiente y rápido acceso a la base
de datos. Otras no requieren un frecuente acceso a los datos, pero es de uso
frecuente por una interfase de usuario robusta para la validación en la entrada
de campos u otras interacciones de usuarios. Si nosotros necesitamos una
validación al nivel de pantallas y quizás cálculos en tiempos real u otra lógica
de negocios, pudiéramos considerar este tipo de lógica de negocios para ser
parte 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 IU
proveerá propiedades y métodos para usar por el diseñador de la interfase de
usuario. Ejemplo de propiedades y métodos pudieran ser: IDEmpleado,
Nombre, Dirección, etc., y como métodos crear una de compra, etc. El objeto
Empleado de la capa de objetos de negocios de datos será responsable de los
mecanismos de persistencias, interactuar con la base de datos. Los objetos de
esta capa son considerados sin estado, solo poseen métodos.

Arquitectura de tres capas con Access
SEGUNDA CAPA: LÓGICA DE NEGOCIO


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




CREACIÓN DE QUERIES


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




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



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


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




TRECER PROYECTO: CREACIÓN DE LA
FACTURA A PARTIR DE UNA CONSULTA


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




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




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




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


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




    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:
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 Source
Text Box         Fecha              Fecha      Short Date           Short Date
Text Box         Cantidad           Cantidad   General Number
Text Box         Total              total                                        =[Cantidad]*[PrecioPublico]
Text Box         Fecha Exp          expira     Short Date           Short Date
Option Group     Forma de Pago
Label (en el
                 FACTURA            Font:: Tamaño 16, Color azul
Header)




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


Control de cálculo

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

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


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

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

Field:       ClienteID   ProductoID   PrecioPublico   NombreCliente   ApellidosCliente   Direccions   Ciudad    CuentaNumero   NombreProd   Cantidad   T
Table:       cliente     producto     producto        cliente         cliente            cliente      cliente   cliente        producto     cliente
Sort:



        1. Haz un clic con el botón derecho del ratón en la celda que sigue a Cantidad.
        2. Elige en el menú Zoom... Aparece la ventana Zoom.




        3.     Escribe Total: [PrecioPublico]*[Cantidad]
        4.     Haz un clic en OK.
        5.     Guarda el Query.
        6.     Abre el Query en la vista Datasheet View (o haz doble clic en el Query Factura)
               para comprobar si funciona.




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

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



Cómo crear un objeto Option Group




        1. Haz un clic en Option Group de la caja de herramientas.
        2. Haz un clic en un área en blanco del formulario.
        3. Sigue los pasos del Asistente:
a.     Escribe las etiquetas de las
         opciones.presiona Next




  b.     Déjalo como está. Presiona Next




  c.     Guarda el valor en el campo ClienteID




  d.     Elige la apariencia del objeto




  e.     Escribe como etiqueta Forma de Pago




Así se visualiza al entrar la información.
Reto
   1. Coloca un logo en el encabezamiento.
   2. Añade los siguientes controles de cálculo:

         % de Descuento,

         Deuda Total,

         Cantidad Pagada,

         Deuda Actual.


Arquitectura de tres capas con Access
SEGUNDA CAPA: LÓGICA DE NEGOCIO



CUARTO PROYECTO: CREACIÓN DE LA NÓMINA




Para generar el objeto de nómina necesitamos los datos del empleado y/o vendedor (en este
proyecto, partimos del hecho de que el empleado es también vendedor). Como no existen
tales datos, hay que crear la base de la sección de empleado.




Creación de la Tabla3 (empleado)
Crea una tabla nueva con la vista de diseño en la misma base de datos. Utiliza el mismo
procedimiento de las tablas anteriores considerando las especificaciones que aparecen a
continuación:




                                                                                              Observaciones
                                Data      Primary   Propiedades
              Field Name                                            Input
                                Type        Key      Caption                   DecimalPlace
                                                                    Mask
                               Text       Si        ID
EmpleadoID
NombreEmpleado                 Text                 Nombre
Apellidos                      Text
SeguroSocial                   Text                 S.S.           Soc. Sec.                  Al entrar el Input
                                                                   Num                        Mask (mascarilla)
                                                                                              guarda la tabla
                                                                                              como empleado
SalarioHora                    Currency             Salario/Hora                    2
HorasTrabajadas                Number               Horas
                                                    Trabajadas
FechaPago                      Text                 Fecha de       Short
                                                    Pago           Date
ClienteID                      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 patronos
prefieren mantener distante e incomunicada la información del empleado del resto de
secciones del negocio. No obstante, incluimos el procedimiento de dicha relación de forma
provisional.




Con los datos que se tienen en la tabla empleado puede crearse la nómina, sin necesidad
de tomar prestado más datos de otras tablas.
Creación del formulario para entrar la nómina de los
empleados


Crea el formulario con un clic.

Modifica el formulario en la vista de diseño.




                        Con un clic                                          Modificado




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




                                                                 Propiedades
  Objeto           Etiqueta       Name         Format    Input     Control Source
                                                         Mask
Text Box       Horas Extras       Extra
Text Box       Total                                               =[HorasTrabajadas]*[SalarioHora]
Text Box       Income Tax                                          =[Total]*0.09
Text Box       Retiro                                              =[Total]*0.07
Text Box       ASUME                                               =[Total]*0.05
Text Box       Pago Horas         PagoExtra                        =([SalarioHora]*2)*[Extra]
               Extras
Text Box       Total Neto                                          =[Total]+[PagoExtra]-[IncomeTax]-[Retiro]-
                                                                   [Asume]
Label          Retenciones
2 Rectangle
Label (en el
               Nómina             Font:: Tamaño 16, Color azul
Header)
Jugando con las fórmulas


Podemos reducir los objetos de control de cálculo agrupando los datos.
Compara este interfaz con el anterior. Fueron eliminados los controles del Total y de Horas
Extra. Al tener separadas las horas regulares de las extra, se prestaba a confusión al momento
de 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 se
pagan a doble tiempo (2):




Pago Horas Extra =([HorasTrabajadas]-40)*[SalarioHora]*2

Income Tax =([HorasTrabajadas] * [SalarioHora]+([HorasTrabajadas]-40) * [SalarioHora] * 2) *
0.11

Retiro      =([HorasTrabajadas] * [SalarioHora]+([HorasTrabajadas]-40) * [SalarioHora] * 2) *
0.09

Total 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 examen
Si quisiéramos integrar una comisión al empleado que vende
tendríamos que relacionar las tablas de Empleado, Cliente y
Producto.




Crea un Query con estas tres tablas y elige los campos necesarios
para la comisión, incluyendo, sin falta, el ID y el nombre del
empleado. Para calcular el 3% del total en comisión del empleado, sólo necesitamos también el Total
de las ventas o los campos de Cantidad y Precio:
Comision = [Total] * .03

                                                      o

                              Comisión = ([Cantidad] * [PrecioPublico]) * .03




Este control puedes colocarlo en la tabla del Query, en el formulario o en el informe (más adelante
aprenderá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 haya
vendido más de 10,000.00
La Nota
Con 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 Access
SEGUNDA CAPA: LÓGICA DE NEGOCIO
QUINTO PROYECTO: CREACIÓN DE FORMULARIOS CON CAMPOS OLE,

HIPERVÍNCULOS Y SUBFORMULARIOS




CREACIÓN DE LA TABLA DE LOS SUPLIDORES Y PEDIDOS


Table4 (suplidor)




Crea en la vista Design y en la misma base de datos de los proyectos anteriores la siguiente
tabla:




                                                               Propiedades               Observaciones
                              Data           Primary                      Input
           Field Name
                              Type             Key         Caption
                                                                          Mask
                            Text        Si             ID Suplidor
SuplidorID
NombreSuplidor              Text                       Nombre suplidor
PersonaContacto             Text                       Persona Contacto
DireccionSuplidor           Text                       Dirección
Ciudad                      Text
Zip                         Text                                          Zip Code
TelefContacto                                          Telefono Orden     Telephone #   Al entrar el Input
                                                                                        Mask (mascarilla)
                                                                                        guarda la tabla como
                                                                                        suplidor
PrimerPedido                Date/Time                                     Short Date
ProducroID                  Text                       ID Producto
Comentario                  Memo                                                        Comentarios
                                                                                        relacionados con el
                                                                                        suplidor
Picture                     OLE                        Foto
                            Object
WebPage                     Hyperlink                  Pagina Web                       Se escribe en el
                                                                                        campo la dirección
                                                                                        de la página web del
                                                                                        suplidor:
                                                                                        http://www.etc.com
PedidoID                    Text                       ID del pedido                    Este campo se
                                                                                        utiliza para
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:
Propiedades              Observaciones
                                   Primary              Input    Decimal
       Field Name      Data Type
                                     Key     Caption
                                                        Mask      Place
                       Text        Si        ID del
PedidoID                                     pedido
FechaPedido            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         Text
CantidadPedido         Number
PrecioSuplidor         Currency              Precio                  2
                                             Supl
SuplidorID             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 UN
SUBFORMULARIO

Es sumamente sencillo la creación de un formulario y subformulario con la herramienta
Form Wizard. El asistente Form Wizard crea el formulario y subformulario
automáticamente una vez hayas elegido las tables e indicado la organización general de
tus datos. Sigue los siguientes pasos para crear el formulario y subformulario. El
formulario corresponderá a la tabla de Suplidores y el subformulario a la tabla de
Productos.

Relacióna la tabla Suplidor con la tabla Producto

Es necesario establecer la relación entre las tablas que vas a utilizar en el formulario y
subformulario, antes de crear el mismo.
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.
8. Next.
   9. Elige Standar.
   10. Guarda el formulario como Master Suplidor y el Sub-formulario como
       Producto Sbform




   11. Finish.

Editar el formulario

Crea el interfaz que te presento a continuación:
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 Box
1. 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...
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ón
Next >, y escribe
Buscar por &Nombre
como etiqueta para el
combo box. Apunta a
Finish.
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 Access
SEGUNDA CAPA: LÓGICA DE NEGOCIO



SEXTO PROYECTO: COMPRENSIÓN DE LAS CONSULTAS O
QUERIES


Acces permite crear una gran variedad de consultas. Las
más comunes son Selet Query, que extrae información de
una o más tablas. También puedes crear crosstab queries,
que agrupa y resume información en un formato de fila-
columna como Excel PivotTable. Una de las cosas más
poderosas (y también peligrosas por trastocar la
información de la base de datos) conlleva la action queries
(Update Query, Make-Table Queery, Append Query y
Delete Query), que actualiza los datos de la base de
acuerdo a los criterios definidos en el query.




SELECCIÓN DEL QUERY
Cuando utilizas la vista de Diseño para crear un query, Acces crea Select Query por
           defecto. El propósito de Select Query es recoger datos de una o más tablas. La selección
           del query puede incluir cualquiera de los siguientes elementos:

                     Agrupar campos de una o varias tablas o queries.

                     Calcular campos.

                     Totales que ejecutan operaciones estadísticas.

                     Selección de criterios.

                     Instrucciones de orden (sorting).

                     Ocultar campos.

           Los sistemas que manejan bases de datos generalmente proveen herramientas para dar
           respuesta a una serie de preguntas como las siguientes: ¿Cuánto se facturó y cuánto
           pagó el cliente CM12? ¿Qué nombre del cliente empieza por Él? ¿Qué clientes son de
           Santurce? ¿A qué clientes del técnico 10 se le facturó más de $300.00?




Tabla del cliente
Número                                                                                                 Número técnico
Cliente   Compañía                Dirección        Ciudad     Estado   ZipCode   Factura    Pago

CM12      Computer_Más            Calero 10        Caguas     PR       00765     $322.45    $159.00    10

CS56      Computer Suppliers      Hostos 45        Santurce   PR       00909     $1399.00   $675.00    09

C200      Computer 2000           Albizu 13        Guayama    PR       00689     $299.75    $200.00    10

BE77      Boricua Electrónic      Colón 65         Aguada     PR       00654     $2500.97   $1500.25   10

ET02      Electro Text            Revolución 530   Lares      PR       00865     $0.00      $0.00      15

EI24      Egunon Inc              Tridas 09        Santurce   PR       00909     $150.00    $0.00      09


               Al llenar cada campo presiona la tecla Tab.

           Observa en la parte inferior de la ventana la barra del número de los récords. Es muy
           útil para navegar.

           Ver previamente e imprimir el contenido de una tabla

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

           Cerrar la Tabla

                 1. File/Close

                      O dar un clic en el botón de cerrar X de cada ventana.

           Crear tablas adicionales

           Una misma base de datos puede tener varias tablas. El número de tablas lo determinan
           las necesidades del tipo de negocio.

                 1.   Abre la base de datos Proyecto1.
                 2.   Selecciona Tables/New/Design View/OK
                 3.   Da un clic en File/Save
                 4.   Guarda la tabla en el 3.50 Foppy con el nombre Técnico.
                 5.   Define los campos de la tabla de acuerdo a la siguiente estructura

     Estructura de la tabla Técnico

     Field Name               Data Type        Field Size   Primary Key       Descripction

     ID Técnico               Text             2            Si                Núm. del técnico (Clave principal)

     Apellido                 Text             10                             Apellido del técnico

     Nombre                                    8

     Dirección                                 15                             Dirección postal

     Ciudad                   Text             15

     Estado                   Text             2                              Abreviado con dos caracteres

     ZipCode                  Text             5

     SalarioHora              Currency                                        Salario por hora

     HorasTrabajadas          Numérico


           Entrar datos en la tabla

                 1. Da doble clic sobre la tabla creada
                 2. Entra datos imaginarios correspondientes a los tres Números Técnico (09, 10 y
                    15).

Tabla del técnico
Número                                                                              Zip
Técnico           Apellido            Nombre        Dirección    Ciudad   Estado    Code                     HorasTrabajadas
SalarioHora

09

10

15

     Crear un nuevo Query

        1. Abre la base de datos Proyecto1.
        2. Selecciona (da un clic en) la tabla de Cliente
        3. Da un clic en la flecha del icono "New Object" (el penúltimo de la barra de
           herramientas estándar) y selecciona Query o Insert/Query. Aparece la caja de
           diálogo.
        4. Selecciona Design View/OK .




        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")
Una forma sencilla para incluir campos en el panel inferior es arrastrando el campo
   de la lista de campos de la tabla que aparece en el panel superior del Quero. Si te
   sobra tiempo, puedes hacerlo de esta otra forma:

   1. Da dos clics en el campo Número de Cliente que aparece en la caja de Cliente.
      El número de Cliente es incluido como primer campo en la hoja inferior de
      "Design Grid".
   2. Da dos clics en los campos Compañía y Número Técnico. Los campos de
      Compañía y Número del Técnico son incluidos en la hoja inferior.

Correr un Query

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

Imprimir los resultados del Query

   1. Da un clic en File.
   2. Selecciona Print.

Volver a la Ventana del Query seleccionado

       Da un clic en el menú View/DesignVIew.

       O

       Da un clic en el botón View

Cerrar un Query

Da un clic en File/Close

Incluir todos los campos en un Query

   1. Vuelve a la ventana del Query anterior que contiene la hoja superior la lista de
      los campos de la tabla Cliente. Asegúrate que la hoja inferior esté vacía.
   2. Da dos clics en el asterisco ( * ) de la caja donde aparece la lista de los campos.
   3. Da un clic en el botón Run.
   4. Da un clic en el botón Wiew.

Entrada de criterios

Uso de datos en forma de texto como criterio

Abierta la ventana de Select Query del Query1, da dos veces clic a los campos de:
Número Cliente, Compañía, Factura y Pago para añadirlos en el query.

Apunta a la entrada de Criteria: para el primer campo en la hoja de "Design Grid".
Da un clic en la entrada de Criteria: y escribe ET02 como criterio para el campo de
Número Cliente.

Corre el query dando un clic en el botón Run.

Uso de comodines

Existen dos comodines típicos: el asterisco (*) que representa a un grupo de caracteres
(Gu* representa a las letras Gu seguidas por cualquier grupo de caracteres, como
Guaynabo, Guayama, Guaraguao). El símbolo de interrogación (?), que representa
cualquier carácter individual (C?lor representa la letra C seguida por cualquier carácter
antes de lor, como Calor, Color).

   1. Vuelve a la ventana Query1: Select Query de la tabla Cliente.
   2. Apunta y da un clic en la fila de Criteria debajo del campo Compañía. Escribe
      LIKE Com* como entrada. Nota: Si hubiera escrito algún otro criterio debajo
      de otros campos, bórralo antes de correr el creado ahora.
   3. Da un clic en el botón Run.

Uso de Números como criterio

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

Uso de operadores como criterio

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

Uso de criterios combinados

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

Uso de criterios combinados incluyendo OR

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

Organizar datos en un Query

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

Unión de tablas

   1. Vuelve a la ventana Query1: Select Query de la tabla Cliente.
   2. Da un clic en Edit y otro en Clear Grid.
   3. Apunta a cualquier parte de la hoja superior y presiona el botón derecho del
      ratón.
   4. Da un clic a Show Table y selecciona la tabla Técnico.
   5. Da un clic en el botón Add y cierra la caja de diálogo "Show Table".
   6. Incluye los campos del Número Cliente y Número Técnico de la tabla Cliente y
      el Nombre y Apellidos de la tabla Técnico.
   7. Corre el query.

Restringir récordes en una unión de tablas

Al momento de unir los campos de dos o más tablas puede restringirse el número de
récordes mediante el uso de criterios. Por ejemplo, se puede incluir el campo Factura y
poner como criterio limitante haber facturado de $500.

Uso de fórmulas en un query

Computar campos

   1. Da un clic en el botón Desing View.
   2. Remueve la Tabla Técnico:
          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.
4. Selecciona Totals del menú e incluye el campo de Factura. Ahora se incluyó la
       fila Total en el "Design Grid", cuya entrada es Grou By.
    5. Da un clic a la flecha de la fila de Total y selecciona Avg.
    6. Corre el query.

Uso de criterios en el cálculo estadístico

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

Cálculos por grupos

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

Guardar el query

    1. Da un clic de File/ Save. Guárdalo con el nombre de Promedio facturado por
       técnico.
    2. Da un clic en OK.

.

CROSSTAB QUERIES


El tipo de query crosstab transforma los datos record-oriented en una vista resumida
row-column oriented que recuerda la hoja electrónica de Excel. Imagínate que quieres
exhibir los distintos precios de uno o varios artículos suministrados por distintos
suplidores. Mediante un crosstab query puedes resumir los datos en una hoja de
orientación fila-columna, donde el título o encabezamiento de la fila representa los
distintos artículos o productos que suministran los distintos suplidores, y el título o
encabezamiento de la columna representa el nombre de los suplidores o compañías.



                             Nombre del       Suplidor 1    Suplidor 2      Suplidor 3
                               artículo
                            Artículo 1        9.99         8.50            11.00
                            Artículo 2                     150.95
Artículo 3            69.00          55.83
                              Artículo 4            367.11         350.39             366.55



Para añadir un crosstab query en el panel inferior del query, elige el objeto Query, y
luego Cosstab Query. Exhibe la tabla Suplidor en el panel superior. El diseño para
este crosstab query te lo presento a continuación:




             Field:   NombreProducto            NombreSuplidor     Return on Equity
            Table:    Suplidor                  Suplidor           Suplidor
            Total:    Group By                  Group By           Avg
         Crosstab:    Row Heading               Column Heading     Value
          Criteria:
               Or:




ACTION QUERIES



Un action query cambia potencialmente los datos en una tabla existente, o crea una
nueva tabla. Acces permite crear cuatro clases de action query:



       Un update query       reemplaza datos en un record existente. En el diseño de la
       actualización de un query, se selecciona el criterio para identificar los récords a
       los que se va a hacer referencia, y luego se provee una expresión que genera el
       reemplazo de los datos. Esta acción se utiliza, por ejemplo, para actualizar un
       grupo de records cuando cambia el área code, asi como para actualizar el precio,
       como se presenta a continuación:




             Field:   SuplidorID                  PrecioDetal
            Table:    Suplidores                  Productos
        Update To:                                [PrecioDetal]*1.05
          Criteria:   [Enter Supplier Number]
               Or:
Este diseño toma datos de dos tablas e incluye un parámetro para añadir 5% a la
      cantidad que está en el campo PrecioDetal para todos los récords que parean con
      el código de suplidor que se entre.



       Un make-table query        crea el objeto de una nueva tabla como resultado del
       query mismo. Por ejemplo, puedes construir un query que produzca una lista de
       todos los clientes que no ordenaron productos durante un año y copiar estos
       récords en una tabla de Clientes Inactivos. Este tipo de query no afecta a la base
       de datos.
       El append query        añade nuevos récords a una tabla existente de un query
       original. Este tipo de query se usa generalmente cuando se importan datos de
       una fuente externa.
       Un delete query       remueve récords que parea los criterios especificados de
       una base de datos.

http://dianakids.tripod.com/diseno/bd02d.htm

DISEÑO DE APLICACIONES

Weitere ähnliche Inhalte

Was ist angesagt?

Modelo de datos.
Modelo de datos.Modelo de datos.
Modelo de datos.omarzon
 
Diagramas de implementacion
Diagramas de implementacionDiagramas de implementacion
Diagramas de implementacionZonickX
 
Modelo de casos de uso 2ª versiónk
Modelo de casos de uso 2ª versiónkModelo de casos de uso 2ª versiónk
Modelo de casos de uso 2ª versiónkJose Torres Gonzales
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de usoTensor
 
Casos de Uso ejercicios
Casos de Uso ejerciciosCasos de Uso ejercicios
Casos de Uso ejerciciosWalter Chacon
 
Modelo requisitos UML
Modelo requisitos UMLModelo requisitos UML
Modelo requisitos UMLramirezjaime
 
UML - Diagramas de Actividades, componentes y clases
UML - Diagramas de Actividades, componentes y clasesUML - Diagramas de Actividades, componentes y clases
UML - Diagramas de Actividades, componentes y clasesErickMontesdeoca5
 
Unidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioUnidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioSergio Sanchez
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetosproximojl
 
Tipos de arquitecturas de sistemas
Tipos de arquitecturas de sistemasTipos de arquitecturas de sistemas
Tipos de arquitecturas de sistemasRafael D Martinez
 
Lenguajes de bases de datos
Lenguajes de bases de datosLenguajes de bases de datos
Lenguajes de bases de datosralbarracin
 
Diagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegueDiagramas UML: Componentes y despliegue
Diagramas UML: Componentes y desplieguejoshell
 
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)Micael Gallego
 

Was ist angesagt? (20)

Tipos diagrama uml SENA
Tipos diagrama uml SENATipos diagrama uml SENA
Tipos diagrama uml SENA
 
Modelo de datos.
Modelo de datos.Modelo de datos.
Modelo de datos.
 
Diagramas de implementacion
Diagramas de implementacionDiagramas de implementacion
Diagramas de implementacion
 
Modelo de casos de uso 2ª versiónk
Modelo de casos de uso 2ª versiónkModelo de casos de uso 2ª versiónk
Modelo de casos de uso 2ª versiónk
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de uso
 
Casos de Uso ejercicios
Casos de Uso ejerciciosCasos de Uso ejercicios
Casos de Uso ejercicios
 
Modelo requisitos UML
Modelo requisitos UMLModelo requisitos UML
Modelo requisitos UML
 
Togaf
TogafTogaf
Togaf
 
UML - Diagramas de Actividades, componentes y clases
UML - Diagramas de Actividades, componentes y clasesUML - Diagramas de Actividades, componentes y clases
UML - Diagramas de Actividades, componentes y clases
 
Diagramas componentes
Diagramas componentesDiagramas componentes
Diagramas componentes
 
1. Modelo de Datos
1. Modelo de Datos1. Modelo de Datos
1. Modelo de Datos
 
Base de Datos Orientada a Objetos
Base de Datos Orientada a ObjetosBase de Datos Orientada a Objetos
Base de Datos Orientada a Objetos
 
Pt7seccion2
Pt7seccion2Pt7seccion2
Pt7seccion2
 
Unidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioUnidad 3 Modelo De Negocio
Unidad 3 Modelo De Negocio
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetos
 
Tipos de arquitecturas de sistemas
Tipos de arquitecturas de sistemasTipos de arquitecturas de sistemas
Tipos de arquitecturas de sistemas
 
Lenguajes de bases de datos
Lenguajes de bases de datosLenguajes de bases de datos
Lenguajes de bases de datos
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
 
Diagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegueDiagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegue
 
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
 

Andere mochten auch

Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 CapasFani Calle
 
Listado farmacias 2
Listado farmacias 2Listado farmacias 2
Listado farmacias 2SPPuebla
 
Trabajo de tutorial de orofino, gago, vergera.
Trabajo de tutorial de orofino, gago, vergera.Trabajo de tutorial de orofino, gago, vergera.
Trabajo de tutorial de orofino, gago, vergera.Luis
 
Arquitecta Nurit Schmulevich
Arquitecta Nurit SchmulevichArquitecta Nurit Schmulevich
Arquitecta Nurit SchmulevichNurit Schmulevich
 
Desayuno saludable en el Senado
Desayuno saludable en el SenadoDesayuno saludable en el Senado
Desayuno saludable en el SenadoFIAB
 
Catálog osintapas
Catálog osintapasCatálog osintapas
Catálog osintapasdomi
 
Caros amigos - entrevista Rui Falcão
Caros amigos - entrevista Rui FalcãoCaros amigos - entrevista Rui Falcão
Caros amigos - entrevista Rui FalcãoRui Falcão
 
Presentatie iBestuur rijkswaterstaat mobiel
Presentatie iBestuur rijkswaterstaat mobielPresentatie iBestuur rijkswaterstaat mobiel
Presentatie iBestuur rijkswaterstaat mobielArnold Koning
 
Kallash Choudhari Aksh Optifibre Ltd
Kallash Choudhari   Aksh Optifibre LtdKallash Choudhari   Aksh Optifibre Ltd
Kallash Choudhari Aksh Optifibre LtdASHOKKUMARWAHI
 
Innovación Disruptiva en Turismo Online - Javier Moral WebCongress Malaga 2011
Innovación Disruptiva en Turismo Online - Javier Moral WebCongress Malaga 2011Innovación Disruptiva en Turismo Online - Javier Moral WebCongress Malaga 2011
Innovación Disruptiva en Turismo Online - Javier Moral WebCongress Malaga 2011Javier Moral
 
Wikimedia chapters wikimania 2011
Wikimedia chapters   wikimania 2011Wikimedia chapters   wikimania 2011
Wikimedia chapters wikimania 2011Lodewijk Gelauff
 
Slide seminario avvocato Maggipinto (privacy by design) estratto 10.3.2016
Slide seminario avvocato Maggipinto (privacy by design) estratto 10.3.2016Slide seminario avvocato Maggipinto (privacy by design) estratto 10.3.2016
Slide seminario avvocato Maggipinto (privacy by design) estratto 10.3.2016Andrea Maggipinto [+1k]
 

Andere mochten auch (20)

Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 Capas
 
Bd relacional
Bd relacionalBd relacional
Bd relacional
 
Visual basic con access
Visual basic con accessVisual basic con access
Visual basic con access
 
OPPI Funcion Y Estrategias
OPPI Funcion Y EstrategiasOPPI Funcion Y Estrategias
OPPI Funcion Y Estrategias
 
Listado farmacias 2
Listado farmacias 2Listado farmacias 2
Listado farmacias 2
 
Uif 900000
Uif 900000Uif 900000
Uif 900000
 
Trabajo de tutorial de orofino, gago, vergera.
Trabajo de tutorial de orofino, gago, vergera.Trabajo de tutorial de orofino, gago, vergera.
Trabajo de tutorial de orofino, gago, vergera.
 
Arquitecta Nurit Schmulevich
Arquitecta Nurit SchmulevichArquitecta Nurit Schmulevich
Arquitecta Nurit Schmulevich
 
John J Bray
John J BrayJohn J Bray
John J Bray
 
Desayuno saludable en el Senado
Desayuno saludable en el SenadoDesayuno saludable en el Senado
Desayuno saludable en el Senado
 
Catálog osintapas
Catálog osintapasCatálog osintapas
Catálog osintapas
 
Caros amigos - entrevista Rui Falcão
Caros amigos - entrevista Rui FalcãoCaros amigos - entrevista Rui Falcão
Caros amigos - entrevista Rui Falcão
 
Presentatie iBestuur rijkswaterstaat mobiel
Presentatie iBestuur rijkswaterstaat mobielPresentatie iBestuur rijkswaterstaat mobiel
Presentatie iBestuur rijkswaterstaat mobiel
 
Kallash Choudhari Aksh Optifibre Ltd
Kallash Choudhari   Aksh Optifibre LtdKallash Choudhari   Aksh Optifibre Ltd
Kallash Choudhari Aksh Optifibre Ltd
 
Innovación Disruptiva en Turismo Online - Javier Moral WebCongress Malaga 2011
Innovación Disruptiva en Turismo Online - Javier Moral WebCongress Malaga 2011Innovación Disruptiva en Turismo Online - Javier Moral WebCongress Malaga 2011
Innovación Disruptiva en Turismo Online - Javier Moral WebCongress Malaga 2011
 
La metáfora de la crisálida
La metáfora de la crisálidaLa metáfora de la crisálida
La metáfora de la crisálida
 
The strokes
The strokesThe strokes
The strokes
 
Kajukenbo Baix Llobregat
Kajukenbo Baix LlobregatKajukenbo Baix Llobregat
Kajukenbo Baix Llobregat
 
Wikimedia chapters wikimania 2011
Wikimedia chapters   wikimania 2011Wikimedia chapters   wikimania 2011
Wikimedia chapters wikimania 2011
 
Slide seminario avvocato Maggipinto (privacy by design) estratto 10.3.2016
Slide seminario avvocato Maggipinto (privacy by design) estratto 10.3.2016Slide seminario avvocato Maggipinto (privacy by design) estratto 10.3.2016
Slide seminario avvocato Maggipinto (privacy by design) estratto 10.3.2016
 

Ähnlich wie Arquitectura de tres capas con Access para la base de datos

A charla12 arq.3-capas
A charla12 arq.3-capasA charla12 arq.3-capas
A charla12 arq.3-capashome
 
Programacion por capas
Programacion por capasProgramacion por capas
Programacion por capasJosue Lopez
 
Unidad 1
Unidad 1Unidad 1
Unidad 1mi casa
 
Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 2)
Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 2)Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 2)
Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 2)Avanet
 
1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capas1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capasEsbeyiz
 
modulo tres capas redes tecnologia inter
modulo tres capas redes tecnologia intermodulo tres capas redes tecnologia inter
modulo tres capas redes tecnologia interssuser948499
 
3 capas
3 capas3 capas
3 capasUACH
 
Arquitectura en Capas
Arquitectura en CapasArquitectura en Capas
Arquitectura en CapasHelenSaravia
 
Monografia top sw
Monografia top swMonografia top sw
Monografia top swjamoca25
 
SISTEMA DE BASE DE DATOS
SISTEMA DE BASE DE DATOSSISTEMA DE BASE DE DATOS
SISTEMA DE BASE DE DATOSNatalia Perez
 
Arquitectura 2
Arquitectura 2Arquitectura 2
Arquitectura 2bistasa
 

Ähnlich wie Arquitectura de tres capas con Access para la base de datos (20)

A charla12 arq.3-capas
A charla12 arq.3-capasA charla12 arq.3-capas
A charla12 arq.3-capas
 
N-CAPAS EN VISUAL NET
N-CAPAS EN VISUAL NETN-CAPAS EN VISUAL NET
N-CAPAS EN VISUAL NET
 
Programacion por capas
Programacion por capasProgramacion por capas
Programacion por capas
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Arquitectura de Software
Arquitectura de SoftwareArquitectura de Software
Arquitectura de Software
 
Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 2)
Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 2)Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 2)
Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 2)
 
1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capas1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capas
 
3capas
3capas3capas
3capas
 
modulo tres capas redes tecnologia inter
modulo tres capas redes tecnologia intermodulo tres capas redes tecnologia inter
modulo tres capas redes tecnologia inter
 
3 capas
3 capas3 capas
3 capas
 
Arquitectura en Capas
Arquitectura en CapasArquitectura en Capas
Arquitectura en Capas
 
Monografia top sw
Monografia top swMonografia top sw
Monografia top sw
 
Presente Y Futuro De Los Si
Presente Y Futuro De Los SiPresente Y Futuro De Los Si
Presente Y Futuro De Los Si
 
Taller 4 - Teleinformatica
Taller 4 - TeleinformaticaTaller 4 - Teleinformatica
Taller 4 - Teleinformatica
 
Programando en capas
Programando en capasProgramando en capas
Programando en capas
 
SISTEMA DE BASE DE DATOS
SISTEMA DE BASE DE DATOSSISTEMA DE BASE DE DATOS
SISTEMA DE BASE DE DATOS
 
Arquitectura
ArquitecturaArquitectura
Arquitectura
 
Arquitectura 2
Arquitectura 2Arquitectura 2
Arquitectura 2
 
Aplicaciones En Capas
Aplicaciones En CapasAplicaciones En Capas
Aplicaciones En Capas
 
APLICACIONES N-CAPAS EN VISUAL NET
APLICACIONES N-CAPAS EN VISUAL NETAPLICACIONES N-CAPAS EN VISUAL NET
APLICACIONES N-CAPAS EN VISUAL NET
 

Mehr von univ of pamplona

Exposicion unidad 1 ing software
Exposicion unidad 1 ing softwareExposicion unidad 1 ing software
Exposicion unidad 1 ing softwareuniv of pamplona
 
2. presentacion acis calidad software basado en normas calidad
2. presentacion acis calidad software basado en normas calidad2. presentacion acis calidad software basado en normas calidad
2. presentacion acis calidad software basado en normas calidaduniv of pamplona
 
1. modelo entidad relacion ejemplo
1. modelo entidad relacion   ejemplo1. modelo entidad relacion   ejemplo
1. modelo entidad relacion ejemplouniv of pamplona
 
Arquitectura de una aplicación
Arquitectura de una aplicaciónArquitectura de una aplicación
Arquitectura de una aplicaciónuniv of pamplona
 
2. introduccion a la_ing_de_software
2. introduccion a la_ing_de_software2. introduccion a la_ing_de_software
2. introduccion a la_ing_de_softwareuniv of pamplona
 
1 lectura inicial - que es ingenieria de software
1  lectura inicial - que es ingenieria de software1  lectura inicial - que es ingenieria de software
1 lectura inicial - que es ingenieria de softwareuniv of pamplona
 
2. requerimientos del software
2. requerimientos del software2. requerimientos del software
2. requerimientos del softwareuniv of pamplona
 

Mehr von univ of pamplona (14)

Entidad relacion
Entidad relacionEntidad relacion
Entidad relacion
 
Exposicion unidad 1 ing software
Exposicion unidad 1 ing softwareExposicion unidad 1 ing software
Exposicion unidad 1 ing software
 
2. presentacion acis calidad software basado en normas calidad
2. presentacion acis calidad software basado en normas calidad2. presentacion acis calidad software basado en normas calidad
2. presentacion acis calidad software basado en normas calidad
 
1. modelo entidad relacion ejemplo
1. modelo entidad relacion   ejemplo1. modelo entidad relacion   ejemplo
1. modelo entidad relacion ejemplo
 
Arquitectura de una aplicación
Arquitectura de una aplicaciónArquitectura de una aplicación
Arquitectura de una aplicación
 
Arquitectura multicapa
Arquitectura multicapaArquitectura multicapa
Arquitectura multicapa
 
4 ppt tema1
4 ppt tema14 ppt tema1
4 ppt tema1
 
2. introduccion a la_ing_de_software
2. introduccion a la_ing_de_software2. introduccion a la_ing_de_software
2. introduccion a la_ing_de_software
 
1. curso unal cap1
1. curso unal cap11. curso unal cap1
1. curso unal cap1
 
1 lectura inicial - que es ingenieria de software
1  lectura inicial - que es ingenieria de software1  lectura inicial - que es ingenieria de software
1 lectura inicial - que es ingenieria de software
 
Espe tecnicas siia_2
Espe tecnicas siia_2Espe tecnicas siia_2
Espe tecnicas siia_2
 
Entrevistas
EntrevistasEntrevistas
Entrevistas
 
2. requerimientos del software
2. requerimientos del software2. requerimientos del software
2. requerimientos del software
 
1. curso unal cap1
1. curso unal cap11. curso unal cap1
1. curso unal cap1
 

Arquitectura de tres capas con Access para la base de datos

  • 1. http://dianakids.tripod.com/diseno/bd01b.htm Arquitectura de tres capas con Access TERCERA CAPA: LA BASE DE DATOS Ante la realidad de que muchos estudiantes carecen de las destrezas necesarias para utilizar con versatilidad lenguajes de programación en el diseño y creación de aplicaciones distribuidas, he preferido desarrollar las tres capas: la capa de Presentación o Interfaz de usuario (IU), la capa Lógica de Negocio y la capa de Acceso o Servicios de Datos con una aplicación que pueda ser familiar al estudiante de cualquier concentració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 se desarrolla una aplicación cliente/servidor empleando un diseño distribuido. Es suficiente con una sola estación de trabajo (Aplicación basada en Host) que tenga instalado el sistema operativo Microsoft Windows 2000 para su ejecución, aunque pudiera distribuirse por varias computadoras en una red. Arquitectura de las tres capas Básicamente la Arquitectura se centra en una arquitectura de 3 partes, las cuales pueden distribuirse 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 capas Se 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-capa Entendemos por aplicaciones mono-capa, aquellas que tanto la propia aplicación como los datos que maneja se encuentran en la misma máquina y son administradas por la misma herramienta: podríamos decir que son una sola entidad Figura 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 una aplicació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 u objetos. La ventaja de romper una aplicación en trozos es que cualquier cambio de uno de esos componentes no tiene un 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 Acceso a 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 que fuerza 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 los interfaces de los clientes que seguramente estarán muy distribuidos. El inconveniente es que normalmente los Servidores de Datos no son muy moldeables y es bastante complicado implementar reglas de negocio en los servidores. Muchas aplicaciones two-tier combinan de forma conjunta ambos sistemas. Es con frecuencia impracticable o indeseable, encapsular completamente los procesos con los datos. En estas aplicaciones el Servidor de Datos procesa las Consultas y realiza todas las actividades relacionadas con la Base de Datos. Cada Cliente inicia y deja abierta una conexión al servidor para poder enviar las peticiones y poder procesar las respuestas. Normalmente la lógica se establece en el cliente usando un lenguale 3GL o 4GL o en el servidor mediante Triggers y Procedimientos 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-Tier Como se podría esperar cada uno de los componentes de la aplicación en una arquitectura three-tier se separa en una sola entidad. Esto te permite implementar componentes de una manera más flexible. Algo que no creo que sorprenda es 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 del negocio. Cuando el cliente necesita hacer una petición se la hace a la capa en la que se encuentra la lógica del negocio. 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/Open Empezaremos por lo básico, esto es, por la base de datos. Arquitectura de tres capas con Access TERCERA CAPA: LA BASE DE DATOS Los objetos de una base de datos de un negocio representan a los objetos reales de dicho negocio. En cualquier negocio hipotético podemos identificar los siguientes objetos básicos: √ Producto √ Clientes √ Empleados y/o Vendedores √ Órdenes √ Suplidor Otros 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 que llamaremos proyecto1. Planificación de la base de datos
  • 6. Mediante la base de datos de Access, se puede guardar una cantidad inmensa de datos para una gran variedad de negocios y actividades personales. La base de datos se debe planificar en función de las necesidades del negocio. Antes de iniciar a trazar la estructura de la base de datos, 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 piensan utilizar. Tablas La tabla es la unidad básica para guardar una colección de datos en Access. La tabla consta de fields, elemento que guarda una porción de información para cada record (visualmente están representados por las columnas de la tabla), y de records, elemento que contiene un número determinado 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 que funcionan en el negocio, considerando que algunos de los objetos reales pueden estar representados por otros objetos lógicos, como Queries, Forms y Reports. La norma que debe aplicar en la planificación es la de economía. Si uno de los componentes u objetos del negocio puede construirse con los datos que suministran las tablas (previamente creadas) mediante un Query, no hay razón para añadir una tabla más para dicho componente. Generalmente cuando no se planifica bien la estructura de la base de datos, el resultado va a ser multiplicidad de tablas y repetición de campos en varias tablas.
  • 7. ¿Cuántos campos deben crearse en cada tabla? Aquellos que demande el tipo de componente u objeto real. Aquí también aplica la ley de la economía: cuando un campo está atendido por otra tabla, no lo repitas. Evita la duplicidad de campos y datos, excepto aquellos campos claves que se van a utilizar para relacionar dos tablas entre sí (ver más adelante la sección de interrelaciones entre tablas). Queries Los queries permiten extraer subgrupos de datos de una tabla, de varias tablas previamente relacionadas, o de otros queries, utilizando criterios que uno define. Trabaja como un objeto más de la base de datos, de forma idéntica a la tabla. Los queries bien planificados nos pueden ahorrar pueden ahorrarnos multiplicidad de tablas. Antes de crear una nueva tabla, hazte la siguiente pregunta: ¿puedo crear este objeto mediante un query utilizando los campos que hay en otras tablas actuales? Forms El formulario facilita la entrada de datos, ver y editar la información. Los formularios pueden diseñarse de tal manera que reproduzcan formas como las de una factura y agenda, o puedes crear formularios expresamente organizados para entrar datos, incluyendo reglas de validación de datos, al igual que en Excel. La ventana de un formulario puede incluir una subform que presenta información de otra tabla relacionada. El formulario también puede incluir resúmenes estadísticos. Reports Mediante el objeto reports pueden presentarse datos de una o varias tablas o queries en un estilo legible y en un formato profesional, generalmente listo para imprimirse. El informe puede incluir, además de una lista detallada de datos específicos, agrupados y organizados, resúmenes estadísticos.
  • 8. Otros objetos La 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 de datos en Web. Se puede diseñar la página web de tal modo que presente los datos, permita a los usuarios editar el contenido de la base de datos ose provean herramientas para analizar los datos. Contrario a los otros objetos de la base de datos, la página web se guarda en el disco como un archivo .html separado. Macros. Este objeto permite definir una secuencia de acciones en la base de datos. Son fáciles de 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 del formulario. Para correr el macro, selecciona el objeto en la lista de los Macros y haz clic en el botón Run de la barra de herramientas de Access. Modules. Son colecciones de procedimientos y declaraciones de Visual Basic, diseñados para ejecutar tareas específicas en el contexto de tu base de datos. TERCERA CAPA: LA BASE DE DATOS PRIMER PROYECTO: CREACIÓN DEL OBJETO TABLA  Inicia Microsoft Acces.  Nomina la base de datos como proyecto1 Los 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 o negocio, se relacionen entre sí para poder compartir e intercambiar la informació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 al menos un campo común e idéntico en Data Type, no necesariamente en Field Name (si es idéntico en nombre y tipo de dato, mucho mejor, va a favor la comprensión y claridad). Los campos 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 misma información en distintas tablas. Es buena práctica nominar los campos que contienen la clave principal 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 interrelacionar las tablas (pues tendrás que interrelacionar este campo con otros campos que tal vez no tengan ese mismo tipo de dato), utiliza mejor Text por ser menos limitante. Por ahora crearemos las tablas de Producto y Cliente. Posteriormente trabajaremos a su debido 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 ID ProductoID NombreProducto Text Nombre SuplidorID Text Este campo se utiliza para relacionar la tabla de Suplidores con esta tabla. CantidadStock Number
  • 10. PrecioVenta Currency Precio 2 Venta PedidoID 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 ID ClienteID NombreCliente Text Nombre Apellidos Text Al entrar el Input Mask (mascarilla) guarda la tabla como cliente Telefono Text Telephone Direccion1 Text Urb.- Barrio Direccion2 Text Calle-Box Ciudad Text Zip Text Zip Code ProductoID Text ID Producto Este campo se utiliza para relacionar la tabla de Producto con esta tabla. Cantidad Number FormaPago Lookup Forma Incluir como alternativas: Wizard… Pago Visa, MasterCard, ATH, Cheque, CASH, Otra. NumeroCuenta Text Número Cuenta Cierra la tabla y la nominas como cliente.
  • 11. Creación de la ventana Lookup 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. RELACIONES Antes de ponerte a trabajar con una base de datos que contine varias tablas, es necesario definir la relación que existe entre las mismas. Una relación define aquellos campos que tienen en común dos tablas, de tal manera que Access pueda combinar la información de las dos tablas en un resultado lógico. En general, para establecer una relación entre dos tablas se requiere que cada tabla tenga un campo en común. Usualmente, los dos campos en común incluyen el campo primary key en una tabla; el campo correspondiente en la segunda tabla se llama foreign key, clave externa. La interrelación entre las tablas es crucial para la manipulació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 FORMS Los formularios se generan a partir del objeto Tablas y del objeto Query de dos formas: a) con AutoForm, b) Insert Form y con el Asistente (Wizard). De odas las herramientas que hay para crear formularios, en este momento utiliza únicamente la herramienta Autoform para crear los formularios correspondientes a las tablas de cliente y producto. 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 el mismo 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 Asistente Al crear un formulario con el Asistente, como en el caso anterior, puedes elegir no sólo todos o parte de los campos de una sola tabla o query, sino también campos específicos de distintas tablas 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 formulario El formulario de Access posee casi las mismas características que el formulario de Visual Basic. Las tres vistas Antes de trabajar con el interfaz del formulario, te recomiendo que explores las tres vistas, e intercambies varias entre las vistas de Design View y Form View. El interfaz del formulario se trabaja en la vista de diseño. Cuando accedes a esta vista, Access te presenta las herramientas de trabajo necesarias para perfeccionar y mejorar la apariencia del interfaz del formulario. Estas herramientas las vienes usando desde Visual Basic.
  • 16. Manipulación del Label y del Tex Box Al principio se hace un poco difícil manipular el tamaño y la ubicación de estos dos objetos adheridos y correlacionados. Para mover los dos objetos al Para mover uno de los dos Para modificar el tamaño, activa mismo 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 del superior o inferior del objeto esquina superior izquierda del borde, cuando aparezca la línea activado, cuando aparezca la objeto que quieres mover, de doble flecha, arrastra el ratón mano abierta, mueve los cuando aparezca la mano en la dirección deseada. objetos. señalando con el dedo índice, mueve el objeto. Data Entry Con el propósito de seguir trabajando con la siguiente fase, conviene entrar alrededor de 10 casos o registros (records) de los productos utilizando el formulario producto. El mejor interfaz para 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 Access TERCERA CAPA: LA BASE DE DATOS SEGUNDO PROYECTO: CAMBIO DE DISEÑO DEL FORMULARIO Si se va a utilizar el formulario para entrar datos a la base de datos, conviene que la interfase, además de legible, sea agradable a la vista y con los controles necesarios para realizar las tareas comunes. Hasta ahora prácticamente no hemos aportado nada en el diseño del formulario. Está tal y como lo creó el programa. Vas añadir un fondo, un encabezamiento, una foto y varios controles de ejecución y 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 Align Fondo 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. Controles Tanto en el formulario como en el informe, los objetos de control pueden tener una de tres 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 las funciones de Acces y referencias de campos; o unbound (independiente) no asociado a los campos de las tablas o queries, como es el caso de líneas, text box y etiquetas de texto. El objeto o control dependiente es El objeto o control independiente es El control de cálculo se utiliza para un objeto o control asociado a un un objeto o control no asociado a un crear cálculos estadísticos y campo 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 Access Botones 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 Access SEGUNDA CAPA: LÓGICA DE NEGOCIO Toda aplicación tiene código para implementar reglas de negocios, procesos relacionados 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 de negocios debe mantenerse separada de la capa de presentación y de los servicios 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 sentido lógico. Hay muchas formas de separar la lógica de negocios. En términos orientados a objetos, usted debería encapsular la lógica de negocios en un conjunto de objetos o componentes que no contienen presentación o código de servicios de datos. Teniendo separada lógicamente su lógica de negocios de ambas, la capa de presentación y servicios de datos, usted ganará en flexibilidad en término de donde usted puede almacenar físicamente la lógica de negocios. Por ejemplo, usted puede seleccionar almacenar la lógica de negocios sobre cada estación de cliente, u optar por ejecutar la lógica de negocios sobre un servidor de aplicaciones, permitiendo a todos los clientes acceder a un recurso centralizado. Los objetos de negocios son diseñados para reflejar o representar sus negocios. Ellos se convierten en un modelo de sus entidades de negocios e interrelaciones. Esto incluye tanto objetos físicos como conceptos abstractos. Estos son algunos ejemplos de objetos del mundo real: un empleado, un cliente, un producto, una orden de compra. Todos estos son objetos en el mundo físico, y la idea en su totalidad detrás de usar objetos de negocios de software, es crear una representación de los mismos objetos dentro de su aplicación. Sus aplicaciones pueden hacer que estos 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 que contiene una lista de productos. Siguiendo esta lógica usted puede crear objetos de negocios de una orden conteniendo el código necesario para administrarse a si mismo, así usted nunca necesitará replicar código para crear ordenes, usted solo usará el objeto. Similarmente, un objeto cliente contiene y administra sus propios datos. Un buen diseño de un objeto cliente contiene todos los datos y rutinas necesitadas para representarlo a través del negocio completo, 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 un proceso intensivo de datos, requiriendo un eficiente y rápido acceso a la base de datos. Otras no requieren un frecuente acceso a los datos, pero es de uso frecuente por una interfase de usuario robusta para la validación en la entrada de campos u otras interacciones de usuarios. Si nosotros necesitamos una validación al nivel de pantallas y quizás cálculos en tiempos real u otra lógica de negocios, pudiéramos considerar este tipo de lógica de negocios para ser parte 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 IU proveerá propiedades y métodos para usar por el diseñador de la interfase de usuario. Ejemplo de propiedades y métodos pudieran ser: IDEmpleado,
  • 23. Nombre, Dirección, etc., y como métodos crear una de compra, etc. El objeto Empleado de la capa de objetos de negocios de datos será responsable de los mecanismos de persistencias, interactuar con la base de datos. Los objetos de esta capa son considerados sin estado, solo poseen métodos. Arquitectura de tres capas con Access SEGUNDA CAPA: LÓGICA DE NEGOCIO Muchos de los planteamientos de la capa de lógica de negocios se resuelven con el objeto Query. Las consultas (queries) son una herramienta eficaz para dar respuestas a las inquietudes, preguntas y necesidades del negocio. CREACIÓN DE QUERIES Los datos almacenados en una base de datos son reales. Cuando las organizaciones comienzan a utilizar una base de datos por primera vez, generalmente piensan en la creación de sistemas que recuperen de forma rápida y segura los datos. El uso más inteligente de las bases de datos sería considerar que la recuperación de los datos consistiera en convertir esos datos en información, que no es otra cosa que los datos procesados. Para analizar la tendencia de las ventas necesitamos saber cuántos pedidos se han recibido en un determinado mes. Para facilitar los pedidos de los proveedores o suplidores deseamos identificar el nombre de la persona de contacto y su teléfono de forma rápida. Para crear una factura o una nómina tal vez necesitemos datos de varias tablas. Una base de datos bien diseñada contiene una tabla para cada sección clave de la organización En Access podemos buscar información deseada creando una herramienta de análisis de de base de datos fundamental: la consulta o query. Una consulta es una herramienta que unifica datos procedentes de varias tablas como respuesta a una pregunta o que lleva a cabo una acción sobre los datos.
  • 24. Definición de consultas Una consulta es una forma de dar respuesta a cualquier pregunta relacionada con la base de datos mediante la manipulación de tablas, registros y campos. Es una petición de un conjunto de datos en particular, como por ejemplo, “Muéstrame el nombre y el teléfono de los clientes del pueblo de Rincón”. TRECER PROYECTO: CREACIÓN DE LA FACTURA A PARTIR DE UNA CONSULTA Antes de iniciar el proceso de crear cualquier consulta, hay que hacerse la pregunta básica: ¿Qué campos necesito para dar una respuesta satisfactoria a la necesidad planteada? ¿En qué tablas se encuentran dichos campos? Por ejemplo, para reproducir los elementos insustituibles de una factura, se necesitan los campos que tengan información sobre el ID, Nombre, Apellidos y Dirección del cliente; así como el ID, el Nombre, y el Precio del producto. Si damos una ojeada por nuestra base de datos, nos daremos cuenta que tenemos toda la información mencionada en el párrafo anterior. La razón de ser del Query que vamos a generar es crear la factura y sólo la factura. Así que manos a la obra. Existen dos formas para crear consultas: 1) el Asistente (Wizard), y b) la vista de Diseño. Elegiremos la vista de diseño por considerarla muy simple. 1. Haz un clic sobre el objeto Queris. 2. Haz doble clic sobre Aparece la ventana del Query1. Si no estuviera presente la caja de diálogo Show Table, haz un clic en el tablero superior con el botón derecho del ratón y elige Show Table, o View/Show Table, o haz clic en . La ventana de Query incluye dos tableros: el superior contiene la lista de los campos de cada tabla a ser consultada; este tablero muestra la relación entre los datos de origen. El tablero inferior contiene una cuadrícula con una columna por cada campo consultado.
  • 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 d Table 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 del query Factura Como ya sabes, puedes iniciar el procedimiento del formulario a partir del Query Factura de dos maneras: a) Seleccionando el objeto Query y luego hacer un clic en Insert/Autoform; o b) seleccionando el objeto Forms y haciendo doble clic en Create form by using Wizard (si utilizas el Asistente, cuando llegues al paso de elegir la tabla o query, tienes que elegir el query Factura y no una tabla). Preferimos la modalidad a).
  • 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 Source Text Box Fecha Fecha Short Date Short Date Text Box Cantidad Cantidad General Number Text Box Total total =[Cantidad]*[PrecioPublico] Text Box Fecha Exp expira Short Date Short Date Option Group Forma de Pago Label (en el FACTURA Font:: Tamaño 16, Color azul Header) Para accesar a las propiedades del objeto haz un clic con el botón derecho del ratón sobre el mismo. Control de cálculo Se entiende por control de cálculo aquella fórmula que calcula el valor visualizado en el control. La fórmula de cálculo puede escribirse: a) manualmente en la caja de texto (Text Box); b) en la propiedad Control Source; c) en el botón generador de Expresiones ... de la propiedad anterior; d) en el Query. Los controles de cálculo se crean en los objetos de Forms, Report y el Query, bien en un objeto asociado (bound) con un campo de la tabla como no asociado (unbound). No se generan en el objeto de la tabla. Creación de controles de cálculo en el formulario La fórmula = [Cantidad] * [PrecioPublico] escrita anteriormente en el objeto unbound de Total, el cual fue añadido posteriormente en el formulario, es un ejemplo de este tipo de control. Para que trabaje dicha fórmula en este formulario, es necesario modificar el nombre del objeto que contiene el dato de cantidad.
  • 28. Creación de controles de cálculo en el Query Abre en la vista diseño el Query Factura creado anteriormente. Añade al final de la tabla el campo Cantidad perteneciente a la tabla del cliente. Field: ClienteID ProductoID PrecioPublico NombreCliente ApellidosCliente Direccions Ciudad CuentaNumero NombreProd Cantidad T Table: cliente producto producto cliente cliente cliente cliente cliente producto cliente Sort: 1. Haz un clic con el botón derecho del ratón en la celda que sigue a Cantidad. 2. Elige en el menú Zoom... Aparece la ventana Zoom. 3. Escribe Total: [PrecioPublico]*[Cantidad] 4. Haz un clic en OK. 5. Guarda el Query. 6. Abre el Query en la vista Datasheet View (o haz doble clic en el Query Factura) para comprobar si funciona. Si observas bien, en la vista Datasheet aparece un nuevo campo, el campo Total. No ha sido necesario trastear ni añadir dicho campo en la base de datos original (tabla cliente). Ahora podemos crear el formulario de la factura a partir del Query modificado sin necesidad de añadir un control de cálculo en el mismo. La vista Datasheet tiene distintos formatos, colores y fondos. Explóralos en Format/Datasheet... Cómo crear un objeto Option Group 1. Haz un clic en Option Group de la caja de herramientas. 2. Haz un clic en un área en blanco del formulario. 3. Sigue los pasos del Asistente:
  • 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 Pago Así 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 Access SEGUNDA CAPA: LÓGICA DE NEGOCIO CUARTO PROYECTO: CREACIÓN DE LA NÓMINA Para generar el objeto de nómina necesitamos los datos del empleado y/o vendedor (en este proyecto, partimos del hecho de que el empleado es también vendedor). Como no existen tales 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 mismo procedimiento de las tablas anteriores considerando las especificaciones que aparecen a continuación: Observaciones Data Primary Propiedades Field Name Input Type Key Caption DecimalPlace Mask Text Si ID EmpleadoID NombreEmpleado Text Nombre Apellidos Text SeguroSocial Text S.S. Soc. Sec. Al entrar el Input Num Mask (mascarilla) guarda la tabla como empleado SalarioHora Currency Salario/Hora 2 HorasTrabajadas Number Horas Trabajadas FechaPago Text Fecha de Short Pago Date ClienteID 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 patronos prefieren mantener distante e incomunicada la información del empleado del resto de secciones del negocio. No obstante, incluimos el procedimiento de dicha relación de forma provisional. Con los datos que se tienen en la tabla empleado puede crearse la nómina, sin necesidad de tomar prestado más datos de otras tablas.
  • 32. Creación del formulario para entrar la nómina de los empleados Crea el formulario con un clic. Modifica el formulario en la vista de diseño. Con un clic Modificado Se crearon los siguientes objetos unbound (no asociados a los campos del Query): Propiedades Objeto Etiqueta Name Format Input Control Source Mask Text Box Horas Extras Extra Text Box Total =[HorasTrabajadas]*[SalarioHora] Text Box Income Tax =[Total]*0.09 Text Box Retiro =[Total]*0.07 Text Box ASUME =[Total]*0.05 Text Box Pago Horas PagoExtra =([SalarioHora]*2)*[Extra] Extras Text Box Total Neto =[Total]+[PagoExtra]-[IncomeTax]-[Retiro]- [Asume] Label Retenciones 2 Rectangle Label (en el Nómina Font:: Tamaño 16, Color azul Header)
  • 33. Jugando con las fórmulas Podemos 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 Horas Extra. Al tener separadas las horas regulares de las extra, se prestaba a confusión al momento de 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 se pagan a doble tiempo (2): Pago Horas Extra =([HorasTrabajadas]-40)*[SalarioHora]*2 Income Tax =([HorasTrabajadas] * [SalarioHora]+([HorasTrabajadas]-40) * [SalarioHora] * 2) * 0.11 Retiro =([HorasTrabajadas] * [SalarioHora]+([HorasTrabajadas]-40) * [SalarioHora] * 2) * 0.09 Total 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 examen Si quisiéramos integrar una comisión al empleado que vende tendríamos que relacionar las tablas de Empleado, Cliente y Producto. Crea un Query con estas tres tablas y elige los campos necesarios para la comisión, incluyendo, sin falta, el ID y el nombre del empleado. Para calcular el 3% del total en comisión del empleado, sólo necesitamos también el Total de las ventas o los campos de Cantidad y Precio:
  • 35. Comision = [Total] * .03 o Comisión = ([Cantidad] * [PrecioPublico]) * .03 Este control puedes colocarlo en la tabla del Query, en el formulario o en el informe (más adelante aprenderá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 haya vendido más de 10,000.00 La Nota Con 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 Access SEGUNDA CAPA: LÓGICA DE NEGOCIO
  • 36. QUINTO PROYECTO: CREACIÓN DE FORMULARIOS CON CAMPOS OLE, HIPERVÍNCULOS Y SUBFORMULARIOS CREACIÓN DE LA TABLA DE LOS SUPLIDORES Y PEDIDOS Table4 (suplidor) Crea en la vista Design y en la misma base de datos de los proyectos anteriores la siguiente tabla: Propiedades Observaciones Data Primary Input Field Name Type Key Caption Mask Text Si ID Suplidor SuplidorID NombreSuplidor Text Nombre suplidor PersonaContacto Text Persona Contacto DireccionSuplidor Text Dirección Ciudad Text Zip Text Zip Code TelefContacto Telefono Orden Telephone # Al entrar el Input Mask (mascarilla) guarda la tabla como suplidor PrimerPedido Date/Time Short Date ProducroID Text ID Producto Comentario Memo Comentarios relacionados con el suplidor Picture OLE Foto Object WebPage Hyperlink Pagina Web Se escribe en el campo la dirección de la página web del suplidor: http://www.etc.com PedidoID 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 del PedidoID pedido FechaPedido 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 Text CantidadPedido Number PrecioSuplidor Currency Precio 2 Supl SuplidorID 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 UN SUBFORMULARIO Es sumamente sencillo la creación de un formulario y subformulario con la herramienta Form Wizard. El asistente Form Wizard crea el formulario y subformulario automáticamente una vez hayas elegido las tables e indicado la organización general de tus datos. Sigue los siguientes pasos para crear el formulario y subformulario. El formulario corresponderá a la tabla de Suplidores y el subformulario a la tabla de Productos. Relacióna la tabla Suplidor con la tabla Producto Es necesario establecer la relación entre las tablas que vas a utilizar en el formulario y subformulario, 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 formulario Crea 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 Box 1. 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ón Next >, y escribe Buscar por &Nombre como etiqueta para el combo box. Apunta a Finish.
  • 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 Access SEGUNDA CAPA: LÓGICA DE NEGOCIO SEXTO PROYECTO: COMPRENSIÓN DE LAS CONSULTAS O QUERIES Acces permite crear una gran variedad de consultas. Las más comunes son Selet Query, que extrae información de una o más tablas. También puedes crear crosstab queries, que agrupa y resume información en un formato de fila- columna como Excel PivotTable. Una de las cosas más poderosas (y también peligrosas por trastocar la información de la base de datos) conlleva la action queries (Update Query, Make-Table Queery, Append Query y Delete Query), que actualiza los datos de la base de acuerdo a los criterios definidos en el query. SELECCIÓN DEL QUERY
  • 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 cliente Número Número técnico Cliente Compañía Dirección Ciudad Estado ZipCode Factura Pago CM12 Computer_Más Calero 10 Caguas PR 00765 $322.45 $159.00 10 CS56 Computer Suppliers Hostos 45 Santurce PR 00909 $1399.00 $675.00 09 C200 Computer 2000 Albizu 13 Guayama PR 00689 $299.75 $200.00 10 BE77 Boricua Electrónic Colón 65 Aguada PR 00654 $2500.97 $1500.25 10 ET02 Electro Text Revolución 530 Lares PR 00865 $0.00 $0.00 15 EI24 Egunon Inc Tridas 09 Santurce PR 00909 $150.00 $0.00 09 Al llenar cada campo presiona la tecla Tab. Observa en la parte inferior de la ventana la barra del número de los récords. Es muy útil para navegar. Ver previamente e imprimir el contenido de una tabla 1. Abre la base de datos Proyecto1 y la tabla Cliente. 2. Da un clic en File/Print Preview 3. Aumenta la vista 4. Da un clic en File/Page Setup 5. Da un clic en la pestaña Page y selecciona Landscape/OK.
  • 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écnico Número Zip Técnico Apellido Nombre Dirección Ciudad Estado Code HorasTrabajadas
  • 46. SalarioHora 09 10 15 Crear un nuevo Query 1. Abre la base de datos Proyecto1. 2. Selecciona (da un clic en) la tabla de Cliente 3. Da un clic en la flecha del icono "New Object" (el penúltimo de la barra de herramientas estándar) y selecciona Query o Insert/Query. Aparece la caja de diálogo. 4. Selecciona Design View/OK . 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 View Cerrar un Query Da un clic en File/Close Incluir todos los campos en un Query 1. Vuelve a la ventana del Query anterior que contiene la hoja superior la lista de los campos de la tabla Cliente. Asegúrate que la hoja inferior esté vacía. 2. Da dos clics en el asterisco ( * ) de la caja donde aparece la lista de los campos. 3. Da un clic en el botón Run. 4. Da un clic en el botón Wiew. Entrada de criterios Uso de datos en forma de texto como criterio Abierta la ventana de Select Query del Query1, da dos veces clic a los campos de: Número Cliente, Compañía, Factura y Pago para añadirlos en el query. Apunta a la entrada de Criteria: para el primer campo en la hoja de "Design Grid".
  • 48. Da un clic en la entrada de Criteria: y escribe ET02 como criterio para el campo de Número Cliente. Corre el query dando un clic en el botón Run. Uso de comodines Existen dos comodines típicos: el asterisco (*) que representa a un grupo de caracteres (Gu* representa a las letras Gu seguidas por cualquier grupo de caracteres, como Guaynabo, Guayama, Guaraguao). El símbolo de interrogación (?), que representa cualquier carácter individual (C?lor representa la letra C seguida por cualquier carácter antes de lor, como Calor, Color). 1. Vuelve a la ventana Query1: Select Query de la tabla Cliente. 2. Apunta y da un clic en la fila de Criteria debajo del campo Compañía. Escribe LIKE Com* como entrada. Nota: Si hubiera escrito algún otro criterio debajo de otros campos, bórralo antes de correr el creado ahora. 3. Da un clic en el botón Run. Uso de Números como criterio 1. Vuelve a la ventana Query1: Select Query de la tabla Cliente. 2. Da un clic en Edit y otro en Clear Grid. 3. Incluye los campos: Número Cliente, Factura y Pago en el query. 4. Escribe en la fila Criteria: debajo del campo de Pago un 0. 5. Corre el query. Uso de operadores como criterio 1. Vuelve a la ventana Query1: Select Query de la tabla Cliente. 2. Da un clic en Edit y otro en Clear Grid. 3. Incluye los campos: Número Cliente, Factura y Pago en el query. 4. Escribe >500 en Criteria: debajo del campo Pago. 5. Corre el query. Uso de criterios combinados 1. Vuelve a la ventana Query1: Select Query de la tabla Cliente. 2. Da un clic en Edit y otro en Clear Grid. 3. Incluye los campos: Número Cliente, Factura, Pago y Número Técnico en el query. 4. Escribe >300 en Criteria: debajo del campo Factura y 10 como criterio debajo del campo de Número Técnico. 5. Corre el query. Uso de criterios combinados incluyendo OR 1. Da un clic en el botón View para volver al query seleccionado anteriormente. 2. Borra la entrada 10 de la fila Criteria bajo el campo Número Técnico.. 3. En la fila or (debajo de Criteria) escribe 10 para el campo Número Técnico.
  • 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 tablas Al momento de unir los campos de dos o más tablas puede restringirse el número de récordes mediante el uso de criterios. Por ejemplo, se puede incluir el campo Factura y poner como criterio limitante haber facturado de $500. Uso de fórmulas en un query Computar campos 1. Da un clic en el botón Desing View. 2. Remueve la Tabla Técnico: 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 QUERIES El tipo de query crosstab transforma los datos record-oriented en una vista resumida row-column oriented que recuerda la hoja electrónica de Excel. Imagínate que quieres exhibir los distintos precios de uno o varios artículos suministrados por distintos suplidores. Mediante un crosstab query puedes resumir los datos en una hoja de orientación fila-columna, donde el título o encabezamiento de la fila representa los distintos artículos o productos que suministran los distintos suplidores, y el título o encabezamiento de la columna representa el nombre de los suplidores o compañías. Nombre del 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.55 Para añadir un crosstab query en el panel inferior del query, elige el objeto Query, y luego Cosstab Query. Exhibe la tabla Suplidor en el panel superior. El diseño para este crosstab query te lo presento a continuación: Field: NombreProducto NombreSuplidor Return on Equity Table: Suplidor Suplidor Suplidor Total: Group By Group By Avg Crosstab: Row Heading Column Heading Value Criteria: Or: ACTION QUERIES Un action query cambia potencialmente los datos en una tabla existente, o crea una nueva tabla. Acces permite crear cuatro clases de action query: Un update query reemplaza datos en un record existente. En el diseño de la actualización de un query, se selecciona el criterio para identificar los récords a los que se va a hacer referencia, y luego se provee una expresión que genera el reemplazo de los datos. Esta acción se utiliza, por ejemplo, para actualizar un grupo de records cuando cambia el área code, asi como para actualizar el precio, como se presenta a continuación: Field: SuplidorID PrecioDetal Table: Suplidores Productos Update To: [PrecioDetal]*1.05 Criteria: [Enter Supplier Number] Or:
  • 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.htm DISEÑO DE APLICACIONES