APLICACIÓN COMPRAS EN SQLSERVER 2005



Documentos relacionados
APLICACIÓN COMPRAS EN SQLSERVER 2000

Formularios. Formularios Diapositiva 1

Operación Microsoft Access 97

Microsoft Access 2013

TÉCNICAS DE GESTIÓN ADMINISTRATIVA PARA PEQUEÑAS EMPRESAS

... Formas alternativas de escribir un texto. Columnas. anfora CAPÍTULO 4

GVisualPDA Módulo de Almacén

COMBINAR CORRESPONDENCIA EN MICROSOFT WORD

Informes. 3. Elija la opción Nuevo (en la parte superior de la ventana) 4. Elija Autoinformes: en tablas y luego la tabla o consulta que se usará.

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

Programa diseñado y creado por Art-Tronic Promotora Audiovisual, S.L.

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

MS ACCESS BÁSICO 6 LOS INFORMES

Recuperador datos externos

TEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS

Guía de Uso. Office Depot Online Internet, fácil y sencillo

Word XP (Continuación) Salto de página vs. Salto de Sección

La pestaña Inicio contiene las operaciones más comunes sobre copiar, cortar y pegar, además de las operaciones de Fuente, Párrafo, Estilo y Edición.

01 Índice. GESTOR DE CONTENIDOS Manual de uso 01 ÍNDICE OBJETO DEL DOCUMENTO ESTRUCTURA GRÁFICA DEL SISTEMA... 3

A continuación se describen cuáles son los elementos principales de las tablas, cómo crear una y cómo modificarla.

Guía de referencia para mytnt. mytnt. C.I.T Tecnología Aplicada al Cliente

vbnmqwertyuiopasdfghjklzxcvbnmrty uiopasdfghjklzxcvbnmqwertyuiopasdf ghjklzxcvbnmqwertyuiopasdfghjklzxc

PLANTILLAS DE DOCUMENTOS EN WORD 2007

1.- MENU DE CONTROL O MENU VENTANA: permite cerrar la ventana cambiarla de tamaño y pasar a otra ventana

GESTINLIB GESTIÓN PARA LIBRERÍAS, PAPELERÍAS Y KIOSCOS DESCRIPCIÓN DEL MÓDULO DE KIOSCOS

PHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin.

Formas de Pago y Efectos en Facturas de Venta WhitePaper Febrero de 2007

Personalización de la Base de Datos

LAS CONSULTAS ACCESS Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

NOTAS TÉCNICAS SOBRE EL SIT: Documentos de Gestión

Base de Datos de Compras. Creación del Informe.

Combinar correspondencia (I)

GUÍA DE USUARIO DEL CORREO


MANUAL DE AYUDA MODULO TALLAS Y COLORES

CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS

Microsoft Access proporciona dos métodos para crear una Base de datos.

CURSO DE ACCESS 2007 DESARROLLO DE APLICACIONES

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

Base de Datos Compras

MANUAL DE LA APLICACIÓN DE ENVÍO DE SMS

Servidor FTP LEECH FTP INDICE PRESENTACIÓN ACERCA DE CTRLWEB MAILING WORD AYUDA : Acceso a Panel de Control. 1.-Panel de control privado.

Una plantilla es un documento de Word 2003 con la característica de que el tipo de documento es plantilla de documento (.dot).

CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO

Ejercicio de Microsoft Access

Aplicateca. Manual de Usuario: Ilion Factura Electrónica. Espíritu de Servicio

TEMA 1. MANEJO DE PROCESADOR DE TEXTOS: Microsoft WORD 2003

TARIFAS DE VENTA Y DESCUENTOS

PROGRAMA FORMATIVO MICROSOFT ACCESS 2003 (COMPLETO)

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora

NOTAS TÉCNICAS SOBRE EL SIT: Comunicados (I)

Bases de Datos en Visual FoxPro. Administrador de proyectos

PLANTILLAS EN MICROSOFT WORD

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

Trey-SAT Pag. 1. Manual de usuario

2_trabajar con calc I

Instrucciones para la elaboración de comunicaciones aceptadas en FORMATO PÓSTER

Gobierno del Estado de México

Práctica1. Introducción a Microsoft Access. Qué es Access?

Con esta nueva versión, si un artículo que está incluido dentro de un Paquete de Ventas tiene precio 0,00, significará gratis.

MANUAL DE AYUDA MÓDULO PDA ALMACEN E INVENTARIO

Guía de Apoyo Project Professional

Para crear una lista como la anterior, primero escribe la información, y después selecciona el texto y aplícale el formato de viñetas.

Manual de ACCESS Intermedio

UNIDAD I PROCESADOR DE TEXTOS

Servicio Webmail. La fibra no tiene competencia

PowerPoint 2010 Modificar el diseño de las diapositivas

Bases de datos en Excel

MANUAL DE AYUDA. SAT Móvil (Movilidad del Servicio Técnico)

Nota: Se puede tener un acceso directo definido o podemos entrar a través de la

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 5: Report Builder

UD6. Diseño de presentaciones

Correo Electrónico: Webmail: Horde 3.1.1

COMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER

Guía nuevo panel de clientes Hostalia

Kepler 8.0 USO DEL ERP

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes?

PUESTA EN MARCHA PROGRAMA GESTION DE OPTICAS. Junio

Guía rápida de la Oficina Virtual Área Web y Administración Electrónica

Manual para la utilización de PrestaShop

Conciliación bancaria en CheqPAQ Cargado de estado de cuenta

Resumen ÁREA DE FACTURACIÓN::INFORMES::Pedidos Detalle Resumen ÁREA DE

TUTORIAL DESARROLLO DE APLICACIONES PARA EVOLUTION CON MS ACCESS

Creación de Informes por Asistente y Usuario

Manual de Formulario. C/ Salado, 11. Local Sevilla

CREACIÓN Y CONFIGURACIÓN DE WIKIS

Visual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario

Operación de Microsoft Excel

Año: 2008 Página 1 de 18

Desarrollo de aplicaciones de acceso a bases de datos con proyectos Access

POWER POINT. Iniciar PowerPoint

Sistema de Facturación de Ventas WhitePaper Enero de 2007

BASES DE DATOS - Microsoft ACCESS 2007-

Tecnología de la Información y la Comunicación. Base de datos. Consultas

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE

MANUAL DE USUARIO DE LA HERAMIENTA CONFIGURACION DE PRESUPUESTOS PARA DISTRIBUIDORES

Guía para el tratamiento en Allegro de recibos para centros no pertenecientes a la Generalitat Valenciana.

Cuando hacemos uso de los grupos, se tendrán los permisos asignados al grupo, en todas las carpetas y documentos del sitio.

Transcripción:

APLICACIÓN COMPRAS EN SQLSERVER 2005 (Libro de apoyo: Iniciación a las bases de datos con Access 2002. Eduardo Mora, Marta Zorrilla, Joaquín Díaz de Entresotos. Díaz de Santos, 2003) A continuación se presentan los pasos para construir una aplicación sobre la base de datos COMPRAS. Esta constará de formularios que permitan la gestión y consulta de datos y de informes que permitan la impresión y/o visualización de datos con un formato preestablecido. Con objeto de construir de forma rápida la aplicación, se utilizará Access como herramienta de desarrollo, evitando así aprender una herramienta y lenguaje de programación nuevos. Generalmente este tipo de aplicaciones se construyen con herramientas denominadas RAD (Desarrollo Rápido de Aplicaciones) como Visual Basic.Net, C#.Net, Power Builder, J2EE, u otros. Centrándonos en Access, se tienen dos posibilidades, crear un proyecto Access con lo que Access se conecta vía OLEDB a SQL Server 2005 o crear una base de datos Access y vincular vía ODBC las tablas que se encuentran en SQL Server u otro gestor (ver capítulo 9 del libro Iniciación a las bases de datos con Access 2002 ). En la primera opción, Access solo contiene objetos de aplicación, es decir, formularios, informes y módulos de programación en lenguaje Visual Basic para Access ; mientras que en la segunda, Access actúa sobre el motor jet. PROYECTOS ACCESS Pasos para desarrollar el prototipo de aplicación sobre la base de datos COMPRAS. 1. Crear un Nuevo Proyecto Access (extensión adp). Al confirmar su creación, Access solicita autentificarse en el servidor SQL Server y seleccionar la base de datos para establecer el vínculo a través de OLEDB. Figura 1.1. Establecer conexión Marta E. Zorrilla Pantaleón Bases de Datos - 09/10 1

Una vez conectados se observarán las tablas y consultas (funciones y procedimientos almacenados y vistas) que se encuentran en SQL Server en la interfaz de Access. Desde este entorno se pueden realizar las mismas operaciones que desde el MS SQL Server Management Studio. 2. Decidir los formularios que se van a diseñar en función de la estructura de tablas que se dispone y de las necesidades del cliente, en nuestro caso serán tres: artículos, proveedores y pedidos con sus líneas. La aplicación debe incluir, al menos, los formularios que permitan gestionar todas las tablas aunque también puede contener otros de solo consulta atendiendo así las necesidades de los distintos roles de usuarios. 3. Decidir los informes, impresos que se ofrecerá a la organización o al cliente. En nuestro caso el catálogo de artículos, la factura del pedido y las compras realizadas a cada proveedor por año. 4. Para realizar controles en los formularios e informes se podrá hacer uso de macros y de módulos de Visual Basic. a. Macros, son ciertos automatismos y controles que permite definir Access sin tener que programar. Estos se ejecutan cuando se produce el evento al cual se asignan. b. Módulos de VB: para definir funcionalidades generales de la aplicación. En cada formulario se programa lo específico de él, como se verá en el formulario de pedidos y el subformulario de líneas. Nota: Los formularios, informes, macros y módulos residen en el fichero Access con extensión adp. Formularios Todos los formularios, así como los informes, tienen asociado una consulta o vista. Esta se puede definir antes utilizando el entorno de consultas (Crear Asistente para consultas). También se puede trabajar directamente sobre las tablas pero, en general, por las razones de seguridad que ya hemos comentado en clase, se aconseja crear la vista. 1. Artículos: este formulario no tiene nada de especial (ver Figura 1.2). Se creará seleccionando la vista GestionArticulos, creada previamente, y pulsando la opción Crear Formulario. El botón Catálogo de artículos se pondrá posteriormente, una vez se haya definido el informe que éste debe mostrar. Con objeto de mejorar la interfaz que presenta el formulario realizaremos varios cambios, éstos se realizan en vista de diseño. Cambiar el encabezado, incluir logo si se quiere Castellanizar los nombres de las etiquetas asociadas a los campos de la BD Además se establecerán las siguientes Propiedades en el formulario de Artículos: Selectores de registro = No Separadores de registro = No Índice de tabulación y Punto de tabulación (orden que sigue el cursor al rellenar los campos) Tipo recordset = Snapshot actualizable (permite consultar y actualizar la información. Se usará siempre en formularios de gestión de datos) Nº máx. registros = 1000 (máximo número de registros que se traen del servidor al cliente) Asignar formato moneda al campo precio unitario si éste no lo muestra directamente. Marta E. Zorrilla Pantaleón Bases de Datos - 09/10 2

Figura 1.2. Formulario de Artículos 2. Formulario Proveedores: Del mismo modo que artículos, se crea la vista GestionProveedores con todos los campos de la tabla. A continuación se realizarán las siguientes mejoras: Corregir convenientemente las etiquetas de encabezado y detalle del formulario. Tipo recordset = Snapshot actualizable (permite consultar y actualizar la información. Se usará siempre en formularios de gestión de datos) Crear cuadro combinado para el campo procepro (opción Cambiar a cuadro combinado). En propiedades carpeta Datos tipo origen de la fila = lista de valores y en origen de la fila = UE; No UE. Establer la propiedad Limitar a lista =si. Campo mailpro con propiedad Es hipervínculo = Sí (carpeta Todas). En los datos anteponer mailto: o http:// si queréis que se active el programa del correo o el navegador al pulsar sobre él. Campo código postal, se puede establecer la máscara de entrada = 00000;; (carpeta Datos). El cero indica número obligatorio y el 9, número opcional. Hay asistente para su definición. Campo teléfono y fax, también se les puede aplicar máscara si se quiere guardar el formato hay que tener en cuenta que los espacios y otros símbolos ocupan lugar por lo que hay que dimensionar el campo adecuadamente. Marta E. Zorrilla Pantaleón Bases de Datos - 09/10 3

Figura 1.3. Formulario de proveedores 3. Formulario Pedidos: Como este formulario requiere trabajar con dos tablas (pedidos y líneas) y presentar información adicional de las otras dos (proveedores y artículos) se crearán dos vistas con los datos que queremos que presente el formulario. Crear vistas EncabezadoPedido y DetallePedido como se muestra en la Figura 1.4 y Figura 1.5. Figura 1.4. Vista Encabezado del pedido Figura 1.5. Vista detalle del pedido Marta E. Zorrilla Pantaleón Bases de Datos - 09/10 4

Crear formulario con el asistente seleccionando ambas vistas. Access creará un formulario con un subformulario vinculados por el campo numped. En esta pantalla se realizarán varias modificaciones para que presente el aspecto de la Figura 1.6: a) Se ordenarán los campos (para moverlos hay que cortar y pegar). b) Para editar el subformulario, es mejor acceder a él directamente. c) Quitar la etiqueta del subformulario en el formulario pedido (propiedad anchura de la etiqueta=0 cm) d) Se comprobará si la fecha del pedido en el proceso de alta toma la fecha del día de la BD, si no asignar a la propiedad Valor predeterminado = Ahora(). e) Se creará un desplegable para el proveedor de forma que se facilite su elección. El cuadro combinado tendrá las siguientes propiedades: tipo origen de la fila = Tabla/Vista/ProcAlmacenado y Origen de la fila = SELECT codigpro, nombrpro FROM Proveedores, Columna dependiente = 1, Limitar a la lista=si, Permitir ediciones de la lista=no, Número de columnas = 2, Ancho de columnas = 2 cm; 6 cm, Ancho de lista=10 f) Se establecerá el campo del código del proveedor como el primer campo a rellenar (punto de tabulación = 0) g) Se bloquearán todos campos del proveedor, a excepción del código, para evitar que modifique esta información a través de esta pantalla. Además se quitará a estos campos el punto de tabulación para evitar que el cursor entre en el campo y cause malestar al usuario. h) Se establecerá el IVA al 16 por defecto (propiedad valor predeterminado). i) Se fijará en el formulario que la actualización de datos corresponde solo a la tabla pedidos (propiedad tabla única = pedidos). Esto se requiere siempre que nos apoyemos en una vista en la que participen campos de más de una tabla. Si no se establece así, la vista es de solo lectura. Figura 1.6. Formulario de Pedidos Marta E. Zorrilla Pantaleón Bases de Datos - 09/10 5

j) Se programará para que cuando se proceda al alta de un pedido se le asigne el siguiente número y la fecha prevista a 15 días de la fecha del pedido (ver procedimiento Form_BeforeInsert que se encuentra en el cuadro Código asociado al formulario de EncabezadoPedido ). k) Se establecerá el código VB restante del formulario a través de los eventos de los objetos que se indican en el cuadro siguiente, a excepción del botón Factura que se realizará con el asistente. Option Compare Database Private Sub btn_factura_click() 'Este código es creado por el Asistente para botones de comando. On Error GoTo Err_btn_factura_Click Dim stdocname As String stdocname = "Factura" DoCmd.OpenReport stdocname, acviewpreview,, "numped = " + CStr(Me.numped) Exit_btn_factura_Click: Exit Sub Err_btn_factura_Click: 'Si el usuario cancela la acción, no mostrar un mensaje de error. Const conerrdocmdcancelled = 2501 If (Err = conerrdocmdcancelled) Then Resume Exit_btn_factura_Click Else MsgBox Err.Description Resume Exit_btn_factura_Click End If End Sub Private Sub codigpro_beforeupdate(cancel As Integer) 'Muestra un mensaje si el cuadro combinado proveedor está en blanco. Dim strmsg As String, strtitle As String Dim intstyle As Integer If IsNull(Me!codigpro) Or trim(me!codigpro) = "" Then strmsg = "Debe elegir un valor de la lista Proveedor." strtitle = "Proveedor requerido... " intstyle = vbokonly MsgBox strmsg, intstyle, strtitle Cancel = True End If End Sub Marta E. Zorrilla Pantaleón Bases de Datos - 09/10 6

Private Sub Form_BeforeInsert(Cancel As Integer) If IsNull(Me!fentrped) Then Me!fentrped = DateAdd("d", 15, Now()) End If If IsNull(Me!numped) Then Me!numped = DMax("[numped]", "pedidos", "[numped]>0") + 1 End If Me!codigpro.SetFocus End Sub Código asociado al formulario de EncabezadoPedido En el subformulario DetalleLineas: a) Se establecerá un cuadro combinado para localizar el artículo (del mismo modo que en el proveedor pero en este caso vinculando el código y ocultándolo, es decir, que el tamaño de la primera columna sea 0 y el número de columnas sea 2). b) Se establecerá el artículo como primer campo a rellenar (punto de tabulación=0), dejando al número de línea y el importe por línea sin él. c) Se asignará el precio del artículo en la línea con el precio que tiene éste en la tabla de artículos y se establecerá en automático el número siguiente de línea que le aplique al pedido (procedimiento codigart_afterupdate). d) Se ocultará el campo numped. e) Se pondrá el formato moneda y un número decimal al campo precio y al campo total por línea. f) Se ocultarán los botones de desplazamiento. Option Compare Database Private Sub codigart_afterupdate() On Error GoTo Err_Codigart_AfterUpdate Dim strfilter As String If IsNull(preunlin) Then strfilter = "codigart = " & trim(me!codigart) Me!preunlin = DLookup("preunart", "articulos", strfilter) End If If IsNull(Me!numlin) Then Me!numlin = IIf(IsNull(DMax("numlin", "lineas", "numped=" & Form_EncabezadoPedido.numped)), 1, DMax("numlin", "lineas", "numped=" & Form_EncabezadoPedido.numped) + 1) End If Exit_Codigart_AfterUpdate: Exit Sub Err_Codigart_AfterUpdate: MsgBox Err.Description Resume Exit_Codigart_AfterUpdate End Sub Código asociado al formulario de DetallePedido Marta E. Zorrilla Pantaleón Bases de Datos - 09/10 7

En el formulario EncabezadoPedido: g) A continuación, se creará un campo calculado que presente el valor del pedido completo. Para ello se creará un campo de texto y se indicará en la propiedad origen del control = [DetallePedido Subformulario].[Formulario]![ImporteNeto] * (1+[ivaped]/100) donde ImporteNeto será un campo del pie del subformulario que hace la suma del importe por línea (ImporteNeto = Suma([totallin] ). Ver Figura 1.7 h) Si la factura se sale de márgenes, pre-visualizarla y cambiarla a formato horizontal. Figura 1.7. Formulario de Pedidos en vista de diseño i) Por último, se creará el botón de imprimir Factura. Este visualizará la factura del pedido que se muestra en pantalla (debe crearse el informe previamente). Esto se le indicará al informe por código según se muestra en el evento clic de este botón btn_factura_click. Marta E. Zorrilla Pantaleón Bases de Datos - 09/10 8

Informes Para crear informes se deben realizar consultas/vistas o bien procedimientos almacenados que devuelvan los datos que se solicitan. Se harán tres ejemplos: dos con vistas, Lista de todos los artículos y la factura del pedido y otro con procedimiento almacenado, Compras a proveedores por año. El Informe Catálogo de artículos, ver Figura 1.8, recoge todos los datos de la vista GestionArticulos. Se crea seleccionando la vista y pulsando sobre el botón Informe en menú Diseño. A continuación, se edita para modificar las etiquetas, añadir el logo y quitar la suma de precios total porque ésta no tiene sentido. En general Access genera campos de resumen (totales, avg, etc.) sobre atributos de la BD que sean numéricos. Figura 1.8. Informe Catálogo de artículos El Informe Factura se apoya en la consulta Factura que se muestra en la Figura 1.9. Fijaos que se añade una campo calculado que se obtiene de ejecutar la función almacenada Calcular_Pedido. Se generará el informe y en vista de diseño se colocará la información al gusto del usuario, ver Figura 1.10, de forma que por un lado estén los datos del encabezado y por otro los de la línea. Nótese que aparece el encabezado de grupo numped por el que la información que se presenta en esa zona sólo se muestra una vez por cada número de pedido (numped) distinto, mientras que en detalle se presenta cada fila devuelta por el Select. Marta E. Zorrilla Pantaleón Bases de Datos - 09/10 9

Figura 1.9. Vista para obtener las facturas Figura 1.10. Informe Factura en vista de diseño Marta E. Zorrilla Pantaleón Bases de Datos - 09/10 10

El Informe de proveedores por año, se apoya en un procedimiento almacenado Compras_por_año_proveedor que se presenta a continuación. Este tiene dos parámetros de entrada: fecha de inicio y de fin, por lo que para su ejecución será necesario pasarle dos valores. Esto se hará con un formulario específico. create Procedure "Compras_por_Año_Proveedor" @FechaInicio datetime, @FechaFin datetime AS SELECT Proveedores.nombrpro, DATENAME(yy,fechaped) as año, sum(dbo.calcular_pedido(numped)) as Importe FROM Pedidos,Proveedores WHERE Pedidos.codigpro = Proveedores.codigpro and Pedidos.fechaped Between @FechaInicio And @FechaFin Group by Proveedores.nombrpro, DATENAME(yy,fechaped) order by proveedores.nombrpro Este formulario tendrá dos campos que les denominaremos [fecha_ini] y [fecha_fin] (propiedad Nombre ) y un botón que al ser pulsado llamará al informe creado previamente Compras_por_Año_proveedor. Figura 1.11. Formulario para el informe Compras por año proveedor El informe creado con el asistente Compras_Por_Año_Proveedor tiene el aspecto que muestra la Figura 1.12. Se crea utilizando el asistente. Figura 1.12. Informe Compras por año proveedor en vista de diseño Marta E. Zorrilla Pantaleón Bases de Datos - 09/10 11

Seleccionando el informe y accediendo a la propiedad input parameters de la carpeta Datos, se pondrá el siguiente texto, para que al abrise tome como parámetros de entrada los indicados en el formulario creado: @FechaInicio datetime = Forms![ComprasPorAñoProveedor]![Fecha_ini], @FechaFin datetime = Forms![ComprasPorAñoProveedor]![fecha_fin] La propiedad InputParameters se utiliza para especificar o determinar los parámetros de entrada que se pasan a una instrucción SQL de la propiedad OrigenDelRegistro (RecordSource) de un formulario o informe o un procedimiento almacenado cuando se utiliza como el origen de registros de un formulario o informe dentro de un proyecto de Microsoft Access (.ADP). Pantalla principal Se creará una pantalla principal con los botones que permiten acceder a las distintas opciones de menú como se muestra en la Figura 1.13. Se partirá de un formulario en blanco al cual se le añadirán los botones de acción que permitan acceder a los formularios e informes programados. Figura 1.13. Formulario principal Barra de herramientas y personalización de la Aplicación A continuación se creará una barra de herramientas con las opciones necesarias para la gestión de datos: insertar y borrar datos pues modificar se realiza directamente sobre el registro que se muestra en la pantalla y buscar utilizando la opción de filtro por formulario con establecer filtro y quitar filtro o su alternativa de filtro de servidor por formulario y aplicar filtro de servidor. Se elegirá una u otra en función de si se decide traer directamente los datos o solicitar previamente una condición de búsqueda con idea de reducir el tráfico de datos por la red (aplicaciones cliente/servidor). Para realizar esto último se debe establecer a Sí la propiedad de formulario Filtro de Servidor por Formulario. Los pasos para configurar Office Access 2007 con estas características son: Marta E. Zorrilla Pantaleón Bases de Datos - 09/10 12

1. Haga clic en el botón de Microsoft Office y, a continuación, haga clic en Opciones de Access (Figura 1.14). 2. En el cuadro de diálogo Opciones de Access, haga clic en Base de datos actual y de título a la aplicación y asigne el formulario MENU como formulario de INICIO (Figura 1.15) 3. A continuación seleccione Personalizar para configurar la barra de herramientas de acceso rápido con las opciones de insertar y eliminar registro y filtro por formulario y aplicar filtro. Asegurarse de seleccionar la BD actual. (Figura 1.16). A continuación indicar que se muestre debajo de la cinta de opciones (si se quiere). Figura 1.14. Opciones de Access Marta E. Zorrilla Pantaleón Bases de Datos - 09/10 13

Figura 1.15. Personalización de la aplicación Figura 1.16. Barra de herramientas para la aplicación Marta E. Zorrilla Pantaleón Bases de Datos - 09/10 14

Por último, para ejecutar la aplicación sin que los usuarios entre en el entorno de Access, se debe cambiar la extensión a.accdr (runtime). Para abrir en modo diseño el proyecto Access y que no tenga en cuenta las opciones indicadas en la personalización, se debe pulsar doble clic sobre el fichero Access al tiempo que se tiene pulsada la tecla de mayúsculas. Gestión de errores En los formularios, los errores que provienen del gestor, cuando se atenta contra la estructura, deben ser traducidos. Esto se puede realizar utilizando el evento Error y sustituyendo el mensaje que muestra en inglés por otro en castellano. Lamentablemente no se puede capturar el mensaje original, para ello habría que realizar toda la programación vía OLEDB en vez de utilizar las vinculaciones que ofrecen los asistentes. Los mensajes de los disparadores se muestran tal y como se escribieron en el trigger. A continuación se muestra un ejemplo para el formulario GestiónArtículos. Private Sub Form_Error(DataErr As Integer, Response As Integer) Const conduplicatekey = 3022 Const conpk = 2627 Const conrequired = 515 Dim strmsg As String If DataErr = conduplicatekey Then Response = acdataerrcontinue 'sustituir msg de error strmsg = "El código del artículo debe ser único. Comprueba los datos." MsgBox strmsg ElseIf DataErr = conrequired Then Response = acdataerrcontinue strmsg = "Todos los campos son obligatorios excepto la fecha de baja." MsgBox strmsg ElseIf DataErr = conpk Then Response = acdataerrcontinue strmsg = "Código de artículo existente" MsgBox strmsg Else Response = acdataerrdisplay 'mostrar el msg de error End If End Sub Marta E. Zorrilla Pantaleón Bases de Datos - 09/10 15

HASTA AQUÍ lo otro antiguo Añadir gestión de eventos y envío de mail?? Mirar cómo se recogen los errores de articulos caducados Mejoras en el formulario que gestiona los pedidos La gestión de pedidos no queda completa sino se registra la mercancía cuando esta llega al almacén. Para ello se propone como una alternativa la creación de un formulario Entradas que recoja todos los campos de la tabla y que se invoque por medio de un botón que se cree en el subformulario de líneas. De este modo, el usuario final localiza el pedido y para cada línea de pedido, indica las unidades de entrada. El aspecto que presenta el formulario es el que se muestra en la Fig. 1.16. Figura 1.17. Formulario para la gestión de pedidos y entradas Por otra parte, con objeto de visualizar y poder consultar si el pedido está completo o no, se crea una función PedidoTerminado que verifica si se han recepcionado todas las unidades de cada línea y se añade su consulta a la vista EncabezadoPedido del siguiente modo: CREATE VIEW dbo.encabezadopedido AS SELECT dbo.pedidos.numped, dbo.pedidos.codigpro, dbo.pedidos.ivaped, dbo.pedidos.fechaped, dbo.pedidos.fentrped, dbo.proveedores.cifpro, dbo.proveedores.nombrpro, dbo.proveedores.direcpro, dbo.proveedores.cpostpro, dbo.proveedores.localpro,dbo.proveedores.telefpro, Marta E. Zorrilla Pantaleón Bases de Datos - 09/10 16

dbo.proveedores.emailpro, dbo.proveedores.faxpro, dbo.proveedores.procepro, CASE dbo.pedidoterminado(dbo.pedidos.numped) WHEN 0 THEN 'Pendiente' WHEN 1 THEN 'Recepcionado' END AS recepcionado FROM dbo.pedidos INNER JOIN dbo.proveedores ON dbo.pedidos.codigpro = dbo.proveedores.codigpro El código Visual Basic que se requiere para la gestión de esta pantalla se encuentra en el proyecto compras.adp que se ofrece en clase. Marta E. Zorrilla Pantaleón Bases de Datos - 09/10 17