You are on page 1of 92

MONOGRAFA SOBRE EL DESARROLLO DE SISTEMA

INFORMTICO PARA VENTA DE PRODUCTOS DE CMPUTO






ASESOR
Ing. Hobby Saavedra Rosas


DICIEMBRE 2012
TRUJILLO - PER
ii

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.














iii

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.
iv

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.





v

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
vi

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




vii

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







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
1.1.1. Definicin de SGBD........................................................................................ 9
1.1.2. Niveles de abstraccin de una base de datos .......................................... 10
1.1.3. Estructura Multicapa .................................................................................... 13
1.1.4. Modelos Conceptuales ................................................................................ 14
1.1.5. Modelos Lgicos .......................................................................................... 17
1.1.6. Principales Sistemas Gestores de Bases de Datos ................................. 21
1.2. TECNOLOGA .NET .............................................................................................. 24
1.2.1. Visual Studio .Net 2010 ............................................................................... 24
1.2.2. .NET FRAMEWORK .................................................................................. 25
CAPITULO II ........................................................................................................................ 27
2. METODOLOGA ........................................................................................................... 27
2.1. Visin .................................................................................................................... 27
2.2. Oportunidad de Negocio ..................................................................................... 27
2.3. Anlisis de beneficios ......................................................................................... 27
2.4. Modelo lgico de integracin de tecnologas en el Sistema informtico ..... 28
2.5. Descripcin de componentes ............................................................................ 28
2.6. Especificaciones Tcnicas ................................................................................. 29
2.7. Diseo e Implementacin de la Base de Datos del Sistema Informtico ..... 30
2.8. Diseo e implementacin del Sistema Informtico ......................................... 37
CAPITULO III ....................................................................................................................... 81
3. CONCLUSIONES Y RECOMENDACIONES ............................................................... 81
REFERENCIAS BIBLIOGRFICAS ................................................................................... 82
ANEXOS ............................................................................................................................... 83
9

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
10

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
11

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
12

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
administrativas como la creacin de copias de seguridad por
ejemplo o el arreglo de problemas de red por ejemplo).

b. Usuarios
13

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
14

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
15

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
hablaramos de la entidad PERSONAS. Mientras que cada
persona en concreto sera una ocurrencia o un ejemplar de la
entidad persona.
Representacin Grfica
16

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:
17


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
18

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,...).
19

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:
20


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.
21


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.
22

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
23

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
24

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.
25

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.
26

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



27

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
28

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
29

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
30

2.6.2. Caractersticas del Software
A continuacin se detallara, cada de los componentes software utilizados,
para la implementacin:
DESCRIPCIN NOMBRE VERSIN
Sistema Operativo Microsoft Windows Windows 7
Lenguaje de Programacin Visual Basic .Net VB 10.0
IDE Visual Studio 2010
Sistema Gestor de Base de Datos Microsott Access 2010
Reportes Crystal Reports 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

31


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

Texto

38

Nombre y Apellido completo del cliente, no
permite valores nulos

direccin

Texto

45

Direccin completa del cliente, no permite
valores nulo

DNI

Texto

11

El nmero del DNI del cliente, no permite
valores nulos

telfono

Texto

10

El nmero del telfono fijo o celular, no
permite valores nulos
Tabla 4: Descripcin Tabla Clientes
32

2.7.3.2. Tabla Producto
Atributo Tipo de dato Tamao del
campo
Descripcin

codproducto

Numero

Entero Largo
Cdigo del Producto, es un correlativo y
es la PK (clave primaria) no permite
valores nulos


Serieproducto

Texto

80
Nombre de la serie del producto, no
permite valores nulos


Marca

Texto

20
Nombre de la marca del producto, no
permite valores nulo


Tipo

Texto

50
Nombre del Tipo del producto, no permite
valores nulos


Stockactual

Numero

Entero Largo
Cantidad actual del producto en stock, no
permite valores nulos


PreCosto

Moneda

--
Costo de cada Producto, no permite
valores nulos


PreVenta


Moneda

--
Precio de venta de cada Producto, no
permite valores nulos


FechActualizacion


Fecha/Hora

--
Se ingresa la fecha de la compra del
Producto, no permite valores nulos


idProveedor

Numero

Entero Largo
Cdigo del Proveedor y es FK (clave
externa) no permite valores nulos

Tabla 5: Descripcin Tabla Producto

2.7.3.3. Tabla Usuario
Atributo Tipo de dato Tamao del
campo
Descripcin

Id

Autonumeracion

Entero Largo
Cdigo del Usuario , es un correlativo y
es la PK (clave primaria) no permite
valores nulos

usuario

Texto

255
Tipo de Usuario (administrador /
secretaria ), no permite valores nulos

clave

Texto

255
La clave del usuario, no permite valores
nulo

nombre

Texto

255
El nombre del usuario, no permite valores
nulos

apellido

Texto

255
El apellido del usuario, no permite valores
nulos
Tabla 6: Descripcin Tabla Usuario

33

2.7.3.4. Tabla Proveedor
Atributo Tipo de dato Tamao del
campo
Descripcin

codproveedor

Numero

Entero Largo
Cdigo del Proveedor , es un correlativo
y es la PK (clave primaria) no permite
valores nulos

rucproveedor

Texto

12

El nmero del RUC del Proveedor, no
permite valores nulos

nombre

Texto

30

Nombre de la empresa del proveedor, no
permite valores nulo

telfono

Texto

10

Telfono de la empresa del proveedor, no
permite valores nulos

direccin

Texto

50

Direccin de la empresa, no permite
valores nulos
Tabla 7: Descripcin Tabla Proveedor
2.7.3.5. Tabla Venta
Atributo Tipo de dato Tamao del
campo
Descripcin

IdVenta

Numero

Entero Largo
Cdigo de la tabla venta , es un correlativo
y es la PK (clave primaria) no permite
valores nulos

idCliente

Texto

255
Cdigo del Cliente y es FK (clave
externa) no permite valores nulos


fechaVenta

Fecha/Hora

--
La fecha de la salida de la venta, no
permite valores nulo

igv

Numero

Decimal
El IGV del producto a la venta, no permite
valores nulos

Total

Numero

Decimal

El precio total de la venta, no permite
valores nulos
Tabla 8: Descripcin Tabla Venta
2.7.3.6. Tabla DetalleVenta
Atributo Tipo de dato Tamao del
campo
Descripcin

IdVenta

Numero

Entero Largo
Cdigo del Usuario , es un correlativo y es la PK
(clave primaria) no permite valores nulos

idProducto

Numero

Entero Largo
Cdigo del Producto y es FK (clave externa) no
permite valores nulos


Cantidad

Numero

Entero Largo
La cantidad de productos vendidos, no permite
valores nulo

precioVenta

Numero

Decimal
El precio del producto vendido, no permite
valores nulos
Tabla 9: Descripcin Tabla DetalleVenta
34

2.7.4. Modelo Relacional en Microsoft Access

Ilustracin 17: Modelo Relacional en Access

2.7.4.1. Producto

Ilustracin 18: Tabla Producto

35

2.7.4.2. Cliente

Ilustracin 19: Tabla Cliente
2.7.4.3. Venta

Ilustracin 20: Tabla Venta
36

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

37

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 Nombre Asignado
ComboBox cboUsuario
Label 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
38

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
39

b. Elementos utilizados
Tipo de Control Nombre Asignado
MenuStrip mnuPrincipal
Mantenimiento Clientes
Producto
Proveedor
Venta
Usuario
Consultas Clientes
Producto
Proveedor
Venta
Usuario
Movimientos Ventas
Reportes Clientes
Producto
Proveedor
Venta
Usuario
Tabla 11: Elementos Formulario Principal
c. Codificacin en el Formulario Principal (MDIPrincipal)

Ilustracin 28: Cdigo Fuente Formulario Principal
40

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 Nombre
TextBox txtCodigo
txtNombres
txtDireccion
txtDNI
txtTelefono
Button btnNuevo
btnGuardar
btnBuscar
btnModificar
btnEliminar
btnCancelar
btnSalir
DataGridView dgvClientes
GroupBox gbDatosClientes
gbOpciones
Label lblTitulo
lblListClientes
Ilustracin 30: Elementos Formulario Mantenimiento Clientes
41

c. Cdigo Fuente en el Formulario Mantenimiento de Clientes


42



43





44


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


45

b. Elementos utilizados
Tipo de control Nombre
TextBox txtCodigo
txtSerie
txtStockActual
txtPreCosto
txtPreVenta
ComboBox cboMarca
cboCategoria
cboProveedor
DateTimePicker dtpFechAct
Button btnNuevo
btnGuardar
btnBuscar
btnModificar
btnEliminar
btnCancelar
btnSalir
DataGridView dgvProductos
GroupBox gbDatosProductos
gbOpciones
Label lblTitulo
lblListProductos
Tabla 12: Componentes Formulario Mantenimiento de Productos
c. Condigo fuente en el Formulario Mantenimiento Productos

46




47





48




49




Ilustracin 33: Cdigo Fuente Formulario Mantenimiento de Productos
50

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

Ilustracin 34: Formulario Mantenimiento de Proveedor
b. Elementos utilizados
Tipo de control Nombre
TextBox txtCodigo
txtRUC
txtSNombre
txtTelefono
txtDireccion
Button btnNuevo
btnGuardar
btnBuscar
btnModificar
btnEliminar
btnCancelar
btnSalir
DataGridView dgvProveedor
GroupBox gbDatosProveedor
gbOpciones
Label lblTitulo
lblListProveedor
Ilustracin 35: Componentes de Formulario Mantenimiento de Proveedores

51

c. Cdigo fuente del formulario FrmMantProveedor



52




53



Ilustracin 36: Cdigo Fuente Mantenimiento Proveedor
54

2.8.6. Formulario Mantenimiento de Usuarios
a. Diseo del Formulario

b. Elementos utilizados
Tipo de control Nombre
TextBox txtCodigo
txtUsuario
txtClave
txtNombres
txtApellidos
Button btnNuevo
btnGuardar
btnBuscar
btnModificar
btnEliminar
btnCancelar
btnSalir
DataGridView dgvUsuarios
GroupBox gbDatosUsuarios
gbOpciones
Label lblTitulo
lblListUsuarios
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
55

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
56

.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
57

.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")
58

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
59


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 Nombre
RadioButton rbtCodigo
rbtNombre
rbtDNI
TextBox txtDato
DataGridView dgvClientes
Label lblTitulo
Ilustracin 40: Componentes Formulario Bsqueda de Clientes
60

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
61

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 Nombre
RadioButton rbtCodigo
62

rbtPreVenta
rbtSerie
TextBox txtDato
DataGridView dgvProductos
Label 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()
63

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



64

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 Nombre
RadioButton rbtCodigo
rbtPreVenta
rbtSerie
TextBox txtDato
DataGridView dgvProductos
Label 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

65

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
66

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 Nombre
TextBox txtCliente
txtDireccion
DataGridView dgvConVentas
Buttton btnBuscarVenta
Label lblSubTotVenta
lblIGV
lblTotalVenta
GroupBox gbDatosCliente
Tabla 15: Componentes Formulario Bsqueda de Ventas
67

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
68

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 Nombre
TextBox txtNombre
DataGridView 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
69


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 Nombre
Label lblDescripcion
DataGridView 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
70

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
71

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

b. Elementos utilizados
Tipo de Control Nombre
Button 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
72

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
73

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
74

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
75

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
76

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
77

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

78

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
79

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
80

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
81

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.











82

REFERENCIAS BIBLIOGRFICAS
[1] Programacin Visual Basic .net CEVALLOS F, Javier Ed. AlgaOmega Grupo
Editor, S.A. Mxico.
[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 RITISA
GRAF, Lima 2006.
[5] Desarrollando Aplicaciones .NET Oficina de Publicaciones de FIIS UNI PARA
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




















83

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
84

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
85

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
86

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
87

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
88

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
89

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


90

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
91

1.6.3. Reporte de Proveedores

Ilustracin 82: Reporte de Proveedores
1.6.4. Reporte de Ventas

Ilustracin 83: Reporte de Ventas
92

1.6.5. Reporte de Facturas

Ilustracin 84: Reporte de Facturas

You might also like