Vous êtes sur la page 1sur 92

MONOGRAFA SOBRE EL DESARROLLO DE SISTEMA INFORMTICO PARA VENTA DE PRODUCTOS DE CMPUTO

ASESOR Ing. Hobby Saavedra Rosas

DICIEMBRE 2012 TRUJILLO - PER

AGRADECIMIENTOS:

En primer lugar a Dios todo poderoso que me ha permitido llegar hasta aqu, que me dio la bendicin de culminar mis estudios superiores.

A mis padres, a quienes le debo este logro, quien siempre me apoyo desde el inicio de mi carrera, tanto en lo econmico, como en lo moral.

A mis compaeros de estudios y a mis compaeros de trabajo, asesor, amigos y todas las personas que han credo en m, y que de una u otra forma han ayudado a la finalizacin de este trabajo

A todas las dems personas que no fueron citadas, pero que de

alguna

manera directa o indirecta contribuyeron a la realizacin de este trabajo.

ii

RESUMEN
El desarrollo de un programa computarizado optimiza el tiempo, sistematizar la labor del usuario, especialmente desarrollado para un anlisis rpido y eficaz. Pretende primordialmente esta monografa disear e implementar un sistema informtico de Escritorio, destinado a la venta de Productos de cmputo, con la finalidad de mantener la informacin centralizada y almacenada en una base de datos y a partir de ellos poder realizar consultas y reportes, para brindar informacin a los clientes sobre los precios y productos que cuenta una empresa que se dedica a la venta de productos de cmputo. Para el desarrollo del sistema informtico se ha empleado como soporte de base de datos a Microsoft Access 2010 y lenguaje de programacin Visual Basic. Net. Como fuentes de datos se han consultado tanto fuentes de internet como bibliografa de las universidades locales. Finalmente se dise e implemento satisfactoriamente dicho sistema, que permite el mantenimiento de clientes, productos, proveedores; as como tambin permite generar el pedido y realizar la respectiva venta. Adems dicho sistema genera los reportes, los cuales pueden ser exportados en formato pdf, xls o Word, para su posterior uso. En este trabajo se muestra paso a paso el diseo e implementacin, tanto de la base de datos como el cdigo fuente de dicho sistema. Se concluye que el sistema informtico es un instrumento til puesto que permite automatizar las bsquedas, por determinado campos, de cada entidad que conforman el sistema. Palabras claves: Sistema informtico, Base de Datos, Lenguaje de Programacin, Generacin de Reportes.

iii

INTRODUCCIN
El presenta trabajo pretende mostrar, la integracin de la tecnolgica .NET, en el desarrollo de un Sistema Informtico para la Venta de Productos de Cmputo, los cuales actualmente estn logrando un auge importante, debido a que hoy en da se maneja mayor cantidad de informacin y se requiere obtenerlo en el menor tiempo y generar a partir de ello ventajas competitivas, en las empresas dedicadas a este rubro. Para la elaboracin de este sistema informtico, se hizo uso del lenguaje de

programacin Visual Basic. Net, el cual nos va a permitir el diseo e implementacin de dicho software, en el aspecto sobre el almacenamiento de los datos, se hizo uso de Microsoft Access 2010, el cual permitir almacenar toda la informacin, y para los reportes se hizo uso de Cristal Reports, el cual permitir generar los informes.

La estructura de est monografa est conformada por tres captulos; Captulo I Marco Referencial, Captulo II Metodologa y Capitulo III Conclusiones, Recomendaciones y Trabajos futuros.

La parte medular de la monografa se ubica en el Captulo II, debido a que en ellos se presenta el diseo e implementacin tanto de la base de datos como de la aplicacin.

iv

INDICE DE IMGENES
Ilustracin 1: Funcionamiento Sistema Gestor de Base de Datos ........................................................... 9 Ilustracin 2: Niveles de Abstraccin de una Base de Datos ............................................................................ 11 Ilustracin 3: Estructura multicapa de las facilidades de usuario ........................................................... 13 Ilustracin 4: Entidad y Conjunto de Entidades ........................................................................................ 15 Ilustracin 5: Representacin de la Entidad Persona .............................................................................. 16 Ilustracin 6: Entidad Dbil ........................................................................................................................... 16 Ilustracin 7: Ejemplo de Relacin .............................................................................................................. 17 Ilustracin 8: Representacin Grfica de Relacin .................................................................................. 17 Ilustracin 9: Atributos de Entidad y Relacin ........................................................................................... 17 Ilustracin 10: Transformacin de Entidad a esquema Relacional ........................................................ 20 Ilustracin 11: Grafo Relacional .................................................................................................................. 20 Ilustracin 12: Esquema Relacional de Ms Access .................................................................................. 21 Ilustracin 13: .Net Framework .................................................................................................................... 26 Ilustracin 14: Modelo Lgico de Sistema Informtico ............................................................................ 28 Ilustracin 15: Modelo Entidad Relacin .................................................................................................... 30 Ilustracin 16: Entidades o Tablas .............................................................................................................. 31 Ilustracin 17: Modelo Relacional en Access ............................................................................................ 34 Ilustracin 18: Tabla Producto ..................................................................................................................... 34 Ilustracin 19: Tabla Cliente......................................................................................................................... 35 Ilustracin 20: Tabla Venta ........................................................................................................................... 35 Ilustracin 21: Tabla DetalleVenta .............................................................................................................. 36 Ilustracin 22: Tabla Proveedor ................................................................................................................... 36 Ilustracin 23: Tabla Usuario ....................................................................................................................... 36 Ilustracin 24: Formulario de Acceso al Sistema ...................................................................................... 37 Ilustracin 25: Cdigo Fuente Conexin Base Datos .............................................................................. 37 Ilustracin 26: Cdigo Fuente Formulario de Acesso .............................................................................. 38 Ilustracin 27: Formulario Principal del Sistema ....................................................................................... 38 Ilustracin 28: Cdigo Fuente Formulario Principal.................................................................................. 39 Ilustracin 29: Formulario Mantenimiento de Clientes ............................................................................. 40 Ilustracin 30: Elementos Formulario Mantenimiento Clientes ............................................................... 40 Ilustracin 31: Cdigo Fuente Formulario Mantenimiento de Clientes .................................................. 44 Ilustracin 32: Formulario Mantenimiento Productos ............................................................................... 44 Ilustracin 33: Cdigo Fuente Formulario Mantenimiento de Productos .............................................. 49 Ilustracin 34: Formulario Mantenimiento de Proveedor ......................................................................... 50 Ilustracin 35: Componentes de Formulario Mantenimiento de Proveedores ..................................... 50 Ilustracin 36: Cdigo Fuente Mantenimiento Proveedor ....................................................................... 53 Ilustracin 37: Componentes Formulario Mantenimiento de Usuarios .................................................. 54 Ilustracin 38: Cdigo Fuente Formulario Mantenimiento de Usuarios ................................................ 59 Ilustracin 39: Formulario de Bsqueda de Clientes ................................................................................ 59 Ilustracin 40: Componentes Formulario Bsqueda de Clientes ........................................................... 59 Ilustracin 41: Cdigo Fuente Formulario Consulta de Clientes ............................................................ 61 Ilustracin 42: Formulario Bsqueda de Productos .................................................................................. 61 Ilustracin 43: Cdigo Fuente Formulario Consulta de Clientes ............................................................ 63 Ilustracin 44: Formulario Bsqueda de Proveedores ............................................................................. 64

Ilustracin 45: Cdigo Fuente Formulario Consulta de Proveedores .................................................... 65 Ilustracin 46: Formulario Consulta de Ventas ......................................................................................... 66 Ilustracin 47: Cdigo Fuente Formulario Consulta de Ventas .............................................................. 67 Ilustracin 48: Formulario Bsqueda de Cliente para Ventas ................................................................. 68 Ilustracin 49: Cdigo de Fuente en el formulario Bsqueda de Cliente Ventas ................................. 69 Ilustracin 50: Formulario Bsqueda de Ventas ....................................................................................... 69 Ilustracin 51: Cdigo Fuente Formulario Bsqueda de Ventas ............................................................ 70 Ilustracin 52: Cdigo Fuente Formulario de Venta ................................................................................. 76 Ilustracin 53: Formulario de Reporte de Ventas ..................................................................................... 77 Ilustracin 54: Diseo de Reporte de Ventas ............................................................................................ 77 Ilustracin 55: Cdigo Fuente Formulario Reporte de Ventas ................................................................ 77 Ilustracin 56: Formulario Reporte de Clientes ......................................................................................... 78 Ilustracin 57: Diseo de Reporte de Clientes .......................................................................................... 78 Ilustracin 58: Cdigo Fuente Formulario Reporte de Clientes .............................................................. 78 Ilustracin 59: Formulario Reporte de Productos ..................................................................................... 79 Ilustracin 60: Diseo de Reporte de Productos ...................................................................................... 79 Ilustracin 61: Cdigo Fuente Formulario Reporte de Productos .......................................................... 79 Ilustracin 62: Formulario de Reporte de Proveedores ........................................................................... 80 Ilustracin 63: Diseo de Reporte de Proveedores .................................................................................. 80 Ilustracin 64: Cdigo Fuente en el Formulario Reporte de Proveedores ............................................ 80 Ilustracin 65: Manejo Formulario Acceso al Sistema ..................................................................................... 83 Ilustracin 66: Manejo Formulario Principal ............................................................................................... 83 Ilustracin 67: Manejo de Formulario Mantenimiento de Clientes ......................................................... 84 Ilustracin 68: Manejo de Formulario de Mantenimiento de Productos ................................................ 84 Ilustracin 69: Manejo de Formulario Mantenimiento de Proveedor ..................................................... 85 Ilustracin 70: Manejo Formulario Mantenimiento de Usuarios ............................................................. 85 Ilustracin 71: Manejo de Consulta de Clientes ........................................................................................ 86 Ilustracin 72: Manejo de Consulta de Proveedores................................................................................ 86 Ilustracin 73: Manejo de Consulta de Productos .................................................................................... 86 Ilustracin 74: Manejo de Consulta de Ventas por Cliente ..................................................................... 87 Ilustracin 75: Manejo de Pedido por Cliente ............................................................................................ 87 Ilustracin 76: Manejo de Gestin Pedido (Venta) ................................................................................... 88 Ilustracin 77: Manejo de Cliente que realiza Pedido .............................................................................. 88 Ilustracin 78: Manejo de Seleccin de Productos ................................................................................... 89 Ilustracin 79: Gestin del Pedido por Cliente .......................................................................................... 89 Ilustracin 80: Reporte de Clientes ............................................................................................................. 90 Ilustracin 81: Reporte de Productos ......................................................................................................... 90 Ilustracin 82: Reporte de Proveedores ..................................................................................................... 91 Ilustracin 83: Reporte de Ventas ............................................................................................................... 91 Ilustracin 84: Reporte de Facturas ............................................................................................................ 92

vi

INDICE DE TABLAS Tabla 1: Tabla de una Base Datos .............................................................................................. 19 Tabla 2: Tabla Clientes de una Base de Datos ......................................................................... 19 Tabla 3: Caractersticas del Software ......................................................................................... 30 Tabla 4: Descripcin Tabla Clientes ............................................................................................ 31 Tabla 5: Descripcin Tabla Producto .......................................................................................... 32 Tabla 6: Descripcin Tabla Usuario ............................................................................................ 32 Tabla 7: Descripcin Tabla Proveedor ........................................................................................ 33 Tabla 8: Descripcin Tabla Venta ................................................................................................ 33 Tabla 9: Descripcin Tabla DetalleVenta ................................................................................... 33 Tabla 10: Elementos del Formulario de Acceso ........................................................................ 37 Tabla 11: Elementos Formulario Principal.................................................................................. 39 Tabla 12: Componentes Formulario Mantenimiento de Productos ........................................ 45 Tabla 13: Componentes del Formulario Bsqueda de Productos .......................................... 62 Tabla 14: Componentes Formulario Bsqueda de Proveedores ............................................ 64 Tabla 15: Componentes Formulario Bsqueda de Ventas ...................................................... 66 Tabla 16: Componentes del Formulario Consulta de Clientes para Ventas ...................................... 68 Tabla 17: Componentes Formulario Bsqueda de Ventas ...................................................... 69 Tabla 18: Componentes Formulario Gestin de Pedido .......................................................... 71

vii

INDICE GENERAL
AGRADECIMIENTOS .........................................................................................................................ii RESUMEN..........................................................................................................................................iii INTRODUCCIN................................................................................................................................iv INDICE DE IMGENES ......................................................................................................................v INDICE DE TABLAS .........................................................................................................................vii

CAPITULO I ........................................................................................................................... 9 1. MARCO REFERENCIAL ................................................................................................ 9 1.1. SISTEMAS GESTORES DE BASES DE DATOS (SGBD).................................... 9 Definicin de SGBD........................................................................................ 9 Niveles de abstraccin de una base de datos .......................................... 10 Estructura Multicapa .................................................................................... 13 Modelos Conceptuales ................................................................................ 14 Modelos Lgicos .......................................................................................... 17 Principales Sistemas Gestores de Bases de Datos ................................. 21

1.1.1. 1.1.2. 1.1.3. 1.1.4. 1.1.5. 1.1.6. 1.2.

TECNOLOGA .NET .............................................................................................. 24 Visual Studio .Net 2010 ............................................................................... 24 .NET FRAMEWORK .................................................................................. 25

1.2.1. 1.2.2.

CAPITULO II ........................................................................................................................ 27 2. METODOLOGA ........................................................................................................... 27 2.1. 2.2. 2.3. 2.4. 2.5. 2.6. 2.7. 2.8. Visin .................................................................................................................... 27 Oportunidad de Negocio ..................................................................................... 27 Anlisis de beneficios ......................................................................................... 27 Modelo lgico de integracin de tecnologas en el Sistema informtico ..... 28 Descripcin de componentes ............................................................................ 28 Especificaciones Tcnicas ................................................................................. 29 Diseo e Implementacin de la Base de Datos del Sistema Informtico ..... 30 Diseo e implementacin del Sistema Informtico ......................................... 37

CAPITULO III ....................................................................................................................... 81 3. CONCLUSIONES Y RECOMENDACIONES ............................................................... 81

REFERENCIAS BIBLIOGRFICAS ................................................................................... 82 ANEXOS ............................................................................................................................... 83

CAPITULO I
1. MARCO REFERENCIAL 1.1. SISTEMAS GESTORES DE BASES DE DATOS (SGBD) 1.1.1. Definicin de SGBD Un sistema gestor de bases de datos o SGBD (aunque se suele utilizar ms a menudo las siglas DBMS procedentes del ingls, Data Base Management

System) es el software que permite a los usuarios procesar, describir, administrar y recuperar los datos almacenados en una base de datos. En estos Sistemas se proporciona un conjunto coordinado de programas,

procedimientos y lenguajes que permiten a los distintos usuarios realizar sus tareas habituales con los datos, garantizando adems la seguridad de los mismos.

Ilustracin 1: Funcionamiento Sistema Gestor de Base de Datos El xito del SGBD reside en mantener la seguridad e integridad de los datos. Lgicamente tiene que proporcionar herramientas a los distintos usuarios. Entre las herramientas que proporciona estn: Herramientas para la creacin y especificacin de los datos. As como la estructura de la base de datos. Herramientas para administrar y crear la estructura fsica requerida en las unidades de almacenamiento. Herramientas para la manipulacin de los datos de las bases de datos, para aadir, modificar, suprimir o consultar datos. Herramientas de recuperacin en caso de desastre Herramientas para la creacin de copias de seguridad 9

Herramientas para la gestin de la comunicacin de la base de datos Herramientas para la creacin de aplicaciones que utilicen esquemas externos de los datos Herramientas de instalacin de la base de datos Herramientas para la exportacin e importacin de datos

1.1.2. Niveles de abstraccin de una base de datos


En cualquier sistema de informacin se considera que se pueden observar los datos desde dos puntos de vista: Vista externa. Esta es la visin de los datos que poseen los usuarios del Sistema de Informacin. Vista fsica. Esta es la forma en la que realmente estn almacenados los datos. En un sistema orientado a procesos, los usuarios ven los datos desde las

aplicaciones creadas por los programadores. Esa vista pueden ser formularios, informes visuales o en papel. Pero la realidad fsica de esos datos, tal cual se almacenan en los discos queda oculta. Esa visin est reservada a los administradores. En el caso de los Sistemas de Base de datos, se aade una tercera vista, que es la vista conceptual. Esa vista se sita entre la fsica y la externa. Se habla pues en Bases de datos de la utilizacin de tres esquemas para representar los datos. 1.1.2.1. Esquema fsico

Representa la forma en la que estn almacenados los datos. Esta visin slo la requiere el administrador/a. El administrador la necesita para poder gestionar ms eficientemente la base de datos. 1.1.2.2. Esquema Conceptual

Se trata de un esquema terico de los datos en el que figuran organizados en estructuras reconocibles del mundo real y en el que tambin aparece la forma

10

de relacionarse los datos. Este esquema es el paso que permite modelar un problema real a su forma correspondiente en el ordenador. Este esquema es la base de datos de todos los dems. Como se ver ms adelante es el primer paso a realizar al crear una base de datos. El esquema conceptual lo realiza diseadores/as o analistas. 1.1.2.3. Esquema externo

Se trata de la visin de los datos que poseen los usuarios y usuarias finales. Esa visin es la que obtienen a travs de las aplicaciones. Las aplicaciones creadas por los desarrolladores abstraen la realidad conceptual de modo que el usuario no conoce las relaciones entre los datos, como tampoco conoce todos los datos que realmente se almacenan. Realmente cada aplicacin produce un esquema externo diferente (aunque algunos pueden coincidir) o vista de usuario. El conjunto de todas las vistas de usuario es lo que se denomina esquema externo global.

Ilustracin 2: Niveles de Abstraccin de una Base de Datos 1.1.2.4. Recursos Humanos de las Bases de Datos

11

Intervienen muchas personas en el desarrollo y manipulacin de una base de datos. Habamos seleccionado cuatro tipos de usuarios (administradores/as, desarrolladores, diseadores/as y usuarios/as). La clasificacin de estos usuarios es la siguiente: a. Informticos Lgicamente son los profesionales que definen y preparan la base de datos. Pueden ser:

Directivos/as. Organizadores y coordinadores del proyecto a desarrollar y mximos responsables del mismo. Esto significa que son los encargados de decidir los recursos que se pueden utilizar, planificar el tiempo y las tareas, la atencin al usuario y de dirigir las entrevistas y reuniones pertinentes.

Analistas. Son los encargados de controlar el desarrollo de la base de datos aprobada por la direccin. Normalmente son adems los diseadores de la base de datos (especialmente de los esquemas interno y conceptual) y los directores de la programacin de la misma.

Administradores/as de las bases de datos. Encargados de crear el esquema interno de la base de datos, que incluye la planificacin de copia de seguridad, gestin de usuarios y permisos y creacin de los objetos de la base de datos.

Desarrolladores/as o programadores/as. Encargados de la realizacin de las aplicaciones de usuario de la base de datos. Equipo de mantenimiento. Encargados de dar soporte a los usuarios en el trabajo diario (suelen incorporar adems tareas creacin de copias de seguridad por

administrativas como la

ejemplo o el arreglo de problemas de red por ejemplo). b. Usuarios

12

Expertos/as. Utilizan el lenguaje de manipulacin de datos (DML) para acceder a la base de datos. Son usuarios que utilizan la base de datos para gestin avanzada de decisiones.

Habituales.

Utilizan

las

aplicaciones

creadas

por

los

desarrolladores para consultar y actualizar los datos. Son los que trabajan en la empresa a diario con estas herramientas y el objetivo fundamental de todo el desarrollo de la base de datos. Ocasionales. Son usuarios que utilizan un acceso mnimo a la base de datos a travs de una aplicacin que permite consultar ciertos datos. Seran por ejemplo los usuarios que consultan el horario de trenes a travs de Internet.

1.1.3. Estructura Multicapa


El proceso que realiza un SGBD est en realidad formado por varias capas que actan como interfaces entre el usuario y los datos. Fue el propio organismo ANSI (en su modelo X3/SPARC que luego se comenta) la que introdujo una mejora de su modelo de bases de datos en 1988 a travs de un grupo de trabajo llamado UFTG (User Facilities Task Group, grupo de trabajo para las facilidades de usuario).

. Ilustracin 3: Estructura multicapa de las facilidades de usuario

13

Este modelo toma como objeto principal al usuario habitual de la base de datos y modela el funcionamiento de la base de datos en una sucesin de capas cuya finalidad es ocultar y proteger la parte interna de las bases de datos Desde esta ptica para llegar a los datos hay que pasar una serie de capas que desde la parte ms externa poco a poco van entrando ms en la realidad fsica de la base de datos.

1.1.4. Modelos Conceptuales a. Modelo Entidad Relacin


Ya hemos visto anteriormente que existen varios esquemas a realizar para poder representar en forma de base de datos informtica un problema

procedente del ordenador. En 1976 y 1977 dos artculos de Peter P. Chen presentan un modelo para realizar esquemas que posean una visin unificada de los datos. Este modelo es el modelo entidad/interrelacin (entity/relationship en ingls) que

actualmente se conoce ms con el nombre de entidad/relacin (Modelo E/R o ME/R, en ingls E/RM). Posteriormente otros autores han aadido mejoras a este modelo lo que ha producido una familia de modelos. La ms aceptada actualmente es el modelo entidad/relacin extendido (ERE) que complementa algunas

carencias del modelo original. No obstante las diversas variantes del modelo hacen que la representacin de este modelo no sea muy estndar, aunque hay ideas muy comunes a todas las variantes.

b. Componentes del Modelo Entidad Relacin Entidad.


Se trata de cualquier objeto u elemento (real o abstracto) acerca del cual se pueda almacenar informacin en la base de datos. Es

14

decir cualquier elemento informativo que tenga importancia para una base de datos. Ejemplos de entidades son Pedro, la factura nmero 32456, el coche matrcula 3452BCW, etc. Una entidad no es un propiedad concreta sino un objeto que puede poseer mltiples propiedades (atributos). Es decir Snchez es el contenido del atributo Primer Apellido de la entidad que representa a la persona Pedro

Snchez Crespo con DNI 12766374. Una entidad es un objeto concreto, no un simple dato: el coche que tenemos en el garaje es una entidad, Mercedes sin embargo es la marca de ese coche, es decir es un atributo de esa entidad.

Ilustracin 4: Entidad y Conjunto de Entidades En la actualidad se suele llamar entidad a lo que anteriormente se ha definido como conjunto de entidades. De este modo PERSONAS. Mientras que cada

hablaramos de la entidad

persona en concreto sera una ocurrencia o un ejemplar de la entidad persona. Representacin Grfica

15

En el modelo entidad relacin los conjuntos de entidades se representan con un rectngulo dentro del cual se

escribe el nombre de la entidad:

Ilustracin 5: Representacin de la Entidad Persona Tipos de Entidades Regulares. Son las entidades normales que tienen existencia por s mismas sin depender de otras. Su representacin grfica es la indicada arriba Dbiles. Su existencia depende de otras. Es decir e. Por ejemplo la entidad tarea laboral slo podr tener existencia si existe la entidad trabajo. Las entidades dbiles se presentan de esta forma:

Ilustracin 6: Entidad Dbil

Relacin Representan asociaciones entre entidades. Es el elemento del modelo que permite relacionar en s los datos del mismo. Por ejemplo, en el caso de que tengamos una entidad personas y otra entidad trabajos. Ambas se realizan ya que las personas trabajan y los trabajos son realizados por personas:

16

Ilustracin 7: Ejemplo de Relacin

Representacin Grfica

Ilustracin 8: Representacin Grfica de Relacin

Atributos Describen propiedades de las entidades y las relaciones. En este modelo se representan con elipses, dentro de las cuales se coloca el nombre del atributo. Esa elipse se une con una lnea a las entidades. Ejemplo:

Ilustracin 9: Atributos de Entidad y Relacin

1.1.5. Modelos Lgicos


17

a. Modelo Relacional
Edgar Frank Codd defini las bases del modelo relacional a finales de los 60. En 1970 publica el documento A Relational Model of data for Large Shared Data Banks (Un modelo relacional de datos para grandes bancos de datos compartidos). Actualmente se considera que ese es uno de los documentos ms influyentes de toda la historia de la informtica. Lo es porque en l se definieron las bases del llamado Modelo Relacional de Bases de Datos. Anteriormente el nico modelo terico estandarizado era el Codasyl que se utiliz masivamente en los aos 70 como paradigma del modelo en red de bases de datos. Codd se apoya en los trabajos de los matemticos Cantor y Childs (cuya teora de conjuntos es la verdadera base del modelo relacional). Segn Codd los datos se agrupan en relaciones (actualmente llamadas tablas) que es un concepto que se refiere a la estructura que aglutina datos referidos a una misma entidad de forma independiente respecto a su almacenamiento fsico. Lo que Codd intentaba fundamentalmente es evitar que las usuarias y usuarios de la base de datos tuvieran que verse obligadas a aprender los entresijos internos del sistema. Pretenda que los usuarios/as trabajaran de forma sencilla e independiente del funcionamiento fsico de la base de datos en s. Fue un enfoque revolucionario.

b. Relacin o Tabla
Segn el modelo relacional (desde que Codd lo enunci) el elemento fundamental es lo que se conoce como relacin, aunque ms habitualmente se le llama tabla (o tambin array o matriz). Codd defini las relaciones

utilizando un lenguaje matemtico, pero se pueden asociar a la idea de tabla (de filas y columnas) ya que es ms fcil de entender. No hay que confundir la idea de relacin segn el modelo de Codd, con lo que significa una relacin en el modelo Entidad/Relacin de Chen. No tienen nada que ver Las relaciones constan de: Atributos. Referido a cada propiedad de los datos que se almacenan en la relacin (nombre, dni,...).

18

Tuplas. Referido a cada elemento de la relacin. Por ejemplo si una relacin almacena personas, una tupla representara a una persona en concreto.

Puesto que una relacin se representa como una tabla; podemos entender que las columnas de la tabla son los atributos; y las filas, las tuplas.

Tabla 1: Tabla de una Base Datos Ejemplo real de relacin o tabla clientes.

Tabla 2: Tabla Clientes de una Base de Datos

c. Paso de Entidad Relacin a Modelo Relacional Transformacin de las Entidades En principio las entidades fuertes del modelo Entidad Relacin son transformadas al modelo relacional siguiendo estas instrucciones: Entidades. Las entidades pasan a ser tablas Atributos. Los atributos pasan a ser columnas o atributos de la tabla. Identificadores principales. Pasan a ser claves primarias Identificadores candidatos. Pasan a ser claves candidatas. Esto hace que la transformacin se produzca segn este ejemplo:
19

Ilustracin 10: Transformacin de Entidad a esquema Relacional

Grafos Relacionales Es un esquema relacional en el que hay lneas que enlazan las claves principales con las claves secundarias para representar

mejor las relaciones. A veces se representa en forma de nodos de grafos y otras se complementa el clsico. Ejemplo:

Ilustracin 11: Grafo Relacional

d. Esquemas Relacionales Se ha hecho muy popular la forma de presentar esquemas relacionales del programa Microsoft Access.

20

Ilustracin 12: Esquema Relacional de Ms Access

1.1.6. Principales Sistemas Gestores de Bases de Datos 1.1.6.1. SGBD de cdigo Abierto (Libres)

a. MySQL
MySQL es un sistema gestor de bases de datos que se puede encuadrar dentro de la categora de los programas open-source. Aparte de las caractersticas que definen MySQL como programa open-source, existen aspectos que lo diferencian de otros productos como, por citar uno conocido, Access. Los atributos a los que hacemos referencia son: Posibilidad de crear y configurar usuarios, asignando a cada uno de ellos permisos diferentes. Facilidad de exportacin e importacin de datos, incluso de la base de datos completa. Posibilidad de ejecutar conjuntos de instrucciones guardadas en ficheros externos a la base de datos.

21

MySQL es muy utilizado en aplicaciones web, como Drupal o phpBB, en plataformas (Linux/Windows-Apache-MySQL-

PHP/Perl/Python), y por herramientas de seguimiento de errores como Bugzilla. Su popularidad como aplicacin web est muy ligada a PHP, que a menudo aparece en combinacin con MySQL. MySQL es una base de datos muy rpida en la lectura cuando utiliza el motor no transaccional MyISAM, pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificacin. En aplicaciones web hay baja concurrencia en la modificacin de datos y en cambio el entorno es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones. Sea cual sea el entorno en el que va a utilizar MySQL, es importante adelantar monitoreos sobre el desempeo para detectar y corregir errores tanto de SQL como de programacin.

b. POSTGRESQL
PostgreSQL es un sistema de gestin de base de datos relacional orientada a objetos y libre, publicado bajo la licencia BSD. Como muchos otros proyectos de cdigo abierto, el desarrollo de PostgreSQL no es manejado por una sola empresa sino que es dirigido por una comunidad de desarrolladores y organizaciones comerciales las cuales trabajan en su desarrollo. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group). Alta concurrencia Mediante un sistema denominado MVCC (Acceso concurrente multiversin, por sus siglas en ingls) PostgreSQL permite que mientras un proceso escribe en una tabla, otros accedan a la misma tabla sin necesidad de bloqueos. Cada usuario obtiene una visin consistente de lo ltimo a lo que se le hizo commit.

1.1.6.2.

SGBD Propietarios

a. MICROSOFT SQL SERVER

22

Es un motor de base de datos relacional, de libre descarga y distribucin, tanto para dispositivos mviles como para aplicaciones escritorio. Especialmente orientada a sistemas ocasionalmente conectados, ofrece unas caractersticas especialmente tiles para clientes ligeros. La versin ms reciente es SQL Server Compact 3.5 SP2. Anteriormente era conocida como SQL Server CE o SQL Server Mobile. Desde la versin 2.0, el lanzamiento de SQL Server Compact ha ido ligado al de Microsoft Visual Studio .NET.

Un motor de base de datos compacto y un slido optimizador de consultas.

Compatibilidad con la rplica de mezcla y el acceso a datos remotos (RDA).

Integracin con Microsoft SQL Server 2005. Las herramientas de administracin son Microsoft SQL Server Management Studio y SQL Server Management Studio Express.

Integracin con Microsoft Visual Studio 2005. Acceso a datos remotos y rplica de mezcla para sincronizar datos.

Microsoft Proveedor de datos .NET Framework y .NET Compact Framework para SQL Server Compact Edition

(System.Data.SqlServerCe).

Compatibilidad con Microsoft ADO.NET y el proveedor de OLE DB para SQL Server Compact Edition.

Un subconjunto de sintaxis SQL. Se implementa como una base de datos incrustada en equipos de escritorio, dispositivos mviles y Tablet PC.

b. MICROSOFT ACCESS
Microsoft Access 2010 se basa en la simplicidad, con plantillas listas para que empiece a trabajar y herramientas eficaces para 23

mantenerse al da a medida que los datos crecen. Access 2010 le otorga capacidades para aprovechar la informacin, incluso si no es experto en bases de datos. Adems, a travs de bases de datos web recin agregadas, Access ampla la eficacia de los datos, facilitando el seguimiento, la creacin de informes y el uso compartido con otras personas. Los datos nunca estarn ms all del explorador web ms cercano.

Posibilidad de ampliacin Sencillez Mltiples usuarios Escalabilidad

1.2. TECNOLOGA .NET 1.2.1. Visual Studio .Net 2010

Desde la primera versin de .NET Framework, los equipos de desarrollo de estos dos lenguajes han procurado marcar algunas diferencias entre ambos, siendo su intencin la de hacer de Visual Basic un lenguaje ms atractivo al desarrollador de aplicaciones de gestin, mientras que C# se pretenda dirigir a los programadores ms orientados hacia el desarrollo a ms bajo nivel: componentes, servicios, etc. Scott Wiltamuth, uno de los directores de la divisin de lenguajes de Visual Studio, menciona que llevar estos objetivos a la prctica result ms complicado de lo esperado, debido a la presencia de lo que l denomina poderosas fuerzas de unificacin que han propiciado un cambio de orientacin hacia el desarrollo en paralelo de funcionalidades para los dos lenguajes, como:

La existencia de un entorno de desarrollo integrado y bloques de construccin de aplicaciones comunes a ambos lenguajes.

La naturaleza orientada a objetos y el sistema de tipos comn a los dos lenguajes.

24

El hecho de que las principales reas de innovacin presente y futura en el desarrollo de los lenguajes se reflejan en partes exteriores de los mismos, como ocurre en el caso de LINQ.

A los elementos anteriores hay que aadir las demandas de las comunidades de desarrolladores, ya que los programadores de VB queran aquellas funcionalidades disponibles en C# de las que VB careca, y viceversa. Todo ello ha propiciado el cambio de estrategia que acabamos de mencionar, que tiene el claro objetivo de que, independientemente del lenguaje que utilicemos, podamos aprovechar toda la potencia que .NET Framework pone a nuestra disposicin.

1.2.2. .NET FRAMEWORK


.NET Framework es un entorno para construir, instalar y ejecutar servicios Web y otras aplicaciones. Se compone de tres partes principales: el Common Language Runtime, las clases Framework y ASP.NET El .NET Framework es el corazn de .NET, cualquier cosa que queramos hacer en cualquier lenguaje .NET debe pasar por el filtro cualquiera de las partes integrantes del .NET Framework.

El Common Lenguage Runtime (CLR) es una serie de libreras dinmicas (DLLs), tambin llamadas assemblies, que hacen las veces de las DLLs del API de Windows as como las libreras runtime de Visual Basic o C++. Como sabrs, y si no lo sabes ahora te lo cuento yo, cualquier ejecutable depende de una forma u otra de una serie de libreras, ya sea en tiempo de ejecucin como a la hora de la compilacin. Pues el CLR es eso, una serie de libreras usadas en tiempo de ejecucin para que nuestros ejecutables o cualquiera basado en .NET puedan funcionar. Se acab eso de que existan dos tipos de ejecutables: los que son autosuficientes y no dependen de libreras externas o los que necesitan de libreras en tiempo de ejecucin para poder funcionar, tal es el caso de las versiones anteriores de Visual Basic.

25

Por otro lado, la librera de clases de .NET Framework proporcionan una jerarqua de clases orientadas a objeto disponibles para cualquiera de los lenguajes basados en .NET, incluido el Visual Basic. Esto quiere decir que a partir de ahora Visual Basic ya no ser la "oveja negra" de los lenguajes de programacin, sino que tendr a su disposicin todas las clases disponibles para el resto de los lenguajes basados en .NET, (o casi), con lo cual slo nos diferenciar del resto de programadores en la forma de hacer las cosas: ms fciles!

VB.NET ahora es totalmente un lenguaje orientado a objetos con herencia y todo. Tambin permite crear Threads o hilos o tramas de ejecucin y otras cosas que antes nos estaban vetadas.

Ilustracin 13: .Net Framework

26

CAPITULO II
2. METODOLOGA FASE I: VISIN Y ALCANCE DEL PROYECTO 2.1. Visin
La visin de este trabajo es desarrollar un sistema informtico, que permita automatizar el proceso de venta de productos de cmputo, haciendo uso de la tecnologa .Net, descrita en el captulo anterior, as mismo del gestor de base de datos Microsoft Access.

2.2. Oportunidad de Negocio


En la actualidad las empresas dedicadas a las ventas necesitan automatizar sus procesos para ello necesitan contar con sistemas informticos que agilicen estos procesos, adems a cada momento se necesita informacin, los usuarios finales ya sean vendedores hacen uso de un sistema de ventas, para consultar precios y gestionar los pedidos, y finalmente entregar los informes. Pero existen an algunas empresas que todo este proceso no lo hacen de forma automtico sino ms bien, lo hacen de forma manual, y esto genera bastante incomodad en los clientes. La mayora de pequeas empresas tienen la nocin que este servicio cuesta bastante dinero, pero tienen que ver el lado positivo es decir la utilidad de contar con un sistema informtico dentro de su empresa.

2.3. Anlisis de beneficios


Los beneficios que se obtienen al desarrollar un sistema informtico para la gestin de ventas de una empresa de dedicada a la venta de artculos de cmputo, son los siguientes: Reduccin de costos y tiempo de desarrollo, debido a que en la actualidad se cuenta con herramientas tecnolgicas en nuestro caso se hizo uso de la tecnologa .Net, la cuales se pueden utilizar e integrar para obtener un producto a bajo costo. Reduccin del costo de mantenimiento, debido a que detrs de estas herramientas tecnolgicas .Net, existe bastante informacin en la web. Reduccin de costo de integracin, debido a que es factible integrarlo con otras herramientas que permitan aumentar el nivel de seguridad, ya que todas estas

27

herramientas se basan en los estndares que les permute poder trabajar en conjunto.

FASE II: PLANEAMIENTO 2.4. Modelo lgico de integracin de tecnologas en el Sistema informtico

Ilustracin 14: Modelo Lgico de Sistema Informtico

2.5. Descripcin de componentes 2.5.1. Clientes Son los usuarios que interactan con el sistema informtico, a travs de las GUI (Interfaz Grfica de Usuario), o mejor dicho ventanas, ya sea para enviar o recibir informacin. En nuestro caso los usuarios vienen a ser los administradores de la base de datos y los vendedores encargados de gestionar los pedidos. 2.5.2. Servidor de Aplicaciones En nuestro caso se trata del IDE, visual Studio 2010, que permite gestionar el cdigo fuente, ms aun el .net Framework, que es necesario para la ejecucin de la aplicacin en cualquier ordenador que cuente con dicho requerimiento. El lenguaje utilizado es visual Basic.Net. y el framework usado fue el 4.0. es decir en esta parte se gestiona toda la lgica del negocio, para permitir mostrar informacin al usuario final y
28

como tambin poder realizar consultas, insertar, actualizar, eliminar y reportar, todos los datos que se necesiten en algn momento determinado. 2.5.3. Servidor de Base de Datos En nuestro caso se encarga de gestionar toda la data, es decir almacenar el dispositivos secundarios, toda la informacin referente al proceso de venta de productos de computo, en este trabajo se hizo uso del Gestor Microsoft Access 2010, por su facilidad de integracin con Visual Studio .Net. En este gestor se implement nuestra base de datos. La cual ser podr ser accedida desde el servidor de aplicaciones que en este caso es el lenguaje de programacin visual Basic .Net, para ello hace uso del ADO.NET, que provee dicha tecnologa. FASE III: DESARROLLO E IMPLEMENTACIN 2.6. Especificaciones Tcnicas
Todos los componentes de nuestro sistema informtico fueron implementados usando la tecnologa .Net y ADO.Net, para poder gestionar toda la data.

2.6.1. Caractersticas del Hardware


El Hardware utilizado para la implementacin de los servidores, tiene las siguientes caractersticas: Fabricante del sistema: HP Pavillion Modelo del sistema: dv4 -1413la Tipo de sistema: PC basado en x32 Procesador: AMD Athlon x2 Dual-Core RAM: 3GB

El Hardware utilizado, por el cliente es el siguiente: Fabricante del sistema: TOSHIBA Modelo del sistema: Satellite SP 69836R Tipo de sistema: PC basado en x64 Procesador: Intel ( R) Centrino RAM: 4GB 29

2.6.2. Caractersticas del Software


A continuacin se detallara, cada de los componentes software utilizados, para la implementacin:

DESCRIPCIN
Sistema Operativo Lenguaje de Programacin IDE Sistema Gestor de Base de Datos Reportes

NOMBRE
Microsoft Windows Visual Basic .Net Visual Studio Microsott Access Crystal Reports

VERSIN
Windows 7 VB 10.0 2010 2010 Crystal Reports 14.0

Tabla 3: Caractersticas del Software

2.7. Diseo e Implementacin de la Base de Datos del Sistema Informtico 2.7.1. Modelo Entidad Relacin

Ilustracin 15: Modelo Entidad Relacin

2.7.2. Entidades o Tablas

30

Ilustracin 16: Entidades o Tablas

2.7.3. Diccionario de Datos


2.7.3.1. Tabla Clientes
Atributo Tipo de dato Tamao del campo Descripcin

codcliente

Autonumeracion

Entero Largo

Cdigo del Usuario , es un correlativo y es la PK (clave primaria) no permite valores nulos Nombre y Apellido completo del cliente, no permite valores nulos Direccin completa del cliente, no permite valores nulo El nmero del DNI del cliente, no permite valores nulos El nmero del telfono fijo o celular, no permite valores nulos

nombre

Texto

38

direccin

Texto

45

DNI

Texto

11

telfono

Texto

10

Tabla 4: Descripcin Tabla Clientes

31

2.7.3.2. Tabla Producto


Atributo Tipo de dato Tamao del campo Entero Largo Descripcin Cdigo del Producto, es un correlativo y es la PK (clave primaria) no permite valores nulos Nombre de la serie del producto, no permite valores nulos Nombre de la marca del producto, no permite valores nulo Nombre del Tipo del producto, no permite valores nulos Cantidad actual del producto en stock, no permite valores nulos Costo de cada Producto, no permite valores nulos Precio de venta de cada Producto, no permite valores nulos Se ingresa la fecha de la compra del Producto, no permite valores nulos Cdigo del Proveedor y es FK (clave externa) no permite valores nulos

codproducto

Numero

Serieproducto

Texto

80

Marca

Texto

20

Tipo

Texto

50

Stockactual

Numero

Entero Largo

PreCosto

Moneda

--

PreVenta

Moneda

--

FechActualizacion

Fecha/Hora

--

idProveedor

Numero

Entero Largo

Tabla 5: Descripcin Tabla Producto

2.7.3.3. Tabla Usuario


Atributo Tipo de dato Tamao del campo Entero Largo Descripcin Cdigo del Usuario , es un correlativo y es la PK (clave primaria) no permite valores nulos Tipo de Usuario (administrador / secretaria ), no permite valores nulos La clave del usuario, no permite valores nulo El nombre del usuario, no permite valores nulos El apellido del usuario, no permite valores nulos

Id

Autonumeracion

usuario clave nombre apellido

Texto Texto Texto Texto

255 255 255 255

Tabla 6: Descripcin Tabla Usuario

32

2.7.3.4. Tabla Proveedor


Atributo Tipo de dato Tamao del campo Entero Largo Descripcin Cdigo del Proveedor , es un correlativo y es la PK (clave primaria) no permite valores nulos El nmero del RUC del Proveedor, no permite valores nulos Nombre de la empresa del proveedor, no permite valores nulo Telfono de la empresa del proveedor, no permite valores nulos Direccin de la empresa, no permite valores nulos

codproveedor

Numero

rucproveedor

Texto

12

nombre

Texto

30

telfono

Texto

10

direccin

Texto

50

Tabla 7: Descripcin Tabla Proveedor 2.7.3.5. Tabla Venta


Atributo Tipo de dato Tamao del campo Entero Largo Descripcin Cdigo de la tabla venta , es un correlativo y es la PK (clave primaria) no permite valores nulos Cdigo del Cliente y es FK (clave externa) no permite valores nulos La fecha de la salida de la venta, no permite valores nulo El IGV del producto a la venta, no permite valores nulos El precio total de la venta, no permite valores nulos

IdVenta

Numero

idCliente

Texto

255

fechaVenta igv Total

Fecha/Hora Numero Numero

-Decimal Decimal

Tabla 8: Descripcin Tabla Venta 2.7.3.6. Tabla DetalleVenta


Atributo Tipo de dato Tamao del campo Entero Largo Entero Largo Descripcin Cdigo del Usuario , es un correlativo y es la PK (clave primaria) no permite valores nulos Cdigo del Producto y es FK (clave externa) no permite valores nulos La cantidad de productos vendidos, no permite valores nulo El precio del producto vendido, no permite valores nulos

IdVenta idProducto

Numero Numero

Cantidad precioVenta

Numero Numero

Entero Largo Decimal

Tabla 9: Descripcin Tabla DetalleVenta 33

2.7.4. Modelo Relacional en Microsoft Access

Ilustracin 17: Modelo Relacional en Access

2.7.4.1.

Producto

Ilustracin 18: Tabla Producto

34

2.7.4.2.

Cliente

Ilustracin 19: Tabla Cliente

2.7.4.3.

Venta

Ilustracin 20: Tabla Venta

35

2.7.4.4.

DetalleVenta

Ilustracin 21: Tabla DetalleVenta

2.7.4.5.

Proveedor

Ilustracin 22: Tabla Proveedor

2.7.4.6.

Usuario

Ilustracin 23: Tabla Usuario

36

2.8. Diseo e implementacin del Sistema Informtico 2.8.1. Diseo del formulario de Acceso al Sistema (FrmLogin)

Ilustracin 24: Formulario de Acceso al Sistema a. Elementos utilizados Tipo de Control ComboBox Label Nombre Asignado cboUsuario lblUusuario lblPasssword TextBox txtPasword Button btnEntrar btnCancelar PictureBox pbUsuario Tabla 10: Elementos del Formulario de Acceso

Usamos un cuadro combinado para elegir el Usuario con cual vamos a ingresar al sistema. Usamos una caja de texto donde se ingresar el Password respectivo de cada usuario Usaremos un botn llamado ENTRAR en donde accederemos a nuestro proyecto Usaremos un botn SALIR sirve para cancelar el proceso de acceso

b. Mdulo de Conexin a la Base de Datos Venta de Computadoras

Ilustracin 25: Cdigo Fuente Conexin Base Datos 37

c. Codificacin del Formulario de Acceso (FrmLogin)

Ilustracin 26: Cdigo Fuente Formulario de Acesso

2.8.2. Formulario Principal (MDIPrincipal) a. Diseo del formulario Principal

Ilustracin 27: Formulario Principal del Sistema 38

b. Elementos utilizados
Nombre Asignado mnuPrincipal Clientes Producto Proveedor Venta Usuario Consultas Clientes Producto Proveedor Venta Usuario Movimientos Ventas Reportes Clientes Producto Proveedor Venta Usuario Tabla 11: Elementos Formulario Principal Tipo de Control MenuStrip Mantenimiento

c. Codificacin en el Formulario Principal (MDIPrincipal)

Ilustracin 28: Cdigo Fuente Formulario Principal 39

2.8.3. Formulario de Mantenimiento de Clientes a. Diseo de Formulario (FrmMantClientes)

Ilustracin 29: Formulario Mantenimiento de Clientes

b. Elemento utilizados
Tipo de control TextBox Nombre txtCodigo txtNombres txtDireccion txtDNI txtTelefono btnNuevo btnGuardar btnBuscar btnModificar btnEliminar btnCancelar btnSalir dgvClientes gbDatosClientes gbOpciones lblTitulo lblListClientes

Button

DataGridView GroupBox Label

Ilustracin 30: Elementos Formulario Mantenimiento Clientes

40

c. Cdigo Fuente en el Formulario Mantenimiento de Clientes

41

42

43

Ilustracin 31: Cdigo Fuente Formulario Mantenimiento de Clientes

2.8.4. Formulario de Mantenimiento de Productos a. Diseo de Formulario Mantenimiento de Productos

Ilustracin 32: Formulario Mantenimiento Productos

44

b. Elementos utilizados
Tipo de control TextBox Nombre txtCodigo txtSerie txtStockActual txtPreCosto txtPreVenta cboMarca cboCategoria cboProveedor dtpFechAct btnNuevo btnGuardar btnBuscar btnModificar btnEliminar btnCancelar btnSalir dgvProductos gbDatosProductos gbOpciones lblTitulo lblListProductos

ComboBox

DateTimePicker Button

DataGridView GroupBox Label

Tabla 12: Componentes Formulario Mantenimiento de Productos

c. Condigo fuente en el Formulario Mantenimiento Productos

45

46

47

48

Ilustracin 33: Cdigo Fuente Formulario Mantenimiento de Productos 49

2.8.5. Formulario Mantenimiento de Proveedores a. Diseo del formulario FrmMantProveedor

Ilustracin 34: Formulario Mantenimiento de Proveedor

b. Elementos utilizados
Tipo de control TextBox Nombre txtCodigo txtRUC txtSNombre txtTelefono txtDireccion btnNuevo btnGuardar btnBuscar btnModificar btnEliminar btnCancelar btnSalir dgvProveedor gbDatosProveedor gbOpciones lblTitulo lblListProveedor

Button

DataGridView GroupBox Label

Ilustracin 35: Componentes de Formulario Mantenimiento de Proveedores

50

c. Cdigo fuente del formulario FrmMantProveedor

51

52

Ilustracin 36: Cdigo Fuente Mantenimiento Proveedor 53

2.8.6. Formulario Mantenimiento de Usuarios a. Diseo del Formulario

b. Elementos utilizados
Tipo de control TextBox Nombre txtCodigo txtUsuario txtClave txtNombres txtApellidos btnNuevo btnGuardar btnBuscar btnModificar btnEliminar btnCancelar btnSalir dgvUsuarios gbDatosUsuarios gbOpciones lblTitulo lblListUsuarios

Button

DataGridView GroupBox Label

Ilustracin 37: Componentes Formulario Mantenimiento de Usuarios

c. Cdigo fuente del formulario FrmMantUsuarios


Imports System.Data Imports System.Data.OleDb Public Class FrmMantUsuarios Dim daCodUsu As OleDbDataAdapter Dim dr As DataRow ' Objeto DataRow

54

Dim registro As Integer Dim sw As Integer = 0 Dim ultimo As Integer Private Sub FrmMantUsuarios_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'cargar datagridview CargarDatos() 'cargar datos en las cajas de texto CargarDatosActualizados(0) habilitarControles(False) ActivarBotones(True, False, False, False, False) End Sub Sub ActivarBotones(ByVal bnuevo As Boolean, ByVal bagregar As Boolean, ByVal bactualizar As Boolean, ByVal beliminar As Boolean, ByVal bcancelar As Boolean) btnNuevo.Enabled = bnuevo btnAgregar.Enabled = bagregar btnActualizar.Enabled = bactualizar btnEliminar.Enabled = beliminar btnCancelar.Enabled = bcancelar End Sub Sub CargarDatos() daClientes = New OleDbDataAdapter("Select * from Usuario", conexion) dsClientes = New DataSet daClientes.Fill(dsClientes, "Cliente") ultimo = dsClientes.Tables("cliente").Rows.Count - 1 dgvUsuarios.DataSource = dsClientes.Tables(0).DefaultView ConfigurarDataGridView() End Sub Sub ConfigurarDataGridView() dgvUsuarios.DefaultCellStyle.BackColor = Color.LightGreen dgvUsuarios.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGoldenrodYellow End Sub Sub correlativo() Dim TblUsuarios As DataTable 'limpiarCliente() 'Limpiar los Controles daCodUsu = New OleDbDataAdapter("Select max(id) as codigo from usuario", conexion) daCodUsu.Fill(dsClientes, "codigousuario") TblUsuarios = dsClientes.Tables("codigousuario") Me.txtCodigo.Text = CInt(TblUsuarios.Rows(0).Item(0).ToString) + 1 TblUsuarios.Dispose() End Sub Sub limpiarUsuario() Me.txtUsuario.Clear() txtClave.Clear() txtNombres.Clear() txtApellidos.Clear() txtUsuario.Focus() End Sub Sub habilitarControles(ByVal estado As Boolean) Me.txtCodigo.Enabled = False Me.txtUsuario.Enabled = estado Me.txtClave.Enabled = estado Me.txtNombres.Enabled = estado Me.txtApellidos.Enabled = estado End Sub Sub Nuevo() Dim cad As String cad = "Insert into usuario values(@id,@usuario,@clave,@nombre,@apellidos)" If conexion.State = ConnectionState.Open Then conexion.Close() End If conexion.Open() cmd.CommandType = CommandType.Text cmd.CommandText = cad cmd.Connection = conexion With cmd.Parameters

55

.Add("@id", OleDbType.VarChar).Value = Me.txtCodigo.Text .Add("@usuario", OleDbType.VarChar).Value = Me.txtUsuario.Text .Add("@clave", OleDbType.VarChar).Value = Me.txtClave.Text .Add("@nombre", OleDbType.VarChar).Value = Me.txtNombres.Text .Add("@apellidos", OleDbType.VarChar).Value = Me.txtApellidos.Text End With Dim N As Integer N = cmd.ExecuteNonQuery If N = 1 Then MessageBox.Show("Registro Guardado Correctamente") CargarDatos() CargarDatosActualizados(ultimo) habilitarControles(False) Else MessageBox.Show("Error en la Transaccin") End If cmd.Parameters.Clear() : conexion.Close() End Sub Sub Actualizar() Dim cad As String cad = "update usuario set id=@id,usuario= @usuario,clave= @clave,nombre=@nombre,apellidos=@apellidos where id=@id" If conexion.State = ConnectionState.Open Then conexion.Close() End If conexion.Open() cmd.CommandType = CommandType.Text cmd.CommandText = cad cmd.Connection = conexion With cmd.Parameters .Add("@id", OleDbType.VarChar).Value = Me.txtCodigo.Text .Add("@usuario", OleDbType.VarChar).Value = Me.txtUsuario.Text .Add("@clave", OleDbType.VarChar).Value = Me.txtClave.Text .Add("@nombre", OleDbType.VarChar).Value = Me.txtNombres.Text .Add("@apellidos", OleDbType.VarChar).Value = Me.txtApellidos.Text End With Dim N As Integer N = cmd.ExecuteNonQuery If N = 1 Then MessageBox.Show("Registro Actualizado Correctamente") CargarDatos() CargarDatosActualizados(ultimo) habilitarControles(False) Else MessageBox.Show("Error en la Transaccin") End If cmd.Parameters.Clear() : conexion.Close() End Sub Sub Eliminar() If MessageBox.Show("Seguro de Borrar?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = _ Windows.Forms.DialogResult.Yes Then Dim cad As String cad = "update usuario set id=@id,usuario= @usuario,clave= @clave,nombre=@nombre,apellidos=@apellidos where id=@id" If conexion.State = ConnectionState.Open Then conexion.Close() End If conexion.Open() cmd.CommandType = CommandType.Text cmd.CommandText = cad cmd.Connection = conexion With cmd.Parameters .Add("@id", OleDbType.VarChar).Value = Me.txtCodigo.Text .Add("@usuario", OleDbType.VarChar).Value = Me.txtUsuario.Text .Add("@clave", OleDbType.VarChar).Value = Me.txtClave.Text .Add("@nombre", OleDbType.VarChar).Value = Me.txtNombres.Text

56

.Add("@apellidos", OleDbType.VarChar).Value = Me.txtApellidos.Text End With Dim N As Integer N = cmd.ExecuteNonQuery If N = 1 Then MessageBox.Show("Registro Eliminado Correctamente") registro = Me.txtCodigo.Text - 1 CargarDatosActualizados(ultimo) habilitarControles(False) Else MessageBox.Show("Error en la Transaccin") End If cmd.Parameters.Clear() : conexion.Close() End If End Sub Public Sub CargarDatosActualizados(ByVal fila As Integer) Dim total As Integer Try Dim TblClientes As DataTable Dim dr As DataRow ' daClientes = New OleDbDataAdapter("Select * from usuario ", conexion) dsClientes = New DataSet daClientes.Fill(dsClientes, "usuario") TblClientes = dsClientes.Tables("usuario") ' Para mostarar la posicion, contamos los registros de la tabla Idiomas_Ofertado total = TblClientes.Rows.Count '' Asignando una fila de datos "Registro" al DataRow dr = TblClientes.Rows(fila) ' Mostrando los datos desde el datarow txtCodigo.Text = dr("id") txtUsuario.Text = dr("usuario") txtClave.Text = dr("clave") txtNombres.Text = dr("nombre") txtApellidos.Text = dr("apellidos") Catch exc As Exception MessageBox.Show(exc.Message) End Try End Sub Sub buscar() Dim total As Integer Dim codigo As String codigo = InputBox("Ingrese cdigo a Buscar") If Len(codigo) = 1 Then codigo = "0" + codigo End If Try Dim TblClientes As DataTable Dim dr As DataRow ' daClientes = New OleDbDataAdapter("Select * from usuario where id='" & codigo & "'", conexion) dsClientes = New DataSet daClientes.Fill(dsClientes, "Usuario") TblClientes = dsClientes.Tables("Usuario") ' Para mostarar la posicion, contamos los registros de la tabla Idiomas_Ofertado total = TblClientes.Rows.Count '' Asignando una fila de datos "Registro" al DataRow dr = TblClientes.Rows(0) ' Mostrando los datos desde el datarow txtCodigo.Text = dr("id") txtUsuario.Text = dr("usuario")

57

txtClave.Text = dr("clave") txtNombres.Text = dr("nombre") txtApellidos.Text = dr("apellidos") Catch exc As Exception MessageBox.Show(exc.Message) End Try End Sub Private Sub verdetalle(ByVal fila As Integer) Try If dgvUsuarios.Rows.Count > 0 Then Me.txtCodigo.Text = dgvUsuarios.Item(0, fila).Value.ToString txtUsuario.Text = dgvUsuarios.Item(1, fila).Value.ToString txtClave.Text = dgvUsuarios.Item(2, fila).Value.ToString txtNombres.Text = dgvUsuarios.Item(3, fila).Value.ToString txtApellidos.Text = dgvUsuarios.Item(4, fila).Value.ToString Else dgvUsuarios.Visible = False End If Catch ex As Exception End Try dgvUsuarios.DefaultCellStyle.BackColor = Color.LightGoldenrodYellow dgvUsuarios.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGreen End Sub Private Sub btnNuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNuevo.Click habilitarControles(True) limpiarUsuario() correlativo() sw = 1 ActivarBotones(True, True, False, False, True) End Sub Private Sub btnBuscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBuscar.Click buscar() ActivarBotones(True, False, True, True, True) End Sub Private Sub btnAgregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAgregar.Click If sw = 1 Then Nuevo() ElseIf sw = 2 Then Actualizar() End If sw = 0 ActivarBotones(True, False, False, False, False) End Sub Private Sub btnActualizar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnActualizar.Click sw = 2 habilitarControles(True) ActivarBotones(False, True, True, False, True) End Sub Private Sub btnEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEliminar.Click Eliminar() End Sub Private Sub btnCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancelar.Click CargarDatosActualizados(0) habilitarControles(False) sw = 0 ActivarBotones(True, False, False, False, False) End Sub

58

Private Sub btnSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSalir.Click If MsgBox("Desea salir?", vbInformation + vbYesNo, "Salir") = vbYes Then Close() End If End Sub Private Sub dgvUsuarios_CellMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles dgvUsuarios.CellMouseClick Try Dim f As Integer = dgvUsuarios.CurrentRow.Index verdetalle(f) Catch ex As Exception End Try End Sub End Class

Ilustracin 38: Cdigo Fuente Formulario Mantenimiento de Usuarios

2.8.7. Formulario de Bsqueda de Clientes a. Diseo del Formulario FrmConClientes

Ilustracin 39: Formulario de Bsqueda de Clientes

b. Elementos utilizados
Tipo de control RadioButton Nombre rbtCodigo rbtNombre rbtDNI TextBox DataGridView Label txtDato dgvClientes lblTitulo

Ilustracin 40: Componentes Formulario Bsqueda de Clientes 59

c. Cdigo Fuente en el Formulario FrmConClientes


Imports System.Data Imports System.Data.OleDb Public Class FrmConClientes Dim strcampo As String Dim objDataAdapter As OleDbDataAdapter Dim objDataSet As DataSet Dim sqlstr, oper As String Private Sub FrmConClientes_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load txtDato.Clear() txtDato.Enabled = False dgvCliente.ReadOnly = True End Sub Private Sub rbtCodigo_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles rbtCodigo.Click, rbtNombre.Click, rbtDNI.Click Select Case sender.name Case "rbtCodigo" strcampo = "codcliente" oper = "codigo" Case "rbtNombre" strcampo = "nombre" oper = "nombre" Case "rbtDNI" strcampo = "DNI" oper = "DNI" End Select Me.lblTitulo.Text = "Ingrese " & oper & " a buscar" Me.dgvCliente.DataSource = Nothing txtDato.Enabled = True txtDato.Clear() txtDato.Focus() lblEncontrados.Text = "" End Sub Private Sub txtDato_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDato.TextChanged dgvCliente.DefaultCellStyle.BackColor = Color.LightGreen dgvCliente.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGoldenrodYellow Dim strSQL As String 'Dim total As Integer strSQL = "SELECT * FROM cliente WHERE " & Trim(strcampo) & " LIKE '" & _ Trim(Me.txtDato.Text) & "%'" If txtDato.Text = "" Then txtDato.Clear() : txtDato.Focus() lblEncontrados.Text = "" dgvCliente.DataSource = Nothing dgvCliente.Visible = False Exit Sub End If objDataAdapter = New OleDbDataAdapter(strSQL, conexion) If conexion.State = ConnectionState.Open Then conexion.Close() End If conexion.Open() objDataSet = New DataSet() objDataAdapter.Fill(objDataSet, "Cliente") conexion.Close() Dim TblClientes As DataTable TblClientes = objDataSet.Tables("Cliente") If TblClientes.Rows.Count > 0 Then

60

Me.dgvCliente.Visible = True Me.dgvCliente.DataSource = objDataSet Me.dgvCliente.DataMember = "Cliente" lblEncontrados.Text = TblClientes.Rows.Count TblClientes.Dispose() Else Me.dgvCliente.DataSource = Nothing dgvCliente.Visible = False lblEncontrados.Text = 0 End If End Sub Private Sub rbtCodigo_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbtCodigo.CheckedChanged Me.lblEncontrados.Text = "" End Sub Private Sub rbtNombre_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbtNombre.CheckedChanged Me.lblEncontrados.Text = "" End Sub Private Sub rbtDNI_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbtDNI.CheckedChanged Me.lblEncontrados.Text = "" End Sub End Class

Ilustracin 41: Cdigo Fuente Formulario Consulta de Clientes

2.8.8. Formulario de Bsqueda de Productos a. Diseo de Formulario FrmConProductos

Ilustracin 42: Formulario Bsqueda de Productos

b. Elementos utilizados
Tipo de control RadioButton Nombre rbtCodigo

61

rbtPreVenta rbtSerie TextBox DataGridView Label txtDato dgvProductos lblTitulo

Tabla 13: Componentes del Formulario Bsqueda de Productos

c. Cdigo fuente en el Formulario FrmConProductos


Imports System.Data Imports System.Data.OleDb Public Class FrmConProductos Dim strcampo As String Dim objDataAdapter As OleDbDataAdapter Dim objDataSet As DataSet Dim sqlstr, oper As String Dim marca() As String Dim categoria() As String Private Sub FrmConProductos_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load txtDato.Clear() txtDato.Enabled = False dgvProducto.ReadOnly = True cargarMarca() cargarCategoria() End Sub Sub cargarMarca() marca = {"<Seleccionar>", " GIGABYTE", " ASUS", "FOXCONN", "NVIDIA", "GAINWARD", "MICROSOFT", "LOGITECH", "LG", "SAMSUNG", "INTEL", "AMD"} cboMarca.Items.AddRange(marca) cboMarca.SelectedIndex = 0 'cboMarca.Enabled = False End Sub Sub cargarCategoria() categoria = {"<Seleccionar>", " Motherboards", " Graphics Cards", "Mouse", "Keyboard", "Monitor", "Microprocessors"} cboCategoria.Items.AddRange(categoria) cboCategoria.SelectedIndex = 0 'cboCategoria.Enabled = False End Sub Sub buscar() dgvProducto.DefaultCellStyle.BackColor = Color.LightGreen dgvProducto.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGoldenrodYellow Dim strSQL As String 'Dim total As Integer strSQL = "SELECT * FROM producto WHERE " & Trim(strcampo) & " LIKE '" & _ Trim(Me.txtDato.Text) & "%'" If txtDato.Text = "" Then txtDato.Clear() : txtDato.Focus() lblEncontrados.Text = "" dgvProducto.DataSource = Nothing dgvProducto.Visible = False Exit Sub End If objDataAdapter = New OleDbDataAdapter(strSQL, conexion) If conexion.State = ConnectionState.Open Then conexion.Close() End If conexion.Open() objDataSet = New DataSet()

62

objDataAdapter.Fill(objDataSet, "producto") conexion.Close() Dim TblClientes As DataTable TblClientes = objDataSet.Tables("producto") If TblClientes.Rows.Count > 0 Then Me.dgvProducto.Visible = True Me.dgvProducto.DataSource = objDataSet Me.dgvProducto.DataMember = "producto" lblEncontrados.Text = TblClientes.Rows.Count TblClientes.Dispose() Else Me.dgvProducto.DataSource = Nothing dgvProducto.Visible = False lblEncontrados.Text = 0 End If End Sub Private Sub rbtCodigo_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles rbtCodigo.Click, rbtSerie.Click, rbtPrecioVenta.Click Select Case sender.name Case "rbtCodigo" strcampo = "codProducto" oper = "codigo" Case "rbtSerie" strcampo = "serieproducto" oper = "serie producto" Case "rbtPrecioVenta" strcampo = "PreVenta" oper = "Precio Venta" End Select Me.lblTitulo.Text = "Ingrese " & oper & " a buscar" Me.dgvProducto.DataSource = Nothing txtDato.Enabled = True txtDato.Clear() txtDato.Focus() lblEncontrados.Text = "" End Sub Private Sub txtDato_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDato.TextChanged buscar() End Sub Private Sub cboCategoria_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboCategoria.SelectedIndexChanged Me.strcampo = "tipo" Me.txtDato.Text = cboCategoria.SelectedItem.ToString End Sub Private Sub cboMarca_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboMarca.SelectedIndexChanged Me.strcampo = "Marca" Me.txtDato.Text = cboMarca.SelectedItem.ToString End Sub End Class

Ilustracin 43: Cdigo Fuente Formulario Consulta de Clientes

63

2.8.9. Formulario de Bsqueda de Proveedores a. Diseo del Formulario FrmConProveedores

Ilustracin 44: Formulario Bsqueda de Proveedores

b. Elementos utilizados
Tipo de control RadioButton Nombre rbtCodigo rbtPreVenta rbtSerie TextBox DataGridView Label txtDato dgvProductos lblTitulo

Tabla 14: Componentes Formulario Bsqueda de Proveedores c. Cdigo fuente en el formulario FrmConProveedores
Imports System.Data Imports System.Data.OleDb Public Class FrmConProveedores Dim strcampo As String Dim objDataAdapter As OleDbDataAdapter Dim objDataSet As DataSet Dim sqlstr, oper As String Private Sub rbtCodigo_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbtCodigo.CheckedChanged End Sub

64

Private Sub rbtCodigo_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles rbtCodigo.Click, rbtRUC.Click, rbtNombre.Click Select Case sender.name Case "rbtCodigo" strcampo = "codProveedor" oper = "codigo" Case "rbtNombre" strcampo = "nombre" oper = "nombre" Case "rbtRUC" strcampo = "rucproveedor" oper = "rucproveedor" End Select Me.lblTitulo.Text = "Ingrese " & oper & " a buscar" Me.dgvProveedor.DataSource = Nothing txtDato.Enabled = True txtDato.Clear() txtDato.Focus() lblEncontrados.Text = "" End Sub Private Sub FrmConProveedores_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load txtDato.Clear() txtDato.Enabled = False dgvProveedor.ReadOnly = True End Sub Private Sub txtDato_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDato.TextChanged buscar() End Sub Sub buscar() dgvProveedor.DefaultCellStyle.BackColor = Color.LightGreen dgvProveedor.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGoldenrodYellow Dim strSQL As String 'Dim total As Integer strSQL = "SELECT * FROM proveedor WHERE " & Trim(strcampo) & " LIKE '" & _ Trim(Me.txtDato.Text) & "%'" If txtDato.Text = "" Then txtDato.Clear() : txtDato.Focus() lblEncontrados.Text = "" dgvProveedor.DataSource = Nothing dgvProveedor.Visible = False Exit Sub End If objDataAdapter = New OleDbDataAdapter(strSQL, conexion) If conexion.State = ConnectionState.Open Then conexion.Close() End If conexion.Open() objDataSet = New DataSet() objDataAdapter.Fill(objDataSet, "proveedor") conexion.Close() Dim TblClientes As DataTable TblClientes = objDataSet.Tables("proveedor") If TblClientes.Rows.Count > 0 Then Me.dgvProveedor.Visible = True Me.dgvProveedor.DataSource = objDataSet Me.dgvProveedor.DataMember = "proveedor" lblEncontrados.Text = TblClientes.Rows.Count TblClientes.Dispose() Else Me.dgvProveedor.DataSource = Nothing dgvProveedor.Visible = False lblEncontrados.Text = 0 End If End Sub End Class

Ilustracin 45: Cdigo Fuente Formulario Consulta de Proveedores 65

2.8.10. Formulario de Bsqueda de Ventas a. Diseo del Formulario FrmConVenta

Ilustracin 46: Formulario Consulta de Ventas

b. Elementos utilizados
Tipo de Control TextBox Nombre txtCliente txtDireccion DataGridView Buttton Label dgvConVentas btnBuscarVenta lblSubTotVenta lblIGV lblTotalVenta GroupBox gbDatosCliente

Tabla 15: Componentes Formulario Bsqueda de Ventas

66

c. Cdigo Fuente del Formulario FrmConVenta


Imports System.Data Imports System.Data.OleDb Imports vb = Microsoft.VisualBasic Public Class FrmConVenta Public codVenta As Integer Private Sub Btn_Buscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Buscar.Click 'Me.Enabled = False ' FrmBuscarVenta.MdiParent = MDIPrincipal1 FrmBuscarVenta.Show() DataGridView1.DataSource = Nothing DataGridView1.Rows.Clear() End Sub Public Sub Realizar_Calculo() '-------------->>>><<<<<------------------------' Dim Cantidad As Double Dim IGV, Total, MTotal, MVenta, MIGV As Double Dim Precio As Double MTotal = 0 MVenta = 0 MIGV = 0 lbl_vVenta.Text = 0 lbl_Igv.Text = 0 lbl_pVenta.Text = 0 For n As Integer = 0 To DataGridView1.RowCount - 1 Cantidad = Val(DataGridView1.Rows(n).Cells(0).Value.ToString()).ToString Precio = Val(DataGridView1.Rows(n).Cells(2).Value) Total = (Cantidad * Precio) Me.DataGridView1.Rows(n).Cells(3).Value = Total.ToString("##,##0.00") MTotal += Total Next lbl_vVenta.Text = MTotal.ToString("##,##0.00") IGV = (MTotal * Val(txt_igvM.Text)) / 100 lbl_Igv.Text = IGV.ToString("##,##0.00") Total = MTotal + IGV lbl_pVenta.Text = Total.ToString("##,##0.00") Convertir_Letras() End Sub Private Sub Convertir_Letras() If Me.DataGridView1.RowCount = 0 Then lbl_numletras.Text = "" Else Dim numero As String Dim cantidad As Integer = vb.Len(Me.lbl_pVenta.Text) numero = vb.Mid(lbl_pVenta.Text, 1, cantidad - 3) lbl_numletras.Text = "SON: " & Num2Text(numero) & " CON " & vb.Right(lbl_pVenta.Text, 2) & "/100 NUEVO SOLES" End If End Sub Private Sub FrmConVenta_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub End Class

Ilustracin 47: Cdigo Fuente Formulario Consulta de Ventas

67

2.8.11. Formulario de Consulta de Clientes para Formulario de Ventas a. Diseo de Formulario Consulta de Clientes FrmCliClientes

Ilustracin 48: Formulario Bsqueda de Cliente para Ventas

b. Elementos utilizados
Tipo de Control TextBox DataGridView Nombre txtNombre dgvConClientes

Tabla 16: Componentes del Formulario Consulta de Clientes para Ventas

c. Cdigo Fuente en el Formulario FrmCliClientes


Imports System.Data Imports System.Data.OleDb Public Class FrmCliClientes Public codigoCliente As String Public nombre As String Public direccion As String Dim DV As DataView 'Instancio una VISTA Private Sub FrmCliClientes_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim DA As New OleDbDataAdapter("Select codCliente,nombre,direccion from cliente", conexion) Dim DS As New DataSet DA.Fill(DS) DV = DS.Tables(0).DefaultView 'El DATASET lo pasamos al 'DataView() dgvClientes.DataSource = DV.Table() End Sub Private Sub dgvClientes_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvClientes.CellContentClick End Sub

68

Private Sub dgvClientes_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvClientes.CellDoubleClick codigoCliente = Me.dgvClientes.Item(0, dgvClientes.CurrentRow.Index()).Value.ToString() nombre = Me.dgvClientes.Item(1, dgvClientes.CurrentRow.Index()).Value.ToString() direccion = Me.dgvClientes.Item(2, dgvClientes.CurrentRow.Index()).Value.ToString() Me.Close() End Sub Private Sub txtNombre_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtNombre.TextChanged DV.RowFilter = "nombre like '%" & txtNombre.Text & "%'" End Sub End Class

Ilustracin 49: Cdigo de Fuente en el formulario Bsqueda de Cliente Ventas

2.8.12. Formulario de Consulta de Ventas para formulario de Ventas a. Diseo de Formulario de Bsqueda de Ventas FrmBusVentas

Ilustracin 50: Formulario Bsqueda de Ventas

b. Elementos utilizados
Tipo de control Label DataGridView Nombre lblDescripcion dgvVentas

Tabla 17: Componentes Formulario Bsqueda de Ventas

c. Cdigo fuente en el Formulario FrmBusVentas


Imports System.Data Imports System.Data.OleDb Public Class FrmBuscarVenta

69

Public daVenta As OleDbDataAdapter Public tblVentas As New DataTable Public daDVenta As OleDbDataAdapter Public tblDVenta As New DataTable Public codVenta As Integer Private Sub FrmBuscarVenta_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Cargar_Ventas() End Sub Private Sub Cargar_Ventas() 'LstVenta = objVentaBL.Listar_Venta Dim sql As String ' sql = "Select v.idVenta,c.nombre,c.direccion from venta V inner join Cliente C on (v.idCliente=c.codcliente)" sql = "SELECT Venta.IdVenta, Cliente.nombre, Cliente.direccion, Venta.fechaVenta, Venta.igv, Venta.Total FROM Cliente INNER JOIN Venta ON Cliente.codcliente = Venta.idCliente" daVenta = New OleDbDataAdapter(sql, conexion) daVenta.Fill(tblVentas) 'Me.DataGridView1.AutoGenerateColumns = False Me.DataGridView1.DataSource = tblVentas End Sub Private Sub DataGridView1_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellDoubleClick Try Dim f As Integer = DataGridView1.CurrentRow.Index FrmConVenta.DataGridView1.DataSource = Nothing FrmConVenta.DataGridView1.Rows.Clear() verdetalle(f) Close() 'verdetalle1(f) 'TrackBar2.Value = f 'CargarDatos(f) Catch ex As Exception End Try End Sub Private Sub verdetalle(ByVal fila As Integer) Dim sql1 As String FrmConVenta.DataGridView1.DataSource = Nothing FrmConVenta.DataGridView1.Rows.Clear() Try If DataGridView1.Rows.Count > 0 Then codVenta = DataGridView1.Item(0, fila).Value.ToString FrmConVenta.codVenta =DataGridView1.Item(0, fila).Value.ToString FrmConVenta.txt_cliente.Text = DataGridView1.Item(1, fila).Value.ToString FrmConVenta.txt_direccion.Text = DataGridView1.Item(2, fila).Value.ToString sql1 = "SELECT DetalleVenta.Cantidad, PRODUCTO.Serieproducto+' '+' '+PRODUCTO.Marca+' '+' '+PRODUCTO.Tipo as Producto, DetalleVenta.precioVenta FROM PRODUCTO INNER JOIN DetalleVenta ON PRODUCTO.codproducto = DetalleVenta.idProducto where DetalleVenta.IdVenta= " & codVenta daDVenta = New OleDbDataAdapter(sql1, conexion) daDVenta.Fill(tblDVenta) FrmConVenta.DataGridView1.AutoGenerateColumns = False FrmConVenta.DataGridView1.DataSource = tblDVenta tblDVenta.Dispose() ' DataGridView1.Visible = False FrmConVenta.Realizar_Calculo() End If Catch ex As Exception End Try DataGridView1.DefaultCellStyle.BackColor = Color.LightGoldenrodYellow DataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGreen End Sub End Class

Ilustracin 51: Cdigo Fuente Formulario Bsqueda de Ventas 70

2.8.13. Formulario de Gestin de Pedido a. Diseo del Formulario FrmVenta

b. Elementos utilizados Tipo de Control Button Nombre btnNuevo,btnEliminar,btnLimpiar btnGuardar,btnSalir, btnBusCliente btnBusProductos TextBox txtCliente,txtDireccio txtDescripcion,txtStock,txtPreUnit txtCantidad Label lblSubTotVenta,lblIGV,lblTotalVenta lblNumVenta, lblValorVentaLetras DataGridView dgvPedido

Tabla 18: Componentes Formulario Gestin de Pedido

71

c. Cdigo fuente en el Formulario FrmVenta


Imports vb = Microsoft.VisualBasic Imports System.Data Imports System.Data.OleDb Public Class FrmVenta Dim codproducto As Integer Dim codVenta As Integer Dim daCodVenta As OleDbDataAdapter Dim codCliente As String Private Sub txt_cliente_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txt_cliente.KeyDown 'Si se Presiono la Tecla F5 se llama a la ventana de Ayuda If e.KeyCode = Keys.F5 Then Dim Xayuda As New FrmCliClientes 'Instanciar al Formulario de 'esta(manera) ' puedo acceder a las variables que estan declarados 'en el Form3 Xayuda.ShowDialog() ' Me.txtCodigo.Text = Xayuda.codigoCliente codCliente = Xayuda.codigoCliente Me.txt_cliente.Text = Xayuda.nombre txt_direccion.Text = Xayuda.direccion End If End Sub Sub correlativo() Dim TblVenta As DataTable 'limpiarCliente() 'Limpiar los Controles dsClientes = New DataSet daCodVenta = New OleDbDataAdapter("Select max(idventa) as codigo from venta", conexion) daCodVenta.Fill(dsClientes, "CodigoVenta") TblVenta = dsClientes.Tables("CodigoVenta") lblVenta.Text = CInt(TblVenta.Rows(0).Item(0).ToString) + 1 codVenta = CInt(TblVenta.Rows(0).Item(0).ToString) + 1 'MsgBox("El codigo es" & codVenta) TblVenta.Dispose() End Sub Sub ActivarBotones(ByVal bnuevo As Boolean, ByVal beliminar As Boolean, ByVal blimpiar As Boolean, ByVal bguardar As Boolean) btnNuevo.Enabled = bnuevo Btn_Eliminar.Enabled = beliminar Btn_Limpiar.Enabled = blimpiar Btn_Guardar.Enabled = bguardar End Sub Private Sub FrmVenta_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ActivarBotones(True, False, False, False) End Sub Private Sub Verificar_Cajas() If Trim(txtNombre.Text) = "" Then txtNombre.Focus() Exit Sub ElseIf Trim(txt_precio.Text) = "" Then txt_precio.Focus() Exit Sub ElseIf Trim(txtCantidad.Text) = "" Then txtCantidad.Focus() Exit Sub ElseIf vb.Right(Me.txt_precio.Text, 1) = "." Then MessageBox.Show("Esto no es un Precio Vlido!!!", "Atencin", MessageBoxButtons.OK, MessageBoxIcon.Information) txt_precio.Focus() Exit Sub ElseIf verificarstock() = True Then

72

txtCantidad.Focus() Exit Sub ElseIf Buscar_Producto_Gridview() = False Then MessageBox.Show("El Producto que intenta Agregar ya existe en la Lista" & Chr(13) & "Item Seleccionado en la Lista", "Atencin", MessageBoxButtons.OK, MessageBoxIcon.Information) Me.txtNombre.Focus() Else Me.DataGridView1.Rows.Add(codproducto.ToString, Me.txtCantidad.Text, Trim(Me.txtNombre.Text), Me.txt_precio.Text) Realizar_Calculo() Limpiar() Me.txtCantidad.Focus() End If End Sub Private Sub Realizar_Calculo() '-------------->>>><<<<<------------------------' Dim Cantidad As Double Dim IGV, Total, MTotal, MVenta, MIGV As Double Dim Precio As Double MTotal = 0 MVenta = 0 MIGV = 0 lbl_vVenta.Text = 0 lbl_Igv.Text = 0 lbl_pVenta.Text = 0 For n As Integer = 0 To DataGridView1.RowCount - 1 Cantidad = Val(DataGridView1.Rows(n).Cells(1).Value.ToString()).ToString Precio = Val(DataGridView1.Rows(n).Cells(3).Value) Total = (Cantidad * Precio) Me.DataGridView1.Rows(n).Cells(4).Value = Total.ToString("##,##0.00") MTotal += Total Next lbl_vVenta.Text = MTotal.ToString("##,##0.00") IGV = (MTotal * Val(txt_igvM.Text)) / 100 lbl_Igv.Text = IGV.ToString("##,##0.00") Total = MTotal + IGV lbl_pVenta.Text = Total.ToString("##,##0.00") Convertir_Letras() End Sub Private Sub Convertir_Letras() If Me.DataGridView1.RowCount = 0 Then lbl_numletras.Text = "" Else Dim numero As String Dim cantidad As Integer = vb.Len(Me.lbl_pVenta.Text) numero = vb.Mid(lbl_pVenta.Text, 1, cantidad - 3) lbl_numletras.Text = "SON: " & Num2Text(numero) & " CON " & vb.Right(lbl_pVenta.Text, 2) & "/100 NUEVO SOLES" End If End Sub Private Function Buscar_Producto_Gridview() For n As Integer = 0 To Me.DataGridView1.RowCount - 1 If Me.DataGridView1.Rows(n).Cells(2).Value = Trim(Me.txtNombre.Text) Then DataGridView1.CurrentCell = DataGridView1.Rows(n).Cells(2) DataGridView1.Refresh() Return False Exit Function End If Next Return True

73

End Function Private Sub txt_Descripcion_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtNombre.KeyDown 'Si se Presiono la Tecla F5 se llama a la ventana de Ayuda If e.KeyCode = Keys.F5 Then Dim Xayuda As New FrmProProducto 'Instanciar al Formulario de Xayuda.ShowDialog() Me.txtStock.Text = Xayuda.stock Me.txtNombre.Text = Xayuda.nombre txt_precio.Text = Xayuda.precio codproducto = Xayuda.codproducto End If End Sub Private Sub Limpiar() txtCantidad.Clear() txtNombre.Clear() txt_precio.Clear() txtStock.Clear() btnBProducto.Focus() End Sub Private Function verificarstock() As Boolean Dim valor As Boolean Dim a, b As Integer a = CInt(Me.txtStock.Text) b = CInt(Me.txtCantidad.Text.Trim) If a < b Then MsgBox("Ingrese una cantidad menor al stock") Me.txtCantidad.Clear() Me.txtCantidad.Focus() valor = True Else valor = False End If Return valor End Function Private Sub txtStock_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtCantidad.KeyDown If e.KeyData = Keys.Enter Then Verificar_Cajas() End If End Sub Private Sub Btn_Eliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Eliminar.Click If Me.DataGridView1.RowCount <> 0 Then If MessageBox.Show("Realmente Desea Eliminar el Item Seleccionado?", "Atencin", MessageBoxButtons.YesNo, MessageBoxIcon.Information) = Windows.Forms.DialogResult.Yes Then Me.DataGridView1.Rows.RemoveAt(Me.DataGridView1.CurrentRow.Index) End If End If Realizar_Calculo() End Sub Private Sub Btn_Limpiar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Limpiar.Click If Me.DataGridView1.RowCount <> 0 Then If MessageBox.Show("Realmente Desea Eliminar la Lista?", "Atencin", MessageBoxButtons.YesNo, MessageBoxIcon.Information) = Windows.Forms.DialogResult.Yes Then Me.DataGridView1.Rows.Clear() End If End If Realizar_Calculo() End Sub

74

Sub GUARDAR() Dim cmV As New OleDbCommand() Dim cmDV As New OleDbCommand() Dim cmA As New OleDbCommand() Dim cad As String Dim cad1 As String Dim N As Integer Dim n1 As Integer cad = "Insert into Venta values(@IdVenta,@idCliente,@fechaVenta,@igv,@Total)" cad1 = "Insert into DetalleVenta values(@IdVenta,@idProducto,@Cantidad,@precioVenta)" If conexion.State = ConnectionState.Open Then conexion.Close() End If conexion.Open() cmV.CommandType = CommandType.Text cmV.CommandText = cad cmV.Connection = conexion cmDV.CommandType = CommandType.Text cmDV.CommandText = cad1 cmDV.Connection = conexion With cmV.Parameters .Add("@IdVenta", OleDbType.Integer).Value = codVenta .Add("@idCliente", OleDbType.VarChar).Value = codCliente .Add("@fechaVenta", OleDbType.Date).Value = Now .Add("@igv", OleDbType.Decimal).Value = CDbl(lbl_Igv.Text) .Add("@Total", OleDbType.Decimal).Value = CDbl(lbl_pVenta.Text) End With n1 = cmV.ExecuteNonQuery Dim i As Integer Dim cant As Integer cant = DataGridView1.Rows.Count MsgBox("Cantidad de Productos" & cant) For i = 0 To cant - 1 With cmDV.Parameters cmDV.Parameters.Clear() .Add("@IdVenta", OleDbType.Integer).Value = codVenta .Add("@idProducto", OleDbType.Integer).Value = CInt(Me.DataGridView1.Item(0, i).Value) .Add("@Cantidad", OleDbType.Integer).Value = CInt(Me.DataGridView1.Item(1, i).Value) .Add("@precioVenta", OleDbType.Decimal).Value = CDbl(Me.DataGridView1.Item(3, i).Value) End With N = cmDV.ExecuteNonQuery Next actualizarStock() If n1 = 1 Then MessageBox.Show("Registro Guardado Correctamente") Else MessageBox.Show("Error en la Transaccin") End If cmV.Parameters.Clear() : conexion.Close() End Sub Sub limpiarVenta() txt_cliente.Clear() txt_direccion.Clear() txtNombre.Clear() txtStock.Clear() txt_precio.Clear() txtCantidad.Clear() lbl_vVenta.Text = "" lbl_Igv.Text = "" lbl_pVenta.Text = "" btnNuevo.Focus() End Sub

75

Private Sub btnNuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNuevo.Click correlativo() ActivarBotones(False, True, True, True) End Sub Private Sub Btn_Guardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Guardar.Click GUARDAR() ActivarBotones(True, False, False, False) DataGridView1.Rows.Clear() limpiarVenta() End Sub Private Sub btnBCliente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBCliente.Click Dim Xayuda As New FrmCliClientes 'Instanciar al Formulario de 'esta(manera) ' puedo acceder a las variables que estan declarados 'en el Form3 Xayuda.ShowDialog() ' Me.txtCodigo.Text = Xayuda.codigoCliente codCliente = Xayuda.codigoCliente Me.txt_cliente.Text = Xayuda.nombre txt_direccion.Text = Xayuda.direccion End Sub Private Sub btnBProducto_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBProducto.Click Dim Xayuda As New FrmProProducto 'Instanciar al Formulario de 'esta(manera) ' puedo acceder a las variables que estan declarados 'en el Form3 Xayuda.ShowDialog() Me.txtStock.Text = Xayuda.stock Me.txtNombre.Text = Xayuda.nombre txt_precio.Text = Xayuda.precio codproducto = Xayuda.codproducto End Sub Sub actualizarStock() If conexion.State = ConnectionState.Open Then conexion.Close() End If conexion.Open() Dim sql As String = "UPDATE producto SET Stockactual = Stockactual - @cantidad WHERE codproducto = @codproducto" Dim cmd As OleDbCommand = New OleDbCommand(sql, conexion) For Each row As DataGridViewRow In Me.DataGridView1.Rows Dim codproducto As Integer = CInt(row.Cells("codigo").Value) Dim cantidad As Integer = CInt(row.Cells("cantidad").Value) cmd.Parameters.Clear() cmd.Parameters.AddWithValue("@cantidad", cantidad) cmd.Parameters.AddWithValue("@codproducto", codproducto) cmd.ExecuteNonQuery() Next cmd.Parameters.Clear() : conexion.Close() End Sub Private Sub btnSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSalir.Click If MsgBox("Desea salir?", vbInformation + vbYesNo, "Salir") = vbYes Then Close() End If End Sub End Class

Ilustracin 52: Cdigo Fuente Formulario de Venta 76

2.8.14. Formulario Reporte de Ventas a. Diseo de Formulario FrmRptVentas

Ilustracin 53: Formulario de Reporte de Ventas b. Diseo de Reporte en Crystal Report rptVentas

Ilustracin 54: Diseo de Reporte de Ventas c. Cdigo fuente en el Formulario FrmRptVentas


Public Class FrmRptVentas Private Sub FrmRptVentas_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim reporteVentas As New RptVentas reporteVentas.Refresh() crvVentas.ReportSource = reporteVentas End Sub End Class

Ilustracin 55: Cdigo Fuente Formulario Reporte de Ventas

77

2.8.15. Formulario Reporte de Clientes a. Diseo de Formulario FrmRptClientes

Ilustracin 56: Formulario Reporte de Clientes b. Diseo de Reporte en Crystal Report rptClientes

Ilustracin 57: Diseo de Reporte de Clientes c. Cdigo fuente en el formulario FrmRptClientes


Imports System.Data Imports System.Data.OleDb Public Class FrmRptClientes Private Sub FrmRptClientes_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim reporteClientes As New RptCliente reporteClientes.Refresh() crvClientes.ReportSource = reporteClientes End Sub End Class

Ilustracin 58: Cdigo Fuente Formulario Reporte de Clientes 78

2.8.16. Formulario Reporte de Productos a. Diseo del Formulario Reporte de Productos

Ilustracin 59: Formulario Reporte de Productos b. Diseo de Reporte en Crystal Report rptProductos

Ilustracin 60: Diseo de Reporte de Productos c. Cdigo Fuente en el Formulario FrmRptProductos


Public Class FrmRptProductos Private Sub FrmRptProductos_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim reporteProductos As New RptProductos reporteProductos.Refresh() crvProductos.ReportSource = reporteProductos End Sub End Class

Ilustracin 61: Cdigo Fuente Formulario Reporte de Productos 79

2.8.17. Formulario Reporte de Proveedores a. Diseo del Formulario Reporte de Proveedores

Ilustracin 62: Formulario de Reporte de Proveedores b. Diseo de Reporte en Crystal Report rptProveedores

Ilustracin 63: Diseo de Reporte de Proveedores c. Cdigo de fuente en el Formulario FrmRptProveedores


Public Class FrmRptProveedores Private Sub FrmRptProveedores_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim reporteProveedor As New rptProveedor reporteProveedor.Refresh() crvProveedor.ReportSource = reporteProveedor End Sub End Class

Ilustracin 64: Cdigo Fuente en el Formulario Reporte de Proveedores 80

CAPITULO III
3. CONCLUSIONES Y RECOMENDACIONES 3.1. CONCLUSIONES Se cre un documento en el que se abordan de una forma general los conceptos de base de datos, lenguaje de programacin Visual Basic. Net, y el desarrollo del Sistema Informtico para Venta de Productos de cmputo. El contar con un sistema informtico dentro de una empresa; nos permite automatizar los procesos de venta y consulta de productos, el cual genera ventajas competitivas y nos entrega informacin en el menor tiempo posible. Se determin que es un tanto sencillo la integracin de la Tecnologa. Net, para el desarrollo de aplicaciones, de escritorio, que son de mucha utilidad hoy en da dentro las empresas dedicadas al rubro de ventas. El sistema cuenta con varias funcionabilidades que facilitan al usuario la comprensin y manejo del mismo. 3.2. RECOMENDACIONES Que los usuarios que van a manejar el sistema tenga conocimientos bsicos en Informtica y una previa capacitacin a la utilizacin del mismo. Para cualquier ayuda utilizar el manual de usuario. Los vendedores o usuarios deben ser los nicos responsables de la

informacin que se ingresa al sistema para que no hayan confusiones. Para que la implementacin del sistema sea efectiva es recomendable que la informacin se maneje con gran seguridad.

81

REFERENCIAS BIBLIOGRFICAS [1] Programacin Visual Basic .net CEVALLOS F, Javier Ed. AlgaOmega Editor, S.A. Mxico. Grupo

[2] Programacin Visual Basic .net Carrasco Muoz, Joel Ed. AG Editores SRL, Lima 2005 [3] Visual Basic .net 2005 Librera Editorial MACRO, Lima 2005 [4] Visual Basic .net 2005 Express Castaeda Len, Juan Jos. Editorial GRAF, Lima 2006. [5] Desarrollando Aplicaciones .NET Oficina de Publicaciones de FIIS UNI WINDOWS CON ADO.NET 2005 Sistemas UNI, Lima. 2008. [6] Microsoft Access 2010 en Profundidad, Prez, Mara. Editorial AlfaOmega, RC Libros, Mxico 2011. [7] Sistemas de Bases de Datos, Administracin y Uso. Y.H. TSAJ, A Editorial: Prentice Hall 1 Edicin Mxico 1990 PARA RITISA

82

ANEXOS
1. FUNCIONAMIENTO DEL SISTEMA 1.1. INGRESO AL SISTEMA

Ilustracin 65: Manejo Formulario Acceso al Sistema

1.2.

FORMULARIO PRINCIPAL

Ilustracin 66: Manejo Formulario Principal

83

1.3.

Opciones del Men Mantenimiento

1.3.1. Formulario de Mantenimiento de Clientes

Ilustracin 67: Manejo de Formulario Mantenimiento de Clientes

1.3.2. Formulario de Mantenimiento de Productos

Ilustracin 68: Manejo de Formulario de Mantenimiento de Productos

84

1.3.3. Formulario de Mantenimiento de Proveedores

Ilustracin 69: Manejo de Formulario Mantenimiento de Proveedor

1.3.4. Formulario Mantenimiento de Usuarios

Ilustracin 70: Manejo Formulario Mantenimiento de Usuarios 85

1.4.

Opciones del Men Consultas

1.4.1. Formulario Consulta de Clientes

Ilustracin 71: Manejo de Consulta de Clientes

1.4.2. Formulario Consulta de Proveedores

Ilustracin 72: Manejo de Consulta de Proveedores

1.4.3. Formulario Consulta de Productos

Ilustracin 73: Manejo de Consulta de Productos 86

1.4.4. Formulario Consulta de Ventas 1.4.4.1. Formulario Bsqueda de Venta por Cliente

Ilustracin 74: Manejo de Consulta de Ventas por Cliente

1.4.4.2.

Formulario Consulta de Pedido por Cliente (Venta Realizada)

Ilustracin 75: Manejo de Pedido por Cliente 87

1.5.

Opciones del Men Movimientos

1.5.1. Generacin de Pedido (Ventas)

Ilustracin 76: Manejo de Gestin Pedido (Venta)

1.5.1.1.

Bsqueda de Clientes (Clic en el Botn Buscar Cliente)

Ilustracin 77: Manejo de Cliente que realiza Pedido 88

1.5.1.2.

Bsqueda de Productos (Clic en el Botn Buscar Productos)

Ilustracin 78: Manejo de Seleccin de Productos

1.5.1.3.

Generacin del Pedido para un cliente

Ilustracin 79: Gestin del Pedido por Cliente

89

1.6.

Opciones del Men Reportes

1.6.1. Reporte de Clientes

Ilustracin 80: Reporte de Clientes

1.6.2. Reporte de Productos

Ilustracin 81: Reporte de Productos 90

1.6.3. Reporte de Proveedores

Ilustracin 82: Reporte de Proveedores

1.6.4. Reporte de Ventas

Ilustracin 83: Reporte de Ventas 91

1.6.5. Reporte de Facturas

Ilustracin 84: Reporte de Facturas

92

Vous aimerez peut-être aussi