Está en la página 1de 92

MONOGRAFA SOBRE EL DESARROLLO DE SISTEMA

INFORMTICO PARA VENTA DE PRODUCTOS DE CMPUTO

ASESOR
Ing. Hobby Saavedra Rosas

DICIEMBRE 2012
TRUJILLO - PER

AGRADECIMIENTOS:

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

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

A mis compaeros de estudios y a mis compaeros de trabajo, asesor, amigos


y todas las personas que han credo en m, y que de una u otra forma han
ayudado a la finalizacin de este trabajo

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

alguna

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

ii

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

iii

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

del lenguaje de

programacin Visual Basic. Net, el cual nos va a permitir el diseo e implementacin


de dicho software, en el aspecto sobre el almacenamiento de los datos, se hizo uso
de Microsoft Access 2010, el cual permitir almacenar toda la informacin, y para los
reportes se hizo uso de Cristal Reports, el cual permitir generar los informes.

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

La parte medular de la monografa se ubica en el Captulo II, debido a que en ellos se


presenta el diseo e implementacin tanto de la base de datos como de la aplicacin.

iv

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

Ilustracin 45: Cdigo Fuente Formulario Consulta de Proveedores .................................................... 65


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

vi

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

vii

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

CAPITULO I ........................................................................................................................... 9
1.

MARCO REFERENCIAL ................................................................................................ 9


1.1.

SISTEMAS GESTORES DE BASES DE DATOS (SGBD).................................... 9

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

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

DBMS

procedentes del ingls,

Data Base Management

System) es el software que permite a los usuarios procesar, describir, administrar


y recuperar los datos almacenados en una base de datos.
En estos

Sistemas se proporciona un conjunto coordinado de programas,

procedimientos y lenguajes que permiten a los distintos usuarios realizar sus


tareas habituales con los datos, garantizando adems la seguridad de los
mismos.

Ilustracin 1: Funcionamiento Sistema Gestor de Base de Datos


El xito del SGBD reside en mantener la seguridad e integridad de los datos.
Lgicamente tiene que proporcionar herramientas a los distintos usuarios. Entre
las herramientas que proporciona estn:

Herramientas para la creacin y especificacin de los datos. As como la


estructura de la base de datos.

Herramientas para administrar y crear la estructura fsica requerida en las


unidades de almacenamiento.

Herramientas para la manipulacin de los datos de las bases de datos, para


aadir, modificar, suprimir o consultar datos.

Herramientas de recuperacin en caso de desastre

Herramientas para la creacin de copias de seguridad


9

Herramientas para la gestin de la comunicacin de la base de datos

Herramientas para la creacin de aplicaciones que utilicen esquemas externos


de los datos

Herramientas de instalacin de la base de datos

Herramientas para la exportacin e importacin de datos

1.1.2. Niveles de abstraccin de una base de datos


En cualquier sistema de informacin se considera que se pueden observar los
datos desde dos puntos de vista:

Vista externa. Esta es la visin de los datos que poseen los usuarios del
Sistema de Informacin.

Vista fsica. Esta es la forma en la que realmente estn almacenados los


datos.

En un

sistema

orientado a procesos, los usuarios ven los datos desde las

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

Esquema fsico

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

Esquema Conceptual

Se trata de un esquema terico de los datos en el que figuran organizados en


estructuras reconocibles del mundo real y en el que tambin aparece la forma

10

de relacionarse los datos. Este esquema es el paso que permite modelar un


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

Esquema externo

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

Ilustracin 2: Niveles de Abstraccin de una Base de Datos


1.1.2.4.

Recursos Humanos de las Bases de Datos

11

Intervienen muchas personas en el desarrollo y manipulacin de una base de


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

Directivos/as. Organizadores y coordinadores del proyecto a


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

Analistas. Son los encargados de controlar el desarrollo de la base


de datos aprobada por la direccin. Normalmente son adems los
diseadores de la base de datos (especialmente de los esquemas
interno y conceptual) y los directores de la programacin de la
misma.

Administradores/as de las bases de datos. Encargados de crear


el esquema interno de la base de datos, que incluye la planificacin
de copia de seguridad, gestin de usuarios y permisos y creacin
de los objetos de la base de datos.

Desarrolladores/as o programadores/as. Encargados de la


realizacin de las aplicaciones de usuario de la base de datos.

Equipo de mantenimiento. Encargados de dar soporte a los


usuarios en el

trabajo diario (suelen incorporar adems tareas

administrativas como la

creacin de copias de seguridad por

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


b. Usuarios

12

Expertos/as. Utilizan el lenguaje de manipulacin de datos (DML)


para acceder a la base de datos. Son usuarios que utilizan la base
de datos para gestin avanzada de decisiones.

Habituales.

Utilizan

las

aplicaciones

creadas

por

los

desarrolladores para consultar y actualizar los datos. Son los que


trabajan en la empresa a diario con estas herramientas y el objetivo
fundamental de todo el desarrollo de la base de datos.

Ocasionales. Son usuarios que utilizan un acceso mnimo a la base


de datos a travs de una aplicacin que permite consultar ciertos
datos. Seran por ejemplo los usuarios que consultan el horario de
trenes a travs de Internet.

1.1.3. Estructura Multicapa


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

.
Ilustracin 3: Estructura multicapa de las facilidades de usuario

13

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

1.1.4. Modelos Conceptuales


a. Modelo Entidad Relacin
Ya hemos visto anteriormente que existen varios esquemas a realizar para
poder

representar en forma de base de datos informtica un problema

procedente del ordenador.


En 1976 y 1977 dos artculos de Peter P. Chen presentan un modelo para
realizar esquemas que posean una visin unificada de los datos. Este modelo
es

el modelo entidad/interrelacin (entity/relationship en ingls) que

actualmente se conoce ms con el nombre de entidad/relacin (Modelo E/R o


ME/R, en ingls E/RM).
Posteriormente otros autores han aadido mejoras a este modelo lo que ha
producido una familia de modelos. La ms aceptada actualmente es el
modelo

entidad/relacin extendido (ERE) que complementa algunas

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

b. Componentes del Modelo Entidad Relacin

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

14

decir cualquier elemento informativo que tenga importancia para


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

persona Pedro

Snchez Crespo con DNI 12766374. Una entidad es un objeto


concreto, no un simple dato: el coche que tenemos en el garaje
es una entidad, Mercedes sin embargo es la marca de ese
coche, es decir es un atributo de esa entidad.

Ilustracin 4: Entidad y Conjunto de Entidades


En la actualidad se suele llamar entidad a lo que anteriormente se
ha definido

como conjunto de entidades. De este modo

hablaramos de la entidad

PERSONAS. Mientras que cada

persona en concreto sera una ocurrencia o un ejemplar de la


entidad persona.

Representacin Grfica

15

En el modelo entidad relacin los conjuntos de entidades


se representan con un

rectngulo dentro del cual se

escribe el nombre de la entidad:

Ilustracin 5: Representacin de la Entidad Persona

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

Ilustracin 6: Entidad Dbil

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

16

Ilustracin 7: Ejemplo de Relacin

Representacin Grfica

Ilustracin 8: Representacin Grfica de Relacin

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

Ilustracin 9: Atributos de Entidad y Relacin

1.1.5. Modelos Lgicos


17

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

b. Relacin o Tabla
Segn el modelo relacional (desde que Codd lo enunci) el elemento
fundamental es lo que se conoce como relacin, aunque ms habitualmente
se

le llama tabla (o tambin array o matriz). Codd defini las relaciones

utilizando un lenguaje matemtico, pero se pueden asociar a la idea de tabla


(de filas y columnas) ya que es ms fcil de entender.
No hay que confundir la idea de relacin segn el modelo de Codd, con lo que
significa una relacin en el modelo Entidad/Relacin de Chen. No tienen nada
que ver
Las relaciones constan de:

Atributos. Referido a cada propiedad de los datos que se almacenan


en la relacin (nombre, dni,...).

18

Tuplas. Referido a cada elemento de la relacin. Por ejemplo si una


relacin almacena personas, una tupla representara a una persona
en concreto.

Puesto que una relacin se representa como una tabla; podemos entender
que las

columnas de la tabla son los atributos; y las filas, las tuplas.

Tabla 1: Tabla de una Base Datos


Ejemplo real de relacin o tabla clientes.

Tabla 2: Tabla Clientes de una Base de Datos

c. Paso de Entidad Relacin a Modelo Relacional

Transformacin de las Entidades


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

Ilustracin 10: Transformacin de Entidad a esquema Relacional

Grafos Relacionales
Es un esquema relacional en el que hay lneas que enlazan las
claves principales

con las claves secundarias para representar

mejor las relaciones. A veces se representa en forma de nodos de


grafos y otras se complementa el clsico. Ejemplo:

Ilustracin 11: Grafo Relacional

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

20

Ilustracin 12: Esquema Relacional de Ms Access

1.1.6. Principales Sistemas Gestores de Bases de Datos


1.1.6.1.

SGBD de cdigo Abierto (Libres)

a. MySQL
MySQL es un sistema gestor de bases de datos que se puede
encuadrar dentro de la categora de los programas open-source.
Aparte de las caractersticas que definen MySQL como programa
open-source, existen aspectos que lo diferencian de otros productos
como, por citar uno conocido, Access. Los atributos a los que
hacemos referencia son:

Posibilidad de crear y configurar usuarios, asignando a cada


uno de ellos permisos diferentes.

Facilidad de exportacin e importacin de datos, incluso de la


base de datos completa.

Posibilidad de ejecutar conjuntos de instrucciones guardadas


en ficheros externos a la base de datos.

21

MySQL es muy utilizado en aplicaciones web, como Drupal o


phpBB,

en

plataformas

(Linux/Windows-Apache-MySQL-

PHP/Perl/Python), y por herramientas de seguimiento de


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

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

1.1.6.2.

SGBD Propietarios

a. MICROSOFT SQL SERVER

22

Es un motor de base de datos relacional, de libre descarga y


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

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


consultas.

Compatibilidad con la rplica de mezcla y el acceso a datos


remotos (RDA).

Integracin con Microsoft SQL Server 2005.

Las herramientas de administracin son Microsoft SQL Server


Management Studio y SQL Server Management Studio Express.

Integracin con Microsoft Visual Studio 2005.

Acceso a datos remotos y rplica de mezcla para sincronizar


datos.

Microsoft Proveedor de datos .NET Framework y .NET Compact


Framework

para

SQL

Server

Compact

Edition

(System.Data.SqlServerCe).

Compatibilidad con Microsoft ADO.NET y el proveedor de OLE


DB para SQL Server Compact Edition.

Un subconjunto de sintaxis SQL.

Se implementa como una base de datos incrustada en equipos


de escritorio, dispositivos mviles y Tablet PC.

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

mantenerse al da a medida que los datos crecen. Access 2010 le


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

Posibilidad de ampliacin

Sencillez

Mltiples usuarios

Escalabilidad

1.2. TECNOLOGA .NET


1.2.1. Visual Studio .Net 2010

Desde la primera versin de .NET Framework, los equipos de desarrollo de estos


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

La existencia de un entorno de desarrollo integrado y bloques de


construccin de aplicaciones comunes a ambos lenguajes.

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


lenguajes.

24

El hecho de que las principales reas de innovacin presente y futura en el


desarrollo de los lenguajes se reflejan en partes exteriores de los mismos,
como ocurre en el caso de LINQ.

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

1.2.2. .NET FRAMEWORK


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

El Common Lenguage Runtime (CLR) es una serie de libreras dinmicas


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

25

Por otro lado, la librera de clases de .NET Framework proporcionan una


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

VB.NET ahora es totalmente un lenguaje orientado a objetos con herencia y


todo. Tambin permite crear Threads o hilos o tramas de ejecucin y otras
cosas que antes nos estaban vetadas.

Ilustracin 13: .Net Framework

26

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

2.2. Oportunidad de Negocio


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

2.3. Anlisis de beneficios


Los beneficios que se obtienen al desarrollar un sistema informtico para la gestin de
ventas de una empresa de dedicada a la venta de artculos de cmputo, son los
siguientes:

Reduccin de costos y tiempo de desarrollo, debido a que en la actualidad se


cuenta con herramientas tecnolgicas en nuestro caso se hizo uso de la
tecnologa .Net, la cuales se pueden utilizar e integrar para obtener un producto a
bajo costo.

Reduccin del costo de mantenimiento, debido a que detrs de estas herramientas


tecnolgicas .Net, existe bastante informacin en la web.

Reduccin de costo de integracin, debido a que es factible integrarlo con otras


herramientas que permitan aumentar el nivel de seguridad, ya que todas estas

27

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


conjunto.

FASE II: PLANEAMIENTO


2.4. Modelo lgico de integracin de tecnologas en el Sistema informtico

Ilustracin 14: Modelo Lgico de Sistema Informtico

2.5. Descripcin de componentes


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

como tambin poder realizar consultas, insertar, actualizar, eliminar y


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

2.6.1. Caractersticas del Hardware


El Hardware utilizado para la implementacin de los servidores, tiene las
siguientes caractersticas:

Fabricante del sistema: HP Pavillion

Modelo del sistema: dv4 -1413la

Tipo de sistema: PC basado en x32

Procesador: AMD Athlon x2 Dual-Core

RAM: 3GB

El Hardware utilizado, por el cliente es el siguiente:

Fabricante del sistema: TOSHIBA

Modelo del sistema: Satellite SP 69836R

Tipo de sistema: PC basado en x64

Procesador: Intel ( R) Centrino

RAM: 4GB
29

2.6.2. Caractersticas del Software


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

DESCRIPCIN

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

30

Ilustracin 16: Entidades o Tablas

2.7.3. Diccionario de Datos


2.7.3.1. Tabla Clientes
Tipo de dato

Tamao del
campo

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

Atributo

Descripcin

Tabla 4: Descripcin Tabla Clientes

31

2.7.3.2. Tabla Producto


Atributo

Tipo de dato

Tamao del
campo

Descripcin

codproducto

Numero

Entero Largo

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

Cdigo del Producto, es un correlativo y


es la PK (clave primaria) 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

Entero Largo

Cdigo del Proveedor y es FK (clave


externa) no permite valores nulos

idProveedor

Numero

Tabla 5: Descripcin Tabla Producto

2.7.3.3. Tabla Usuario


Atributo

Tipo de dato

Tamao del
campo

Id

Autonumeracion

Entero Largo

usuario

Texto

255

clave

Texto

255

nombre

Texto

255

Texto

255

apellido

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

Tabla 6: Descripcin Tabla Usuario

32

2.7.3.4. Tabla Proveedor


Atributo

Tipo de dato

Tamao del
campo

Descripcin

codproveedor

Numero

Entero Largo

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

Cdigo del Proveedor , es un correlativo


y es la PK (clave primaria) no permite
valores nulos

Tabla 7: Descripcin Tabla Proveedor


2.7.3.5. Tabla Venta
Atributo

Tipo de dato

Tamao del
campo

IdVenta

Numero

Entero Largo

idCliente

Texto

255

fechaVenta

Fecha/Hora

--

igv

Numero

Decimal

Total

Numero

Decimal

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

Tabla 8: Descripcin Tabla Venta


2.7.3.6. Tabla DetalleVenta
Atributo

Tipo de dato

Tamao del
campo

IdVenta

Numero

Entero Largo

idProducto

Numero

Entero Largo

Cantidad

Numero

Entero Largo

Numero

Decimal

precioVenta

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

Tabla 9: Descripcin Tabla DetalleVenta


33

2.7.4. Modelo Relacional en Microsoft Access

Ilustracin 17: Modelo Relacional en Access

2.7.4.1.

Producto

Ilustracin 18: Tabla Producto

34

2.7.4.2.

Cliente

Ilustracin 19: Tabla Cliente

2.7.4.3.

Venta

Ilustracin 20: Tabla Venta

35

2.7.4.4.

DetalleVenta

Ilustracin 21: Tabla DetalleVenta

2.7.4.5.

Proveedor

Ilustracin 22: Tabla Proveedor

2.7.4.6.

Usuario

Ilustracin 23: Tabla Usuario

36

2.8. Diseo e implementacin del Sistema Informtico


2.8.1. Diseo del formulario de Acceso al Sistema (FrmLogin)

Ilustracin 24: Formulario de Acceso al Sistema


a. Elementos utilizados
Tipo de Control
ComboBox
Label

Nombre Asignado
cboUsuario
lblUusuario
lblPasssword
TextBox
txtPasword
Button
btnEntrar
btnCancelar
PictureBox
pbUsuario
Tabla 10: Elementos del Formulario de Acceso

Usamos un cuadro combinado para elegir el Usuario con cual vamos a


ingresar al sistema.

Usamos una caja de texto donde se ingresar el Password respectivo de


cada usuario

Usaremos un botn llamado ENTRAR en donde accederemos a nuestro


proyecto

Usaremos un botn SALIR sirve para cancelar el proceso de acceso

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

Ilustracin 25: Cdigo Fuente Conexin Base Datos


37

c. Codificacin del Formulario de Acceso (FrmLogin)

Ilustracin 26: Cdigo Fuente Formulario de Acesso

2.8.2. Formulario Principal (MDIPrincipal)


a. Diseo del formulario Principal

Ilustracin 27: Formulario Principal del Sistema


38

b. Elementos utilizados
Tipo de Control
MenuStrip
Mantenimiento

Nombre Asignado
mnuPrincipal
Clientes
Producto
Proveedor
Venta
Usuario
Consultas
Clientes
Producto
Proveedor
Venta
Usuario
Movimientos
Ventas
Reportes
Clientes
Producto
Proveedor
Venta
Usuario
Tabla 11: Elementos Formulario Principal

c. Codificacin en el Formulario Principal (MDIPrincipal)

Ilustracin 28: Cdigo Fuente Formulario Principal


39

2.8.3. Formulario de Mantenimiento de Clientes


a. Diseo de Formulario (FrmMantClientes)

Ilustracin 29: Formulario Mantenimiento de Clientes

b. Elemento utilizados
Tipo de control
TextBox

Button

DataGridView
GroupBox
Label

Nombre
txtCodigo
txtNombres
txtDireccion
txtDNI
txtTelefono
btnNuevo
btnGuardar
btnBuscar
btnModificar
btnEliminar
btnCancelar
btnSalir
dgvClientes
gbDatosClientes
gbOpciones
lblTitulo
lblListClientes

Ilustracin 30: Elementos Formulario Mantenimiento Clientes

40

c. Cdigo Fuente en el Formulario Mantenimiento de Clientes

41

42

43

Ilustracin 31: Cdigo Fuente Formulario Mantenimiento de Clientes

2.8.4. Formulario de Mantenimiento de Productos


a. Diseo de Formulario Mantenimiento de Productos

Ilustracin 32: Formulario Mantenimiento Productos

44

b. Elementos utilizados
Tipo de control
TextBox

ComboBox

DateTimePicker
Button

DataGridView
GroupBox
Label

Nombre
txtCodigo
txtSerie
txtStockActual
txtPreCosto
txtPreVenta
cboMarca
cboCategoria
cboProveedor
dtpFechAct
btnNuevo
btnGuardar
btnBuscar
btnModificar
btnEliminar
btnCancelar
btnSalir
dgvProductos
gbDatosProductos
gbOpciones
lblTitulo
lblListProductos

Tabla 12: Componentes Formulario Mantenimiento de Productos

c. Condigo fuente en el Formulario Mantenimiento Productos

45

46

47

48

Ilustracin 33: Cdigo Fuente Formulario Mantenimiento de Productos


49

2.8.5. Formulario Mantenimiento de Proveedores


a. Diseo del formulario FrmMantProveedor

Ilustracin 34: Formulario Mantenimiento de Proveedor

b. Elementos utilizados
Tipo de control
TextBox

Button

DataGridView
GroupBox
Label

Nombre
txtCodigo
txtRUC
txtSNombre
txtTelefono
txtDireccion
btnNuevo
btnGuardar
btnBuscar
btnModificar
btnEliminar
btnCancelar
btnSalir
dgvProveedor
gbDatosProveedor
gbOpciones
lblTitulo
lblListProveedor

Ilustracin 35: Componentes de Formulario Mantenimiento de Proveedores

50

c. Cdigo fuente del formulario FrmMantProveedor

51

52

Ilustracin 36: Cdigo Fuente Mantenimiento Proveedor


53

2.8.6. Formulario Mantenimiento de Usuarios


a. Diseo del Formulario

b. Elementos utilizados
Tipo de control
TextBox

Button

DataGridView
GroupBox
Label

Nombre
txtCodigo
txtUsuario
txtClave
txtNombres
txtApellidos
btnNuevo
btnGuardar
btnBuscar
btnModificar
btnEliminar
btnCancelar
btnSalir
dgvUsuarios
gbDatosUsuarios
gbOpciones
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

54

Dim registro As Integer


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

55

.Add("@id", OleDbType.VarChar).Value = Me.txtCodigo.Text


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

56

.Add("@apellidos", OleDbType.VarChar).Value = Me.txtApellidos.Text


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

57

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

58

Private Sub btnSalir_Click(ByVal sender As System.Object, ByVal e As


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

Ilustracin 38: Cdigo Fuente Formulario Mantenimiento de Usuarios

2.8.7. Formulario de Bsqueda de Clientes


a. Diseo del Formulario FrmConClientes

Ilustracin 39: Formulario de Bsqueda de Clientes

b. Elementos utilizados
Tipo de control

Nombre

RadioButton

rbtCodigo
rbtNombre
rbtDNI

TextBox

txtDato

DataGridView

dgvClientes

Label

lblTitulo

Ilustracin 40: Componentes Formulario Bsqueda de Clientes


59

c. Cdigo Fuente en el Formulario FrmConClientes


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

60

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

Ilustracin 41: Cdigo Fuente Formulario Consulta de Clientes

2.8.8. Formulario de Bsqueda de Productos


a. Diseo de Formulario FrmConProductos

Ilustracin 42: Formulario Bsqueda de Productos

b. Elementos utilizados
Tipo de control

Nombre

RadioButton

rbtCodigo

61

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()

62

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

Ilustracin 43: Cdigo Fuente Formulario Consulta de Clientes

63

2.8.9. Formulario de Bsqueda de Proveedores


a. Diseo del Formulario FrmConProveedores

Ilustracin 44: Formulario Bsqueda de Proveedores

b. Elementos utilizados
Tipo de control

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

64

Private Sub rbtCodigo_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles


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

Ilustracin 45: Cdigo Fuente Formulario Consulta de Proveedores


65

2.8.10. Formulario de Bsqueda de Ventas


a. Diseo del Formulario FrmConVenta

Ilustracin 46: Formulario Consulta de Ventas

b. Elementos utilizados
Tipo de Control

Nombre

TextBox

txtCliente
txtDireccion

DataGridView

dgvConVentas

Buttton

btnBuscarVenta

Label

lblSubTotVenta
lblIGV
lblTotalVenta

GroupBox

gbDatosCliente

Tabla 15: Componentes Formulario Bsqueda de Ventas

66

c. Cdigo Fuente del Formulario FrmConVenta


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

Ilustracin 47: Cdigo Fuente Formulario Consulta de Ventas

67

2.8.11. Formulario de Consulta de Clientes para Formulario de Ventas


a. Diseo de Formulario Consulta de Clientes FrmCliClientes

Ilustracin 48: Formulario Bsqueda de Cliente para Ventas

b. Elementos utilizados
Tipo de Control

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

68

Private Sub dgvClientes_CellDoubleClick(ByVal sender As Object, ByVal e As


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

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

2.8.12. Formulario de Consulta de Ventas para formulario de Ventas


a. Diseo de Formulario de Bsqueda de Ventas FrmBusVentas

Ilustracin 50: Formulario Bsqueda de Ventas

b. Elementos utilizados
Tipo de control

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

69

Public daVenta As OleDbDataAdapter


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

Ilustracin 51: Cdigo Fuente Formulario Bsqueda de Ventas


70

2.8.13. Formulario de Gestin de Pedido


a. Diseo del Formulario FrmVenta

b. Elementos utilizados
Tipo de Control

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

71

c. Cdigo fuente en el Formulario FrmVenta


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

72

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

73

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

74

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

75

Private Sub btnNuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


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

Ilustracin 52: Cdigo Fuente Formulario de Venta


76

2.8.14. Formulario Reporte de Ventas


a. Diseo de Formulario FrmRptVentas

Ilustracin 53: Formulario de Reporte de Ventas


b. Diseo de Reporte en Crystal Report rptVentas

Ilustracin 54: Diseo de Reporte de Ventas


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

Ilustracin 55: Cdigo Fuente Formulario Reporte de Ventas

77

2.8.15. Formulario Reporte de Clientes


a. Diseo de Formulario FrmRptClientes

Ilustracin 56: Formulario Reporte de Clientes


b. Diseo de Reporte en Crystal Report rptClientes

Ilustracin 57: Diseo de Reporte de Clientes


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

Ilustracin 58: Cdigo Fuente Formulario Reporte de Clientes


78

2.8.16. Formulario Reporte de Productos


a. Diseo del Formulario Reporte de Productos

Ilustracin 59: Formulario Reporte de Productos


b. Diseo de Reporte en Crystal Report rptProductos

Ilustracin 60: Diseo de Reporte de Productos


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

Ilustracin 61: Cdigo Fuente Formulario Reporte de Productos


79

2.8.17. Formulario Reporte de Proveedores


a. Diseo del Formulario Reporte de Proveedores

Ilustracin 62: Formulario de Reporte de Proveedores


b. Diseo de Reporte en Crystal Report rptProveedores

Ilustracin 63: Diseo de Reporte de Proveedores


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

Ilustracin 64: Cdigo Fuente en el Formulario Reporte de Proveedores


80

CAPITULO III
3. CONCLUSIONES Y RECOMENDACIONES
3.1. CONCLUSIONES
Se cre un documento en el que se abordan de una forma general los
conceptos de base de datos, lenguaje de programacin Visual Basic. Net, y el
desarrollo del Sistema Informtico para Venta de Productos de cmputo.
El contar con un sistema informtico dentro de una empresa; nos permite
automatizar los procesos de venta y consulta de productos, el cual genera
ventajas competitivas y nos entrega informacin en el menor tiempo posible.
Se determin que es un tanto sencillo la integracin de la Tecnologa. Net,
para el desarrollo de aplicaciones, de escritorio, que son de mucha utilidad
hoy en da dentro las empresas dedicadas al rubro de ventas.
El sistema cuenta con varias funcionabilidades que facilitan al usuario la
comprensin y manejo del mismo.
3.2. RECOMENDACIONES

Que los usuarios que van a manejar el sistema tenga conocimientos bsicos
en Informtica y una previa capacitacin a la utilizacin del mismo.

Para cualquier ayuda utilizar el manual de usuario.

Los vendedores o usuarios

deben ser los nicos responsables de la

informacin que se ingresa al sistema para que no hayan confusiones.

Para que la implementacin del sistema sea efectiva es recomendable que la


informacin se maneje con gran seguridad.

81

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

Grupo

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

82

ANEXOS
1. FUNCIONAMIENTO DEL SISTEMA
1.1.

INGRESO AL SISTEMA

Ilustracin 65: Manejo Formulario Acceso al Sistema

1.2.

FORMULARIO PRINCIPAL

Ilustracin 66: Manejo Formulario Principal

83

1.3.

Opciones del Men Mantenimiento

1.3.1. Formulario de Mantenimiento de Clientes

Ilustracin 67: Manejo de Formulario Mantenimiento de Clientes

1.3.2. Formulario de Mantenimiento de Productos

Ilustracin 68: Manejo de Formulario de Mantenimiento de Productos

84

1.3.3. Formulario de Mantenimiento de Proveedores

Ilustracin 69: Manejo de Formulario Mantenimiento de Proveedor

1.3.4. Formulario Mantenimiento de Usuarios

Ilustracin 70: Manejo Formulario Mantenimiento de Usuarios


85

1.4.

Opciones del Men Consultas

1.4.1. Formulario Consulta de Clientes

Ilustracin 71: Manejo de Consulta de Clientes

1.4.2. Formulario Consulta de Proveedores

Ilustracin 72: Manejo de Consulta de Proveedores

1.4.3. Formulario Consulta de Productos

Ilustracin 73: Manejo de Consulta de Productos


86

1.4.4. Formulario Consulta de Ventas


1.4.4.1.

Formulario Bsqueda de Venta por Cliente

Ilustracin 74: Manejo de Consulta de Ventas por Cliente

1.4.4.2.

Formulario Consulta de Pedido por Cliente (Venta Realizada)

Ilustracin 75: Manejo de Pedido por Cliente


87

1.5.

Opciones del Men Movimientos

1.5.1. Generacin de Pedido (Ventas)

Ilustracin 76: Manejo de Gestin Pedido (Venta)

1.5.1.1.

Bsqueda de Clientes (Clic en el Botn Buscar Cliente)

Ilustracin 77: Manejo de Cliente que realiza Pedido


88

1.5.1.2.

Bsqueda de Productos (Clic en el Botn Buscar Productos)

Ilustracin 78: Manejo de Seleccin de Productos

1.5.1.3.

Generacin del Pedido para un cliente

Ilustracin 79: Gestin del Pedido por Cliente

89

1.6.

Opciones del Men Reportes

1.6.1. Reporte de Clientes

Ilustracin 80: Reporte de Clientes

1.6.2. Reporte de Productos

Ilustracin 81: Reporte de Productos


90

1.6.3. Reporte de Proveedores

Ilustracin 82: Reporte de Proveedores

1.6.4. Reporte de Ventas

Ilustracin 83: Reporte de Ventas


91

1.6.5. Reporte de Facturas

Ilustracin 84: Reporte de Facturas

92

También podría gustarte

  • Scripd 1
    Scripd 1
    Documento1 página
    Scripd 1
    Damian Salazar
    Aún no hay calificaciones
  • Guia 2
    Guia 2
    Documento7 páginas
    Guia 2
    Damian Salazar
    Aún no hay calificaciones
  • Mas Descargas Gratis en
    Mas Descargas Gratis en
    Documento1 página
    Mas Descargas Gratis en
    Damian Salazar
    Aún no hay calificaciones
  • Ultima Clase 1
    Ultima Clase 1
    Documento5 páginas
    Ultima Clase 1
    Damian Salazar
    Aún no hay calificaciones
  • Ejercicio 1 C++
    Ejercicio 1 C++
    Documento29 páginas
    Ejercicio 1 C++
    Damian Salazar
    Aún no hay calificaciones
  • Tabla
    Tabla
    Documento20 páginas
    Tabla
    Damian Salazar
    Aún no hay calificaciones
  • Ejercicios Resueltos SQL
    Ejercicios Resueltos SQL
    Documento8 páginas
    Ejercicios Resueltos SQL
    Damian Salazar
    Aún no hay calificaciones