Anda di halaman 1dari 132

MONOGRAFA SOBRE EL

DESARROLLO DE SISTEMA
INFORMTICO PARA VENTA
DE PRODUCTOS DE CMPUTO
ASESOR Ing. Hobby Saav!"a Ro#a#
DICIEMBRE $%&$ TRU'ILLO ( 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.
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.
2
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.
Pa*ab"a# +*av#, Sistema informtico, Base de Datos, Lenguaje de Programacin,
Generacin de Reportes
3
.INTRODUCCIN
El presenta trabajo pretende mostrar, la integracin de la tecnolgica .NET, en el
desarrollo de un Sistema nformtico 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
Marco Referencial, Captulo Metodologa y Capitulo Conclusiones,
Recomendaciones y Trabajos futuros.
4
INDICE GENERAL
La parte medular de la monografa se ubica en el Captulo , debido a que en ellos
se presenta el diseo e implementacin tanto de la base de datos como de la
aplicacin.
CAPITULO I
&. MARCO REFERENCIAL
&.&. SISTEMAS GESTORES DE BASES DE DATOS -SGBD.
&.&.&. D/0n0+01n ! 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.
I*2#3"a+01n &, F2n+0ona40n3o S0#34a G#3o" ! Ba# ! Da3o#
INDICE GENERAL
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 seguridadHerramientas para la
gestin de la comunicacin de la base de datos
INDICE GENERAL
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
&.&.$. N0v*# ! ab#3"a++01n ! 2na ba# ! !a3o#
En cualquier sistema de informacin se considera que se pueden observar los datos
desde dos puntos de vista:
V0#3a 53"na. Esta es la visin de los datos que poseen los usuarios del
Sistema de nformacin.
V0#3a /6#0+a. 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
INDICE GENERAL
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.
&.&.$.&. E#724a /6#0+o
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.
&.&.$.$. E#724a Con+832a*
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
de relacionarse los datos. Este esquema es el paso que permite modelar un
problema real a su forma correspondiente en el ordenador.
INDICE GENERAL
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.
&.&.$.9. E#724a 53"no
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.
Usuarios
Nivel Externo
correspondencias
Nivel Conceptual
Al macen amiento^ ^^Correspondencias
Nivel Interno
INDICE GENERAL
I*2#3"a+01n $, N0v*# ! Ab#3"a++01n ! 2na Ba# ! Da3o#
&.&.$.:. R+2"#o# H24ano# ! *a# Ba## ! Da3o#
ntervienen 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. In/o"4;30+o#
Lgicamente son los profesionales que definen y preparan la base de
datos.
Pueden ser:
D0"+30vo#<a#. 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
INDICE GENERAL
reuniones pertinentes.
Ana*0#3a#. 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.
A!40n0#3"a!o"#<a# ! *a# ba## ! !a3o#. 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.
D#a""o**a!o"#<a# o 8"og"a4a!o"#<a#. Encargados de la realizacin
de las aplicaciones de usuario de la base de datos.
E7208o ! 4an3n040n3o. 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. U#2a"0o#
INDICE GENERAL
E58"3o#<a#. 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.
Hab032a*#. 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.
O+a#0ona*#. 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 nternet.
&.&.9. E#3"2+32"a M2*30+a8a
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 ANS
(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).
I*2#3"a+01n 9, E#3"2+32"a 42*30+a8a ! *a# /a+0*0!a!# ! 2#2a"0o
INDICE GENERAL
INDICE GENERAL
INDICE GENERAL
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.
&.&.:. Mo!*o# Con+832a*#
a. Mo!*o En30!a! R*a+01n
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).
INDICE GENERAL
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. Co48onn3# !* Mo!*o En30!a! R*a+01n
= En30!a!.
Se trata de cualquier objeto u elemento (real o abstracto) acerca
del cual se pueda almacenar informacin en la base de datos. Es
INDICE GENERAL
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 DN 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.
P4SONAS

Conjunto de entidades
I*2#3"a+01n :, En30!a! y Con>2n3o !
En30!a!#
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
INDICE GENERAL
PERSONAS. Mientras que cada persona en concreto sera una ocurrencia o un
ejemplar de la entidad persona.
? R8"#n3a+01n G";/0+a
INDICE GENERAL
En el modelo entidad relacin los conjuntos de entidades se
representan con un rectngulo dentro del cual se escribe el nombre de
la entidad:
PERSONAS
I*2#3"a+01n @, R8"#n3a+01n ! *a En30!a! P"#ona u T08o# !
En30!a!#
> 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:
TAFEAS LABORALES
I*2#3"a+01n A, En30!a! DBb0*
INDICE GENERAL
= R*a+01n
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
I*2#3"a+01n C, E>48*o ! R*a+01n
= R8"#n3a+01n G";/0+a
I*2#3"a+01n D, R8"#n3a+01n G";/0+a !
R*a+01n = A3"0b23o#
Describen propiedades de las entidades y las relaciones. En este
modelo se representan con elipses, dentro de las cuales se
:
INDICE GENERAL
coloca el nombre del atributo.
Esa elipse se une con una lnea a las entidades. Ejemplo:
I*2#3"a+01n E, A3"0b23o# ! En30!a! y R*a+01n
&.&.@. Mo!*o# L1g0+o#
a. Mo!*o R*a+0ona*
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
INDICE GENERAL
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. R*a+01n o Tab*a
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:
? A3"0b23o#. Referido a cada propiedad de los datos que se almacenan en
la relacin (nombre, dni,...).
INDICE GENERAL
? T28*a#. 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.
C*0n3#
DNI No4b" E!a!
&$999E::C Ana @$
&$9C:ACSG Eva $C
$D$99$9$H Ma"30n 99
Tab*a $, Tab*a C*0n3# ! 2na Ba# ! Da3o#
+. Pa#o ! En30!a! R*a+01n a Mo!*o R*a+0ona*
? T"an#/o"4a+01n ! *a# En30!a!#
En principio las entidades fuertes del modelo Entidad Relacin son
transformadas al modelo relacional siguiendo estas instrucciones:
Entidades. Las entidades pasan a ser tablas
Ejemplo real de relacin o tabla clientes.
Tab*a & , Tab*a ! 2na Ba# Da3o#
INDICE GENERAL
Atributos. Los atributos pasan a ser columnas o atributos de la
tabla.
dentificadores principales. Pasan a ser claves primarias dentificadores
candidatos. Pasan a ser claves candidatas.
Esto hace que la transformacin se produzca segn este ejemplo:
I*2#3"a+01n &%, T"an#/o"4a+01n ! En30!a! a #724a
R*a+0ona* ? G"a/o# R*a+0ona*#
Es un esquema relacional en el que hay lneas que enlazan las
claves principales con las claves secundarias para representar
INDICE GENERAL
mejor las relaciones. A veces se representa en forma de nodos de
grafos y otras se complementa el clsico. Ejemplo:
I*2#3"a+01n &&, G"a/o R*a+0ona*
!. E#724a# R*a+0ona*#
Se ha hecho muy popular la forma de presentar esquemas relacionales del
programa Microsoft Access
I*2#3"a+01n &$, E#724a R*a+0ona* ! M# A++##
.
INDICE GENERAL
&.&.A. P"0n+08a*# S0#34a# G#3o"# ! Ba## ! Da3o#
&.&.A.&. SGBD ! +1!0go Ab0"3o -L0b"#.
a. MySFL
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:
u Posibilidad de crear y configurar usuarios, asignando
a cada uno de ellos permisos diferentes.
u Facilidad de exportacin e importacin de datos,
incluso de la base de datos completa.
u Posibilidad de ejecutar conjuntos de instrucciones
guardadas en ficheros externos a la base de datos.
INDICE GENERAL
u 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 MySAM, 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. POSTGRESFL
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
INDICE GENERAL
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.
&.&.A.$. SGBD P"o803a"0o#
a. MICROSOFT SFL SERVER
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.
u Un motor de base de datos compacto y un slido optimizador de consultas.
u Compatibilidad con la rplica de mezcla y el acceso a datos remotos (RDA).
u ntegracin con Microsoft SQL Server 2005.
u Las herramientas de administracin son Microsoft SQL Server Management
INDICE GENERAL
Studio y SQL Server Management Studio Express.
u ntegracin con Microsoft Visual Studio 2005.
u Acceso a datos remotos y rplica de mezcla para sincronizar datos.
u Microsoft Proveedor de datos .NET Framework y .NET Compact Framework
para SQL Server Compact Edition (System.Data.SqlServerCe).
u Compatibilidad con Microsoft ADO.NET y el proveedor de OLE DB para
SQL Server Compact Edition.
u Un subconjunto de sintaxis SQL.
u 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 par
amantenerse 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.
u Posibilidad de ampliacin
u Sencillez
u Mltiples usuarios
u Escalabilidad
&.$.TECNOLOGA .NET
&.$.&. V0#2a* S32!0o .N3 $%&%
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
38
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.
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 LNQ.
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.
&.$.$. .NET FRAMEGORH
38
.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
AP 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.
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: I4;#
/;+0*#J
38
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.
CAPITULO II
$. METODOLOGA
FASE I, VISIN K ALCANCE DEL
PROKECTO $.&. V0#01n
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.
38
I*2#3"a+01n &9, .N3 F"a4Lo"M
$.$. O8o"32n0!a! ! Ngo+0o
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 deforma automtico sinoms
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.
$.9. An;*0#0# ! bn/0+0o#
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:
38
u 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.
u Reduccin del costo de mantenimiento, debido a que detrs de estas
herramientas tecnolgicas .Net, existe bastante informacin en la web.
u 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
herramientas se basan en los estndares que les permute poder trabajar en
conjunto.
FASE II, PLANEAMIENTO
$.:.Mo!*o *1g0+o ! 0n3g"a+01n ! 3+no*og6a# n * S0#34a
0n/o"4;30+o
I*2#3"a+01n
&:, Mo!*o
L1g0+o !
S0#34a
In/o"4;30+o
38
dientes Servidor/es Servidor/es
de Aplicaciones de
Base de Datos
Net Remotinq _____ADO.NE
$.@.D#+"08+01n ! +o48onn3#
$.@.&. C*0n3#
Son los usuarios que interactan con el sistema informtico, a travs de
las GU (nterfaz 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.
$.@.$. S"v0!o" ! A8*0+a+0on#
En nuestro caso se trata del DE, 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 como tambin poder realizar consultas, insertar,
actualizar, eliminar y reportar, todos los datos que se necesiten en algn
momento determinado.
$.@.9. S"v0!o" ! Ba# ! Da3o#
En nuestro caso se encarga de gestionar toda la data, es decir
38
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
$.A. E#8+0/0+a+0on# TB+n0+a#
Todos los componentes de nuestro sistema informtico fueron implementados
usando
la tecnologa .Net y ADO.Net, para poder gestionar toda la data.
$.A.&. Ca"a+3"6#30+a# !* Ha"!La"
El Hardware utilizado para la implementacin de los servidores, tiene las
siguientes caractersticas:
u Fabricante del sistema: HP Pavillion
38
u Modelo del sistema: dv4 -1413la
u Tipo de sistema: PC basado en x32
u Procesador: AMD Athlon x2 Dual-Core
u RAM: 3GB
El Hardware utilizado, por el cliente es el siguiente:
u Fabricante del sistema: TOSHBA
u Modelo del sistema: Satellite SP 69836R
u Tipo de sistema: PC basado en x64
u Procesador: ntel ( R) Centrino
u RAM: 4GB
38
$.A.$. Ca"a+3"6#30+a# !* So/3La"
A continuacin se detallara, cada de los componentes software
utilizados,
DESCRIPCIN NOMBRE VERSIN
Sistema Operativo Microsoft Windows 7
Lenguaje de Programacin Visual Basic VB 10.0
DE Visual Studio 2010
Sistema Gestor de Base de Microsott 2010
Reportes Crystal Reports Crystal Reports
$.C.&. Mo!*o En30!a! R*a+01n
I*2#3"a+01n &@, Mo!*o En30!a! R*a+01n
$.C.$. En30!a!# o Tab*a#
38
Tab*a 9, Ca"a+3"6#30+a# !* So/3La" $.C. D0#No I48*4n3a+01n !
*a Ba# ! Da3o# !* S0#34a In/o"4;30+o
para la implementacin:
I*2#3"a+01n &A, En30!a!# o Tab*a#
$.C.9. D0++0ona"0o ! Da3o#
$.C.9.&. Tab*a C*0n3#
Atributo Tipo de dato
Tamao
del campo
Descripcin
codclient
e
Autonumerac
ion
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
DN Texto 11
El nmero del DN del cliente, no
permite valores nulos
telfono Texto 10
El nmero del telfono fijo o
celular, no permite valores nulos
A3"0b23o T08o ! Ta4aNo D#+"08+01n
Tab*a :, D#+"08+01n Tab*a C*0n3#
40
codproducto Numero
Entero
Largo
Cdigo del Producto, es un
correlativo y es la PK (clave
primaria) no permite valores nulos
Serieproducto Texto 80
Nombre de la serie del producto,
no permite valores nulos
Marca Texto 20
Nombre de la marca del producto,
no permite valores nulo
Tipo Texto 50
Nombre del Tipo del producto, no
permite valores nulos
Stockactual Numero
Entero
Largo
Cantidad actual del producto en
stock, no permite valores nulos
PreCosto Moneda --
Costo de cada Producto, no
permite valores nulos
PreVenta Moneda --
Precio de venta de cada Producto,
no permite valores nulos
FechActualizaci
on
Fecha/Hor
a
--
Se ingresa la fecha de la compra
del Producto, no permite valores
idProveedor Numero
Entero
Largo
Cdigo del Proveedor y es FK
(clave externa) no permite valores
A3"0b23o T08o ! !a3o Ta4aNo D#+"08+01n
d
Autonumeraci
on
Entero
Largo
Cdigo del Usuario , es un
correlativo y es la PK (clave
usuario Texto 255
Tipo de Usuario (administrador /
clave Texto 255
La clave del usuario, no permite
nombre Texto 255
El nombre del usuario, no permite
apellido Texto 255
El apellido del usuario, no permite
A3"0b23o T08o ! !a3o Ta4aNo D#+"08+01n
codproveedor Numero
Entero
Largo
Cdigo del Proveedor , es un
correlativo y es la PK (clave
rucproveedor Texto 12
El nmero del RUC del
Proveedor, no permite valores
Tab*a :, D#+"08+01n Tab*a C*0n3#
41
$.C.9.9. Tab*a U#2a"0o
nombre Texto 30
Nombre de la empresa del
proveedor, no permite valores
telfono Texto 10
Telfono de la empresa del
proveedor, no permite valores
direccin Texto 50
Direccin de la empresa, no
permite valores nulos
A3"0b23o T08o ! Ta4aNo D#+"08+01n
dVenta Numero
Entero
Largo
Cdigo de la tabla venta , es un
correlativo y es la PK (clave
idCliente Texto 255
Cdigo del Cliente y es FK (clave
externa) no permite valores nulos
fechaVent Fecha/Hora
La fecha de la salida de la venta,
igv Numero Decimal
El GV del producto a la venta, no
Total Numero Decimal
El precio total de la venta, no
permite valores nulos
A3"0b23o T08o ! Ta4aNo !* D#+"08+01n
dVenta Numero Entero Largo
Cdigo del Usuario , es un correlativo y
idProducto Numero Entero Largo
Cdigo del Producto y es FK (clave
externa) no permite valores nulos
Cantidad Numero Entero Largo
La cantidad de productos vendidos, no
precioVent Numero Decimal
El precio del producto vendido, no
Tab*a :, D#+"08+01n Tab*a C*0n3#
42
Tab*a C, D#+"08+01n Tab*a P"ov!o" $.C.9.@. Tab*a Vn3a
Tab*a D, D#+"08+01n Tab*a Vn3a $.C.9.A. Tab*a D3a**Vn3a
I*2#3"a+01n &C, Mo!*o R*a+0ona* n A++##
$.C.:.&. P"o!2+3o
+o!8"o!2+3o ( Ma"+ T08 S3o+ P"C P"v F+O 0!P"o
43
I*2#3"a+01n &D, Tab*a P"o!2+3o
$.C.:. Mo!*o R*a+0ona* n M0+"o#o/3 A++##
I*2#3"a+01n &E, Tab*a C*0n3
$.C.:.9. Vn3a
44
I*2#3"a+01n &D, Tab*a P"o!2+3o
I*2#3"a+01n $&, Tab*a D3a**Vn3a
$.C.:.@. P"ov!o"
I*2#3"a+01n $$, Tab*a P"ov!o"
$.C.:.A. U#2a"0o
I! ( 2#2a"0o +*av ( no4b" a8**0!o
2
S+"3a"0 &$9:A An!"a L2na
45
I*2#3"a+01n &D, Tab*a P"o!2+3o
$.D. D0#No 048*4n3a+01n !* S0#34a In/o"4;30+o
$.D.&. D0#No !* /o"42*a"0o ! A++#o a* S0#34a -F"4Log0n.
Label lblUusuario
Button btnEntrar
u Usamos un cuadro combinado
para elegir el Usuario con cual vamos a ingresar al sistema.
u Usamos una caja de texto donde se ingresar el Password respectivo
de cada usuario
u Usaremos un botn llamado ENTRAR en donde accederemos a
nuestro proyecto
u Usaremos un botn SALR sirve para cancelar el proceso de acceso
b. M1!2*o ! Con501n a *a Ba# ! Da3o# Vn3a ! Co4823a!o"a#
Dim cadena As String =
Provider=Microsoft.A!."#!D$.12%0&Data 5o'rce=D()*+A$A30,
S-5*,.!M*AS).enta de om/'tadoras,accd0
1 P'02ic S'0 coman doS3#4$5.a2 omando As String6 ...7
I*2#3"a+01n $@, C1!0go F2n3 Con501n Ba# Da3o#
48
a.
I*2#3"a+01n $:, Fo"42*a"0o ! A++#o
a* S0#34a E*4n3o# 230*0Pa!o#
Tab*a &%, E*4n3o# !* Fo"42*a"0o
! A++#o
1 P'02ic 9'nction
M'm2*e:t;$5.a2 va2'e As Do'02e6
As String %.<1 !nd Mod'2e7
I*2#3"a+01n $@, C1!0go F2n3 Con501n Ba# Da3o#
4<
+. Co!0/0+a+01n !* Fo"42*a"0o ! A++#o -F"4Log0n.
im/orts 05stem.'ata -m/orts
S5stem.Data."2eD0 1P'02ic 2ass
9rm#ogin
Dim o0&DataAda/ter As "2eD0DataAda/ter =o0&eto Ada/tador
de datos Din o0&DataSet As DataSet =o0&eto on&'nto de
datos 3 Prvate S'0 9rm#ogin>#oad;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
M5$ase.#oad *r5
@ A0riendo 2a cone:ion a2 origen de
datos cone:ion."/en;6
@reando o0&eto DataAda/ter
o0&DataAda/ter = AeB "2eD0DataAda/ter;Cse2ect D from
's'arioC% cone:ion6
Private s'0 0tn!ntrar>c2icE;$5va2 sender AS S5stem.oto&ect&
$5va2 e As S5stem.!ventArgs6 ?and2es 0tn!ntrar.c2icE
*r5
static c'enta As integer
Dim o0&DatavieB As AeB DatavieB3
o0&DatavieB.ra0ie = o0&DataSet.*a02es;C's'arioC6
o0&DatavieB.+oB9i2ter = 's'ario=@C F
*rim;Me.c0o's'ario.se2ectedva2'e.*ostring6 FF >
C and F Cc2ave==C F *rim;Me.t:tPassBord.*e:t6 F
-f
o0&DatavieB.co'
nt G 0 *Hen Dim
cDr Is Data+oB
oDr =
o0&DatavieB.ite
mJ6 .+oB
= Dec2ara 2a varia02e sesiKn en e2
mKd'2o de ti/o string sesiKn =
oDrCnom0reC6 FL F
oDr;Ca/e22idosC6
D e2 contenido 2a varia02e 's'ario /odras
'ti2iMar2a en c'a2N'ier form de2
D sistema% /ara N'e veas e2 's'ario
N'e ingreso a2 sistema% /or citar 'n =
e&en/2o ' otros 'sos N'e se 2e /'ede
dar
Msg$o:;C!sta Osted ingresando como "/erador( F
sesiKn6
Me.?ide3
DiB frm As AeB MD-Princi/a22 = 2'ego
de0erP ser 9rmPrinci/a2 frQ.SHoB;6
!2se
c'enta = c'enta RS 2 -f c'enta = 3
*Hen
Msg$"T;PA+A "*+A .!U S!+AC% ?sg$o:St52e.ritica2%
C#" S-!A*"C6
!nd
!nd -f
Msg$o:;C*e N'eda( C R 5tr;3 , c'enta6
R o/ort'nidad;es6% 18% C!rrorC6
t:tPassBord.2ear;6 (
c0oOs'ario.9oc's;6
!nd -f
atcH e: As
!:ce/tion !nd
*r5 ! nd S' 0
!nd 2ass
I*2#3"a+01n $@, C1!0go F2n3 Con501n Ba# Da3o#
48
I*2#3"a+01n $A, C1!0go F2n3 Fo"42*a"0o !
A+##o $.D.$. Fo"42*a"0o P"0n+08a* -MDIP"0n+08a*. a.
D0#No !* /o"42*a"0o P"0n+08a*
I*2#3"a+01n $C, Fo"42*a"0o P"0n+08a* !* S0#34a
I*2#3"a+01n $@, C1!0go F2n3 Con501n Ba# Da3o#
4V
Mantenimiento
Clientes
Producto
Consultas
Clientes
Producto
Reportes
Clientes
Producto
Tab*a &&, E*4n3o# Fo"42*a"0o P"0n+08a*
+. Co!0/0+a+01n n * Fo"42*a"0o P"0n+08a* -MDIP"0n+08a*.
=-f Msg$o:;C;DeseQ Sa2irWDD%
Msg$o:St52e.XesAo% YSistemaY6 S
Msg$o:+es'2t..es *Hen
=e.cance2 = *r'e
En
d T-F
!n
d
s'
0
Prvate s'0
Mantenimiento*ooTstri/Men':teni&.>c2icE;$
5va2 sender as s5stem. &0 2ect% $5va2 e
as S5tem.ZventArgi6 ?and2es
9rnMantc12entes.snoB;6 f rimante 22entes.
Md2Parent = Me
Private S'0
Proveedores*oo2Stri/Men'iten>c2icE;$5va
2 sender AS s5sten.o0&ect% $5va2 e AS
S5stea.#ventArgs.6 ?and2es
Proveedores*oo2Str2/Men'2tem.e2
9 rnBantProveedores.snoB;G
9rmMantProveedorei.MdiParent Q Me
/rivate S'0
Prod'ctos*oo2Str2/Men'iteD>d2eE;$5va2
sender AS s5stea.o0&ect% $5va2 e AS
s5stea.!ventArgs6 ?and2es
Prod'ctos*oo2stri/Men'item.e2i,
9 rmMantProd'cto.snoB;6
9rmMantProd'ctoi.MdiParent S Me
, Private S'0
I*2#3"a+01n $@, C1!0go F2n3 Con501n Ba# Da3o#
50
b. E*4n3o#
230*0Pa!o#
Mantenimiento*oo2Stri/Men'it
22entes*oo2Str2/Ben'item>22eE[$5va2 sen
9rmconc12entes.SHoB;6
9rmconc
Tient.es
.MdiPare
nt S Me
!nd s'0
/rivate s'0 Proveedores*oo2stri/Men'itenii>c2icE; $5va2
sender AS s5stem.o0&ect% $5va2 e AS s5steD.!ventArgs6
?and2es /roveedores*oo2stri/Men'itemi.=
9rmonProveedores.SHoB;6
9rmonProvee
dores.MdiPare
nt = Me !nd
sub
Private S'0 Prod'ctos*oo2Stri/Men'-tem2>2icE;$5.a2
sender As S5steQ."0&ect% $5.a2 e As S5steQ.!ventArgs6
?and2es Prod'ctos*oo2Stri/Men'-tem2.2ic
9rmcon/rod'ctos.sHoB;6
9rmcon/rod'
ctos.MdiParen
t D Me !nd
S'0
Private S'0 .entas*oo2Stri/Men'-tem2>2icE;$5.a2 sender
As S5stem."0&ect% $5va2 e As S5stem.!ventArgs6 ?and2es
.entas*oo2Stri/Men'-temi.c2icE
9rmon.enta.SHoB;6
9rmon.en
ta.MdiParen
t = Me !nd
S'0
/rivate s'0 MD2Princi/a2i>#oad;$5va2 sender AS
s5steQ.o0&ect% $5va2 e AS s5steQ.#ventArgs6 ?and2es
M5$ase.#oad
!nd S'0
Private S'0 2ientes*oo2Stri/Men'2tem2>2ic2e;$5va2
sender As S5steQ."0&ect% $5va2 e As S5stea.!ventArgs6
?and2es 2ientes*oo2Stri/Men'-tem2.2icE
9rm+/t2ientes.SHoB;6
!nd sub
Private S'0 Proveedores*oo2Stri/Men'-teQ2>2icE;$5.a2
sender As S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6
?and2es Proveedores*oo2Stri/Men'-tem2.=
9rm+/tProveedores.SHoB;6
!nd S'0
Private S'0 Prod'ctos*oo2Stri/Men'2teQ2>2icE;$5va2
sender As S5steQ.o0&ect% $5.a2 e As S5stea.!ventArgs6
?and2es Prod'ctos*oo2Stri/Men'2tem2.2ic
9 rm+/tProd'ctos.SHoB;6
!nd S'0
I*2#3"a+01n $@, C1!0go F2n3 Con501n Ba# Da3o#
51
s5stem.o0&ect% $5va2 e AS
s5stem.!ventArgs6 ?and2es
ci2entes*oo2Stri/Men'item.ci2cEFo"42*a"0o !
Man3n040n3o ! C*0n3#
a. D0#No ! Fo"42*a"0o -F"4Man3C*0n3#.
I*2#3"a+01n $E, Fo"42*a"0o Man3n040n3o ! C*0n3#
b. E*4n3o 230*0Pa!o#
T53Bo5 353Co!0go
353No4b"#
B233on b3nN2vo
b3nG2a"!a"
b3nB2#+a"
G"o28Bo5 gbDa3o#C*0n3
Lab* *b*T032*o
I*2#3"a+01n 9%, E*4n3o# Fo"42*a"0o Man3n040n3o C*0n3#
52
+. C1!0go F2n3 n * Fo"42*a"0o Man3n040n3o ! C*0n3#
-m/orts S5stem.Data -m/orts S5stem.Data."2eD0
-P'02ic 2ass 9rmMant2ientes
Dim daod2i As
"2eD0DataAda/ter
Dim dr As Data+oB
@ "0&eto Data+oB
Dim registro As
-nteger Dim sB As
-nteger = 0 Dim
'2timo As -nteger
- Private S'0 9rmMant2ientes>#oad;$5.a2 sender As
S5stem."0&ect% $5.a2e As S5stem.!ventArgs6
?and2es M5$ase.#oad
@cargar datagridvieB
argarDatos;6
@cargar datos en 2as
ca&as de te:to
argarDatosAct'a2iMados;0
6
Ha0i2itarontro2es;9a2se6
Activar;6
Activar$otones;*r'e% 9a2se% 9a2se% 9a2se% 9a2se6
!nd S'0
- S'0
Activar;6
0tnA'evo.!na02ed = *r'e
0tnAgregar.!na02ed = 9a2se
0tn$'scar.!na02ed = *r'e
0tnAct'a2iMar.!na02ed =
9a2se 0tn!2iminar.!na02ed =
9a2se 0tnance2ar.!na02ed =
9a2se 0tnSa2ir.!na02ed =
*r'e !nd S'0
S'0 Activar$otones;$5.a2 0n'evo As $oo2ean% $5.a2
0agregar As $oo2ean% $5.a2 0act'a2iMar >>>>>
As $oo2ean% $5.a20e2iminar As $oo2ean%
$5.a20cance2ar As $oo2ean6
dgv2iente . A2ternating+oBsDe=9aii2te22St52e .
$acEo2or = o2or .
#igHt\o2denrod.e22oB
da2ientes = AeB "2eD0DataAda/ter;CSe2ect D
Cfrom 2ienteC% cone:ion6
I*2#3"a+01n 9%, E*4n3o# Fo"42*a"0o Man3n040n3o C*0n3#
53
- S'0
Act'a2iMarf6
Dim cad As String
cad = C'/date c2iente set cod2iente=]cod2iente.%ncni0re=
]nom0re.%direccion= ]direccion%DA-=7fi^DA-%te2efono=7
Fte2efcno BHere codc2iente=]ccdc2ienteC -f cone:ion.State
= onnectionState."/en *Hen cone:ion.2ose;6
!nd -f
cone:ion."/en;6
cmd.ommand*5/e = ommand*5/e.*e:t cmd.ommand*e:t = cad
cmd.onnection = cone:ion _itH cmd.Parameters
.Add;C]ccd2iente%
"2eD0*5/e..arHar6..a2'e =
Me.t:todigo.*e:t
.Add;C]ncm0reC%
I*2#3"a+01n 9%, E*4n3o# Fo"42*a"0o Man3n040n3o C*0n3#
54
"2eD0*5/e..arHar6..a2'e =
Me.t:tAom0re.*e:t
.Add;]direccionC%
"2eD0*5/e..arHar6..a2'e =
Me.t:tDireccion.*e:t
.Add;C]DA-%
"2eD0*5/e..arHar6 ..a2'e
`Me.t:tDA-.*e:t
.Add;C]te2efonoC%
"2eD0*5/e..arHar6..a2'e =
Me.t:t*e2efono.*e:t !nd _itH
Dim A As -nteger
f2 = cmd.!:ec'teMon3'er5
-f A = 1 *Hen
Message$o:.SHoB;C+egistro Act'a2iMado orrectamenteC6
argarDatos;6
argarDatosAct'a2iMados;'2ti
mo6
Ha0i2itarontro2es;9a2se6
!2se
I*2#3"a+01n 9%, E*4n3o# Fo"42*a"0o Man3n040n3o C*0n3#
55
Message$o:.SHoB;C!rror en 2a *ransacciKn6
!nd -f
cmd.Parameters.2ear3 ( cone:ion.2ose;6
!nd S'0
15'0 !2iminar;6
-f Message$o:.SHoB;CSeg'ro de $orrarWC% CAvisoC%
Message$o:$'ttons.XesMo% Message$o:-con.3'estion6 = >
7
_indoBs.9orms.
Dia2og+es'2t.X
es *Hen Dim
cad As String
cad = @@'/date c2iente set codc2iente=7
ff2codc2ientetnom0re= ]ncm0re%direccion=
]direccion&D-=--=]DA-Gte2efono=]te2efono BHere codc2iente=7
ff2codc2iente -f cone:ion.State = onnectionState."/en *Hen
cone:ion.2ose;6
!nd -f
I*2#3"a+01n 9%, E*4n3o# Fo"42*a"0o Man3n040n3o C*0n3#
58
cone:ion."/en3
cmd.ommand*5/e = ommand*5/e.*e:t cmd.ommand*e:t = cad
cmd.onnection = cone:ion _itH cmd.Parameters
.Add;;icodc2ienteC%
"2eD0*5/e..arHar6..a2'e =
Me.t:todigo.*e:t SAdd;7
Jncm0re%
"2eD0*5/e..arHar6 ..a2'e =
Me.t:tAom0re.*e:t
.Add;]direccionC%
"2eD0*5/e..arHar6..a2'e =
Me.t:tDireccion.*e:t
.Add;;56DA-%
"2eD0*5/e..arHar6 ..a2'e =
Me.t:tDA-.*e:t .Add;7
Jte2efono%
"2eD0*5/e..arHar6..a2'e =
Me.t:t*e2efono.*e:t !nd _itH
Dim A As -nteger A = cmd.!:ec'teMon3'er5 -f A = 1 *Hen
Message$o:.SHoB;C+egistro
!2iminado orrectamenteC6
registro =
Me.t:todigo.*e:t , 1
argarDatosAct'a2iMados;'2t
imo6
Ha0i2itarontro2es;9a2se6
!2se
Message!ao:.SHoB;!rror en 2a *ransacciKn6
!nd -f
I*2#3"a+01n 9%, E*4n3o# Fo"42*a"0o Man3n040n3o C*0n3#
5<
cmd.Parameters.2ear3 ( cone:ion.2ose;6
!nd -f !nd S'0
Private S'0 0tnA'evo>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6
?and2es 0tnA'evo.2icE Ha0i2itarontro2es;*r'e6
1im/iarc2iente;6
corre2ativo;6 sB = 1
ActivarA'evo;6
!nd S'0
Private S'0 0tnAgregar>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
0tnAgregar.2icE -f sB = 1 *Hen A'evo;6
!2se2f sB = 2 *Hen
Act'a2iMar;6
!nd -f
S_ = 0
Activar$otones;*r'e% 9a2se% 9a2se% 9a2se% 9a2se6
I*2#3"a+01n 9%, E*4n3o# Fo"42*a"0o Man3n040n3o C*0n3#
58
bPrivate S'0 0tnAct'a2iMar>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
0tnAct'a2iMar.2icE
sB = 2
Ha0i2itarontro2es;*r'e6
Activar$otones;9a2se% *r'e% *r'e% 9a2se% *r'e6
!nd S'0
bPrivate S'0 0tn!2iminar>22cE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.9ventArgs6
?and2es 0tn!2iminar.2icE !2iminar;6
!nd S'0
bPrivate S'0 0tnSa2ir>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
0tnSa2ir.2icE -f Msg$o:;CDesea sa2irW%
v02nformation R v0XesAo% CSa2ir6 = v0Xes *Hen
2ose;6
iS'0 0'5car;6
Dim tota2 As -nteger Dim codigo As String
codigo = -n/'t $o: ;C-ngrese cKdigo a $'scar=6
-f #en;codigo6 = 1 *Hen
codigo c 0C R codigo
!nd -f *r5
Dim *022ientes As Data*a02e Dim dr As
Data+oB
1
da2ientes c
AeB "2eD0DataAda/ter;@@Se2ect
ds2ientes c AeB DataSet
da2ientes . 9i22 ;ds2ientes % @@2iente 6
*022ientes = ds2ientes . *a02es; @@c2iente
6
D Para mostarar 2a /osicion% contamos 2os registros
de 2a ta02a -d2omas"fertado tota2 c
*022ientes.+oBs.o'nt
1 D Asignando 'na fi2a de datos
C+egistro a2 Data+oB dr =
*022ientes.+oBs;06
D Mostrando 2os datos desde e2 dataroB
t:todigo.*e:t = dr;Ccodc2iente6
t:tAom0re.*e:t c dr;Cnom0re6
t:tDireccion.*e:t = dr;CdirecciKn6
-,9 -sD$A'22;dr; Dfb- 6 6 *Hen
t:tDA* . *e:t ,
!2se
t:tDA-.*e:t , dr;CDA-6
I*2#3"a+01n 9$, Fo"42*a"0o Man3n040n3o P"o!2+3o#
Private S'0
c0oProveedor>Se2ected-nde:Hanged;$5.a2 sender
As S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6
?and2es codProd'cto =
.a2;c0oProveedor.Se2ected2nde:6 R 1
!nd S'0
I*2#3"a+01n 9%, E*4n3o# Fo"42*a"0o Man3n040n3o C*0n3#
5V
Private SiZ0 dgv2iesedieE;$5.a2 sender
As Z"0&ect% $5.a2 e As S5stem._indoBs
.9orms.
DataSrid.ieBe22Mo'se!veritArgs6
Sfrom c2iente BHere codc2ientec@ F codigo F C% cone:2on6
-f
-sD$A'22;dr;
te2efonoC66
*Hen
t:t*e2efono.
*e:t =
!2se
t:t*e2efono.*e
:t ,
dr;Cte2efonoC6
!nd -f atcH e:c
As !:ce/tion
Message$o:.SHoB;e:c.Message6
!nd *r5 !nd S'0
-Private S'0 0tn$'scar>2icE;$5)da2 sender As
S5stem."0&ect% $5.a2 e As S5stem.9ventArgs6
?and2es 0tn$'scar.2icE 0'scar;6
Activar$otones;*r'e% 9a2se% *r'e% *r'e% *r'e6
!nd S'0
-Private S'0 0tnance2ar>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.,ventArgs6
Hand2es 0tnance2ar.2icE
argarDatosAct'a2iMados;"6
Ha0i2itarontro2es;9a2se6
S_ = 0
Activar;6
Activar$otones;*r'e% 9a2se% 9a2se% 9a2se% 9a2se6
!nd S'0 2ass
I*2#3"a+01n 9&, C1!0go F2n3 Fo"42*a"0o Man3n040n3o ! C*0n3#
$.D.9. Fo"42*a"0o ! Man3n040n3o ! P"o!2+3o#
a. D0#No ! Fo"42*a"0o Man3n040n3o ! P"o!2+3o#
FrmMantProductos |CD||01|J^|
MANTENMENTO DE PRODUCTOS
Stock
Actual:
Precio Costo: Busca
r
] [LJ
Actualiza
Precio Fecha Actualizacin: Elimina
I [ i
Provee V HL+
> '
Listado de Productos
b. E*4n3o# 230*0Pa!o#
T53Bo5 353Co!0go
353S"0
Co4boBo5 +boMa"+a
B233on b3nN2vo
b3nG2a"!a"
b3nB2#+a"
G"o28Bo5 gbDa3o#P"o!2+
Lab* *b*T032*o
Tab*a &$, Co48onn3# Fo"42*a"0o Man3n040n3o ! P"o!2+3o#
+. Con!0go /2n3 n * Fo"42*a"0o Man3n040n3o P"o!2+3o#
-m/orts S5stem.Data -m/orts S5stem.Data."2eD0 3
P'02ic 2ass 9rmMantProd'ctos
Dim daodProd As "2eD0DataAda/ter
Dim marca;6 As String
Dim categoria;6 As String
Dim codProd'cto As -nteger
Dim cat As -nteger
Dim '2timo As -nteger
Dim sB As -nteger = 0
3 Private S'0 9rmMantProd'ctos>#oad;$5.a2 sender
As S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6
?and2es M5$ase.#oad argarProd'ctos;6
cargarom0oProveedor;6 cargarMarca;67
cargarategoria;6
argarDatosAct'a2iMados;06
Activar$otones;*r'e% 9a2se% 9a2se% 9a2se%
9a2se6
!nd S'0
Private S'0 t:tPrecio>*e:tHanged;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
t:tPrecio.
Me.t:tPrecio..*e:t ,
.a2;Me.t:tPrecio.*e:t6
D 1.1 !nd S'0
S'0 2im/iarProd'cto;6
Me.t:todigo.2ear;6
Me.t:tSerie.2ear;6
Me.t:tPrecio.2ear;6
Me.t:tPrecio..2ear;6
Me.t:tStocE.2ear;6
Me.c0oategoria.*e:t
= CC c0oMarca.*e:t =
CC
Me.c0oMarca.-tems.2ear;6
Me.c0oProveedor.*e:t = CC
@c0oProveedor.-tems.
2ear;6 !nd S'0
Private S'0 c0oMarca>Se2ected-nde:Hanged;$5.a2
sender As S5stem."0&ect% $5.a2 e As
S5stem.!ventArgs6 ?and2es c0of
@c0oMarca.Se2ected2nd
e: = 0 !nd S'0
S'0 cargarMarca;6
marca = [CeSe2eccionarGC% C \-\A$X*!% C ASOS% C9"T"AAC%
@@A.-D-AC% C\A-A_A+D% CM-+"S"9*C% C#"\-*!?C% C#\%
CSAMSOA\% C-A*!#C% CAMDCf c0oMarca.-tems,Add+ange;marea6
c0oMarca. Se2ected2nde:( = g =c0oMarca.!na02ed = 9a2se !nd
S'0
S'0 cargarategoria;6
categoria = [CeSe2eccionarGC% C MotHer0oardsC% C \ra/Hics
ards% CMo'seC% Che50oard% CMonitor% CMicro/rocessorsCf
c0oategoria.-tems%Add+ange;categoria6
c0oategoria.Se2ected2nde: = 0 =c0oategoria.!na02ed = 9a2se
!nd S'0
S'0 argarProd'ctos3
Dim sN2 As String = CSe2ect D from Prod'cto order 05
cod/rod'cto C daProd'ctos = MeB "2eD0DataAda/terfsN2%
cone:ion6 dsProd'ctos = MeB DataSet
daProd'ctos.9i22;dsProd'ctos% CProd'ctos6 dgvProd'cto,
DataSo'rce = dsProd'ctos,*a02es;CProd'ctos6 '2timo =
dsProd'ctos.*a02es;CProd'ctos6,+oBs,o'nt , 1
dgvProd'cto.Defa'2te22St52e.$acEo2or =
o2or%#igHt\o2denrodXe22oB dgvProd'cto,
A2ternating+oBsDefa'2te22St52e,$acEo2or = o2or,#igHt\reen
!nd S'0
S'0 Ha0i2itarontro2es;$5.a2 estado As $oo2ean6
Me,t:todigo,!na02ed = 9a2se Me.t:tSerie.!na02ed = estado
Me.t:tStocE.!na02ed = estado Me,t:tPrecio.!na02ed = estado
Me,t:tPrecio..!na02ed = estado =Me,c0oMarca, !na02ed =
estado !nd S'0
S'0 Activar$otones;$5.a2 0n'evo As $oo2ean% $5.a2
0agregar As $oo2ean% $5.a2 0act'a2iMar As $oo2ean%
$5.a2 0e2iminar As $oo2ean% 0tnA'evo.!na02ed =
0n'evo 0tnAgregar.!na02ed = 0agregar
0tnAct'a2iMar.!na02ed = 0act'a2iMar
0tn!2iminar.!na02ed = 0e2iminar 0tnance2ar.!na02ed
= 0cance2ar !nd S'0
S'0 cargarom0oProveedor;6
Dim sN2 As String Q CSe2ect cod/roveedor%nom0re
from ProveedorC
Dim *02Proveedor As AeB Data*a02e
daProveedor = AeB "2eD0DataAda/ter;sN2% cone:ion6
daProveedor.9i22;*02Proveedor6
c0oProveedor.DataSo'rce = *02Proveedor
c0oProveedor.Dis/2a5Mem0er Q Cnom0reC
c0oProveedor..a2'eMem0er D Ccod/roveedorC
icodProd'cto = -nt;c0oategoria..a2'eMem0er6
@*02Proveedor.Dis/ose;6
!nd S'0
S'0 corre2ativo;6
Dim *02Prod'ctos As Data*a02e i2im/iar2iente;6
@#im/iar 2os ontro2es ds2ientes = AeB DataSet
daodProd = AeB "2eD0DataAda/ter;Se2ect
ma:;cod/rod'cto6 as codigo from /rod'ctoC%
cone:ion6 daodProd.9i22;ds2ientes%
CodigoProd'ctoC6
*02Prod'ctos =
ds2ientes.*a02es;Codigo/rod'ctoC6
Me.t:todigo.*e:t D
-nt;*02Prod'ctos.+oBs;06.2tem;06.*oString6 R 1
*02Prod'ctos.Dis/ose;6
!nd S'0
P'02ic S'0 argarDatosAct'a2i<ados;$5.a2 fi2a As
-nteger6
Dim tota2 As -nteger * r5
Dim *02Prod'cto As AeB Data*a02e
Dim dr As Data+oB D
ds2ientes ` AeB "2eD0Dat a Ad
a/ter ;C@Se2ect D from /rod'cto orde ds2ientes
c AeB DataSet
da2ientes.9i22;ds2ientes% Y/rod'ctosC6
*02Prod'cto , ds1ientes.*a02es;C/rod'ctos6
tota2 *02Prod'cto.+oBs.o'nt dr c
*02Prod'cto.+oBs;fi2a6
D Mostrando 2os datos desde e2 dataroB
t:todigo.*e:t = dr;cod/rod'ctoC6
t:tSerie.*e:t = dr;CSerie/rod'ctoC6
c0oMarca.*e:t c dr;CMarcaC6 c0oategoria.*e:t =
dr;*i/oC6 t:tStocE . *e:t = dr@StocEact'a2C6
t:tPrecio.*e:t c dr;CPreostoC6
-f -sD$A'22;dr;Pre.entaC66 *Hen
t:tPrecio..*e:t = CC
!2se
t:tPrecio..*e:t = dr;CPre.entaC6
!nd -,f
-f -sD$A'22;dr;C9ecHAct'a2iMacionC66 *Hen
dt/9ecHa.*e:t c AoB
! -se
dt/9ecHa.*e:t c dr;9ecHAct'a2iMacion6 !nd -
05 cod/rod'cto cone:ion6
fcat c dr;idProveedorC6
Dim da As AeB "2eD0DataAda/ter;Cse2ect
cod/roveedor%nom0re fnofn /roveedor
BHere cod/roveedor=C F cat% cone:ion6
Dirr dt As AeB Data*a02e
da.9i22;dt6
c0oProveedor.DataSo'rce dt
c0oProveedor.D2s/2a5Mem0er c
Ynom0reC
7*atcH e:c As !:ce/tion
Message$oh.SHoB;e:c.Message6
!nd * r5 !nd
S'0
Sub Muevo()
Dim cad As String
cad = "nsert into producto values((0cadproductOj|ESerieproductOj|6Marca,|
H)Tipo,(5)Stockactual,(KPreCostoj(EPreVentaj|
6FechActualizacionj(jlidProveedor)' f conexion.State =
ConnectionState.Open Then conexion .CloseC)
End f
conexion.Open()
cmd .Comma ndType = CommandType.Text cmd.CommandText = cad
cmd.Connection = conexion With cmd.Parameters
.Add(@codproducto, OleDbType.nteger) .Value = Val(Me .txtCodigo.Text)
.Add(@5erieproducto,
OleDbType.VarChar) .Value =
Me.txt5erie.Text . Add(''@marca,
OleDbType .VarChar) .Value =
cboMarca .Text .Add(@Tipo,
OleDbType.VarChar).Value =
Me.cboCategoria.Text
.Add((0Stockactualj
OleDbType.nteger).Value =
Val(txtStock.Text)
.Add(@PreCosto, OleDbType.Currency).Value = Val(txtPrecioC.Text)
.Add(@PreVenta, OleDbType.Currency).Value = Val(txtPrecioV.Text)
. Add(''@FechActuaizacion,
OleDbType.Date).Value =
Me.dtpFecha.Text
.Add(@idProveedor,
OleDbType.nteger).Value =
codProducto
End With
Dim N As nteger M = cmd.ExecuteMonQuery f M = 1 Then
MessageBox.Show("Registro Guardado Correctamente)
C a rga rProd u ctos()
'CargarDatosActualizados(ultimo) h a
bilit a rCont role s(F als e)
!2se
Message$o:.SHoB;C!rror en 2a *ransacciKnC6
End -f
cmd.Parameters.Clear() : conexion.Close()
!nd S'0
S'0 Act'a2iMarZ6
Dim cad As String
cad , C'/date /rod'cto set cod/rod'cto,
;jcod/rod'cto%Serie/rod'cto=;0Serie/rod'cto%Marca=]Marca%
*i/o=]*i/o%StocEact'a2=;VStocEact'a2%9 -f cone:ion.State
= onnectionState."/en *Hen cone:ion.2ose;6
!nd -f
cone:ion."/en;6
cmd.ommand*5/e = ommand*5/e.*e:t cmd
.ommand*e:t = cad7 cmd.onnection = cone:ion
_itH cmd.Parameters
.Add;C]cod/rod'ctoC% "2eD0*5/e.-nteger6..a2'e =
.a2;Me.t:todigo.*e:t6
.Add;C]Serie/rod'ctoC% OleDbType..arHar6 ..a2'e =D
Me.t:tSerie.*e:t . Add;=C]marcaC%
OleDbType..arHar6 ..a2'e = c0oMarca.*e:t
.Add;C]*i/oC% OleDbType..arHar6..a2'e
Me.c0oategoria.*e:t .Add;C]StocEactual"%
OleDbType.-nteger6. .a2'e , .a2;t:tStocE.*e:t6
.Add;CZPreosto% OleDbType.'rrenc56..a2'e =
.a2;t:tPrecio.*e:t6
.Add;C]Pre.enta, OleDbType.'rrenc56..a2'e =
.a2;t:tPrecio..*e:t6
.Add("@FechActualizacion, OleDbType.Date).Value - Me.dtpFecha.Text
.Add("^idProveedor", OleDbType.nteger).Value cat End With
Dim M As -nteger M = cmd.!:ec'teMon3'er5 -f A = 1 *Hen
MessageBox.SHoB;C+egistro Act'a2iMado orrectamenteC6
argar/rod'ctoi;6
argarDato
FAc
t'a2iMados
;'2t into6
Ha022itar
ontro2es;9
a2se6
! 2se
Message$o:.SHoB;C!rror en 2a
*ransacciPnC6
!nd -,9
cmd.Parameters.2ear;6 &
cone:ion.2ose;6
!nd S'0>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
S'0 0'scar;6
Dim tota2 As
-nteger Dim
cod2go As
String
codigo c Tn/'t$o:;Y2ngrese cKdigo a
$'scarDD6
- f #en;eodigo6 c 1 *Hen
cod2go c C0C R, cod2go
!nd -f *r5
Dim*022ientes As Data*a02e
Dimdr As Data+oB @
Dimcad , YS!#!*
P+"DO*".cod/rod'cto%
P+"DO*".Serie/rod'cto%
P+"DO*".Marca% P+"DO*".*i/o%DD&
CP+"DO*".StocEact'a2%
P+"DO*".Preosto% P+"DO*".Preventa%
P+"DO*".9eeHAct'a2iMacion% F >
YProveedor . nom0re DD &
Y9+"M P+"DO*" -AA!+ b"-A Proveedor "A
P+"DO*".idProveedor c
Proveedor.cod/roveedor C F >
CBHere
P+"DO*".cod/rod
'cto` F codigo
da2ientes c AeB
"2e"0DataAda/tei
;cad% cone:ion6
ds2ientes = AeB
DataSet
da2ientes.9i22;ds2ientes%
YProd'ctoY6
*022ientes c
ds2ientes.*a02es;CProd'cto6
D Para mostarar 2a/osicion%>contamos
2osregistrosde2ata02a>-diomas
"fertado
tota2 c *021ientes.+oBs.o'nt
dr c *022icntes.+oBs;06
D Mostrando
2os datos
desde e2
dataroB
t:todigo.*e
:t c dr ;
cod/rod'ctoC
6
t:tSerie.*e:
t =
dr;Cserie/ro
d'ctoC6
c0oMarca.*e:
t =
dr;Cmarca==6
c0oategor
ia . *e:t c
d r ; D@ t
i/o 67
-f
-sD$A'22;dr
;CStocEAct'
a2=D6 6
*Hen
t:tStocE.*e
:t =
!is e
t:tStocE.*e:t c
dr;CStocEAct'a26
!nd -f
-f
-sD$A'22;dr
;Preosto
66 *Hen
t:tPrecio.
*e:t c
!2se
t:tPrecio.*e:t c
dr;CPreosto6
!nd -f
-f
25D$A'22;dr
;CPre.enta
66 *Hen
t:tPrecio..
*e:t
!2se
t:tPrecio..*e:t c dr;C
PreAdenta 6
!nd -f
-f
-sD$A'22;dr;
C9ecHAct'a2i
MacionC66
*Hen
dt/9ecHa
.*e:t =
!2se
dt/9ecHa.*e:
t c
dr;C9ecHAct'a2
iMacionC6 !nd
-f
-f
-sD$A'22;dr;
Cnoff20reC66
*Hen
cHoProvdeedo
r . *e:t cc

!2se
c HoProvdeedor . *e:t , dr
; D@noDn0re6
!nd -f
atcH e:c As !:ce/tion
Message$o:.SHoB;e:c.Message6
!nd *r5 !nd S'0
Private S'0 0tnAgregar>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6
?and2es 0tnAgregar.2icE -f sB = - *Hen A'evo;6
!2se2f sB = 2 *Hen
Act'a2iMar;6
!nd -f sB = j
Ha0i2itarontro2es;9a2se6
Ac tivar$otones;*r'e% 9a2se% 9a2se% 9a2se% 9a2se6
!nd S'0
Private S'0 0tnA'evo>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6
?and2es 0tnA'evo.2icE c0oProveedor.DataSo'rce =
AotHing cargarom0oProveedor;6
Ha0i2itarontro2es;*r'e6 c0oMarca.!na02ed Q *r'e
2im/iarProd'cto;6 corre2ativo;6 ca rgarMarea;6 sB
= 1
Activar$otones;*r'e% *r'e% 9a2se% 9a2se% *r'e6
!nd S'0
Private S'0 0tn!ditar>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6
?and2es 0tn!ditar.2icE @Ha0i2itarontro2es;*r'e6
0'scar;6
Activar$otones;9a2se% 9a2se% *r'e% *r'e% *r'e6
!nd S'0
Private S'0 verdeta2ie;$5.a2 fi2a As -nteger6
2im/iarProd'cto;6
*r5
-f dgvProd'cto.+oBs.o'nt G 0 *Hen
Me.t:todigo.*e:t =
dgvProd'cto.-tem;0%
fi2a6..a2'e.*oString
Me.t:tSerie.*e:t =
dgvProd'cto.-tem;2%
fi2a6..a2'e.*oString
c0oMarca.*e:t ,
dgvProd'cto.-tem;2%
fi2a6..a2'e.*oString
Me.c0oategoria.*e:t ,
dgvProd'cto.-tem;3%
fi2a6..a2'e.*oString
Me.t:tStocE.*e:t ,
dgvProd'cto.-tem;4% fi2a6
..a2'e.*oString
Me.t:tPrecio.*e:t =
dgvProd'cto.-tem;5%
fi2a6..a2'e.*oString
Me.t:tPrecio..*e:t =
dgvProd'cto.-tem;8%
fi2a6..a2'e.*oString
Me.dt/9ecHa..a2'e =
dgvProd'cto.-tem;<%
fi2a6..a2'e.*oString
c0oProveedor.*e:t =
dgvProd'cto.-tem;8%
fi2a6..a2'e.*oString
=dgvProd'ct
o..isi02e =
9a2se !nd -f
atcH e: As
!:ce/tion !nd
*r5
!nd S'0
Private S'0 dgvProd'cto>e22Mo'se2icE;$5.a2
sender As "0&ect% $5.a2 e As
S5stem._indoBs.9orms.Data\rid.ieBe22Mo'se!ventAr
gs6 *r5 . ,
Dim f As -nteger =
dgvProd'cto.'rrent
+oB.-nde:
argarDatosAct'a2iM
ados;f6
atcH e: As !:ce/tion
!nd *r5 !nd S'0
Private S'0 0tnAct'a2iMar>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.fcventArgs6
?and2es 0tnAct'a2iMar.2icE
sB = 2
Ha0i2itar,ontro2es ;*r'e6
Activar$otones;9a2se% *r'e% *r'e% 9a2se% *r'e6
!nd S'0
Private S'0 0tn!2iminar>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
0tn!2iminar.2icE
-f Message$o:.SHoB;CSeg'ro de $orrarWC% CAviso%
Message$o:$'ttons.XesAo% Message$o:-con.3'estion6 =
>
_indoBs.9orms
.Dia2og+es'2t
.Xes *Hen Dim
cad As String
cad = C'/date /rod'cto set
codigo=]cod/rod'cto%serie=]serie/rod'cto%marca=
;Smarca%stocE=]stocEact'a2%categoria= ;jti/o%
-f cone:ion.State ` onnectionState."/en *Hen
cone:ion.2ose;6
!nd -f
cone:ion."/en;6
cmd.ommand*5/e Q ommand*5/e.*e:t
cmd.ommand*e:t = cad cmd.onnection = cone:ion
_itH cmd.Parameters
.Add;]cod/rod'cto%
"2eD0*5/e..arA'meric6..a2'
e = Me.t:todigo.*e:t
.Add;C;Sserie/rod'ctoC%
"2eD0*5/e..arHar6 ..a2'e
D Me.t:tSerie.*e:t
.Add;C]Marca%
"2eD0*5/e..arHar6..a2'e =
Me.c0oMarca.*e:t .
Add; C;ftti/oC%
"2eD0*5/e ..arHar6 ..a2'e
= Me. c0oategoria
.*e:t .Add;C]stocEact'a2C%
"2eD0*5/e..arHar6..a2'e ,
Me.t:tStocE.*e:t
.Add;C]/recostoC%
"2eD0*5/e..arA'meric6..a2'
e = Me.t:tPrecio.*e:t
.Add;C&fi/reventaC%
"2eD0*5/e..arA'meric6..a2'
e = Me.t:tPrecio..*e:t
.Add;]fecHaact'a2iMacion
% "2eD0*5/e.D$*ime6..a2'e
= Me.dt/9ecHa
.Add;C]id/roveedorC%
"2eD0*5/e..arHar6..a2'e =
c0oProveedor..a2'eMem0er.*oString
!nd _itH
Dim A As -nteger A c cmd.!:ec'teMon3'er5 -f A =
1 *Hen
Message$o:.SHoB;C+egistro
!2iminado orrectamenteC6
=registro Q Me.t:todigo.*e:t , 1
@argarDatosAct'a2iMados;'2timo6
Ha0i2itarontro2es;9a2se6
!2se
Message$o:.SHoB;C!rror en 2a *ransacciKnC6
!nd -f
cmd.Parameters.2ear;6 ( cone:ion.2ose;6
!nd -f !nd S'0
Private S'0 0tnance2ar>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6
?and2es 0tnance2ar.2icE
=Ha0i2itarontro2es;9a2se6
@argarDatos;6
argarDatosAct'a2iMados;06 sB = 0
Activar$otones;*r'e% 9a2se% 9a2se% 9a2se% 9a2se6
!nd S'0
Private S'0 0tnSa2ir>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6
?and2es 0tnSa2ir.2icE -f Msg$o:;CDesea
sa2irW% v02nformation R v0XesAo% CSa2irC6 =
v0Xes *Hen 2ose;6
!nd -f !nd S'0
Private S'0 t:tPrecio>*e:tHanged;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6
?and2es t:tPrecio.*e:tHanged Me.t:tPrecio..*e:t
= .a2;Me.t:tPrecio.*e:t6 D 1.1 !nd S'07
S'0 2im/iarProd'cto;6
Me.t:todigo.2ear;6
Me.t:tSerie.2ear;6
Me.t:tPrecio.2ear;6
Me.t:tPrecio..2
ear;6
Me.t:tStocE.2ea
r;6
Me.c0oategoria.
*e:t = CC
c0oMarca.*e:t =
Me.c0oMarca.-tems.2ear;6
Me.c0oProveedor.*e:t , C
@c0oProveedor.-t
ems.2ear;6 !nd
S'0
Private S'0 c0oMarca>Se2ected-nde:Hanged;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and
@c0oMarca.Se2ected2nde: = 0 !nd S'0
Private S'0 c0oProveedor>Se2ected-nde:Hanged;$5.a2 sender
As S5stem. "0 &ect.% $5.a2 e As S5stem.!ventArgs6 \
codProd'cto = .a2;c0oProveedor.Se2ected2nde:6 R 1 !nd S'0
$.D.@. Fo"42*a"0o Man3n040n3o ! P"ov!o"#
a. D0#No !* /o"42*a"0o F"4Man3P"ov!o"
I*2#3"a+01n 9:, Fo"42*a"0o Man3n040n3o ! P"ov!o"
b. E*4n3o# 230*0Pa!o#
353Co!0go
B233on b3nN2vo
AE
I*2#3"a+01n 99, C1!0go F2n3 Fo"42*a"0o Man3n040n3o ! P"o!2+3o#
$.D.@. Fo"42*a"0o Man3n040n3o ! P"ov!o"#
a. D0#No !* /o"42*a"0o F"4Man3P"ov!o"
I*2#3"a+01n 9@, Co48onn3# ! Fo"42*a"0o Man3n040n3o ! P"ov!o"
#C1!0go /2n3 !* /o"42*a"0o F"4Man3P"ov!o"
-m/orts
S5stem.
Data
-m/orts
S5stem.
Data."2
eD0
P'02ic 2ass 9rmMantProveedores
Dim daodProveedor As "2eD0DataAda/ter Dim
'2timo As -nteger Dim sB As -nteger = 0
Private S'0 9rmMantProveedores>#oad;$5.a2 sender
As S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6
?and2es M5$ase.#oad
S'0 Activar$otones;$5.a2 0n'evo As $oo2ean%
$5.a2 0agregar As $oo2ean% $5.a2 0act'a2iMar
As $oo2ean% $5.a2 0e2iminar As $oo2ean
da2ientes = AeB "2eD0DataAda/ter;CSe2ect D
from Proveedor order 05 cod/roveedor%
cone:ion6
S'0 2im/iarProveedor;6
Me.t:todigo.2ear;6
Me.
t:t+O
C%
$.D.@. Fo"42*a"0o Man3n040n3o ! P"ov!o"#
a. D0#No !* /o"42*a"0o F"4Man3P"ov!o"
.2ear3
Me.t:tAom
0re.2ear
;6
Me.t:t*e2efono.2ear;6
Me.t:tDireccion.2ear;6
Me.t:t+O.9oc's;6
!nd S'0
P' 02ic S'0 argarDatosAct'a2iMados;$5.a2 9i2a As
-nteger6
Din tota2
As
-nteger
*r,5
Dim *02Proveedor
As Data*a02e Dim
dr As Data+oB D
da2ientes Q AeB 01eD0DataAda/ter;CSe2ect Y
fron /roveedor, order 05 cod/roveedor C%
cone:ion6 ds2ientes AeB DataSet
da2ientes . 9i22 ; ds2ien tes % Y/roveedorDD 6
*02Proveedor =
ds2ientes.*a02es;C/roveedorC6 tota2 c
*02Proveedor.+oBs.o'nt
= D Asignando 'na fi2a de datos C+egistroDD
a2 Data+oB dr = *02Proveedor.+oBs;fi2a6
D Mostrando 2os datos desde e2 dataroB
t:todigo.*e:t dr;Ccod/roveedorC6
t:t+O.*e:t c dr;Cr'c/roveedorC6
t:tAom0re.*e:t = dr;Cnom0reC6
t:t*e2efono.*e:t dr;Cte2efonoC6
t:tDireccion.*e:t c dr;CdirecciKnC67
atcH e:c As !:ce/tion
Mes s age $o:.SHoB;e:c.Message6
!nd *r5 !nd S'0
S'0 Ha0i2itarontro2es;$5.a2 estado As $oo2ean6
Me.t:todigo.!na02ed c 9a2se
Me.t:t+O.!na02ed = estado
Me.t:tAom0re.!na02ed = estado
Me.t:t*e2efono.!na02ed = estado
Me.t:tDireccion.!na02ed c estado !nd S'0
S'0 corre2ativo;6
Dim *02Proveedor As Data*a02e
@2im/iar2iente;6 @#im/iar 2os ontro2es
daodProveedor = AeB "2eD0DataAda/ter;CSe2ect
ma:;cod/roveedor6 as codigo from Proveedor%
cone:ion6 daodProveedor.9i22;dsProveedor%
Cod/roveedorC6
*02Proveedor =
dsProveedor.*a02esZCod/roveedorC6
Me.t:todigo.*e:t c
-nt;*02Proveedor.+oBs;06.-tem;06.*oString6
R 1 *02Proveedor.Dis/ose;6
!nd
S'0
S'0
A'e
vo;
6
Dim cad As String
cad = C-nsert into /roveedor
va2'es;Zcod/roveedor%]r'c/roveedor%;jnom0re%
;jte2efono%ZdirecciKn6
-f cone:ion.State = onnectionState."/en
*Hen cone:ion.2ose;6
!nd -f
cone:ion."/en;6
cmd . ommand*5/e c omtnand*5/e . *e:t
cmd.ommand*e:t c cad cmd.onnection =
cone:ion
With end.Parameters
.Add("|flcodproveedor% OleDbType.nteger).Value = Val(Me.txtCodigo.Text)
.Add("@rucproveedor.,
OleDbType.VarChar).Value =
Me.txtRUC.Text .Add("(fflnombreJ
OleDbType.VarChar).Value =
Me.txtNombre.Text .AddC'Jftelefono",
OleDbType .VarChar)-Value =
He.txtTelefono.Text .AddC'ddireccion",
OleDbType.VarChar).Value =
Me.txtDireccin.Text End With
Dim N As nteger N =
C&
$.D.@. Fo"42*a"0o Man3n040n3o ! P"ov!o"#
a. D0#No !* /o"42*a"0o F"4Man3P"ov!o"
cmd.ExecuteNonQuery
f N = 1 Then
MessageBox. Show(''Registro Guardado
Correctamente) carga rProveedoresf)
CargarDatosActualizados(ultimo)
habilitarControles(False)
Else
MessageBox.Show(Error en la Transaccin)
End f
cmd.Parameters.Clearf) : conexion.Close()|
End Sub
ub ActualizarQ
Dim cad As String
cad = ''update Proveedor set
codProveedorslfflcodProveedorjrucproveedor=@rucproveedorJnombre=|
Slnombreitelefono=@telefonoJdireccion= @direccion f conexion.State =
ConnectionState.Open Then conexion.Close()
End f
conexion.Open()
cmd.CommandType = CommandType.Text cmd.CommandText = cad
cmd.Connection = conexion With cmd.Parameters
.Add("@codproveedor% OleDbType.nteger).Value =
Val(Me.txtCodigo.Text)
-AddC^rucproveedor,
OleDbType.VarChar) .Value = Me.txtRUC.Text .
Add( "(nombre , OleDbType .VarChar) .Value
= Me.txtNombre.Text .Add("^telefono,
OleDbType.VarChar).Value =
Me.txtTelefono.Text .Add(@direccion",
OleDbType.VarChar).Value -
Me.txtDireccion.Text End With
Dim A As -nteger A
=
cmd.!:ec'teAon3'er
5 -f A = 1 *Hen
Message$o:.SHoB;C+egistro Act'a2iMado
orrectamente6
cargarProveedores;6
argarDatosAct'a2iMados;'2timo6
@Ha0i2itarontro2es;9a2se6
!2se
Message$o:.SHoB;C!rror en 2a *ransacciKn6
!nd -f
cmd.Parameters.2ear;6 ( cone:ion.2ose;6
!nd
S'0
S'0
0'scar
;6
Dim tota2 As
-nteger Dim codigo
As String
codigo D -n/'t$o:;C-ngrese cKdigo a $'scar6
-f #en;codigo6 = 1
*Hen codigo c 0C
R codigo !nd -f
*r5
Dim *022ientes As
Data*a02e Dim dr As
C$
$.D.@. Fo"42*a"0o Man3n040n3o ! P"ov!o"#
a. D0#No !* /o"42*a"0o F"4Man3P"ov!o"
Data+oB @
Dim cad , CSe2ect D from
/roveedor BHere
cod/roveedor,C F codigo
da2ientes AeB
"1eD0DataAda/ter;cad%
cone:ion6
D D Asignando 'na fi2a de datos
C+egistro a2 Datd+oB
Private S'0 0tnA'e'o>2icE;$5.a2
sender, As S5stem."0&ect% $5.a2 e As
S5stem.!ventArgs6 ?and2es
0tnM'evo.2icE
Ha0i2itarontro2es;*r'e6
2im/iarProvee donk6 corre2aiivo;6 s' =
1
Activar$otones;*r' e% *r'e% 9a2se%
9a2se% *r'e6
!nd S'0
Private S'0 0tnAgregar>2:cE;$5.a2
sender As S5stem."0&eet% $5.a2 e As
S5stem.!ventArgs6 ?and2es
0tnAgregar.e2ici -f s' = 1 *Hen M'evo;
67
!2se2f s' = 2
*Hen
Act'a2isark6
!nd -f sH = 0
H a 0i2it a rontro2e s;9a2se6
Activar$otones;*r'e. 9a2se% 9a2se%
9a2se% 9a2sef
!nd S'0
Private S'0 0tn!ditar>2icE;$5.a2
sender As S5stem."0&ect% $5.a2 e As
S5stem.!ventArgs6 ?and2es
0tn!ditar.2icE 0'scar;6
Activar$otones;9a2se% 9a2se% *r'e%
*r'e% *r'e6
!nd S'0
Private S'0 0tnAct'a2iMar>2icE;$5.a2
sender As S5stem."0&ect% $5.a2 e As
S5stem.!ventArgs6 ?and2es
0tnAct'a2iMar.2icE sB c 2
Ha0i2itarontro2es;*r'e6
Activar$otones;9a2se% *r'e% *r'e%
9a2se% *r'e6
!nd S'0
Private Sub btnEliminar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnEliminar.Click
f MessageBox.5how("5eguro de Borrar?", "Aviso",
MessageBoxButtons.YesMo, MessageBoxccn.Question) = _
Windows.Forms.DialogResult.Yes
Then Dim cad As String
cad = "update cliente set codigo=@codProveedor,RUC=@RUCJnombre=
|nombreJtelefono=(S)telefonoJdireccion= direccion where
codigo=@codproveedor" f conexion.State = ConnectionState.Open Then
conexion.Close()
End f
conexion.Open()
cmd.CommandType = CommandType.Text cmd.ComnandText = cad
cmd.Connection = conexion With cmd.Parameters
.Add(|Slcodproveedor,
OleDbType.VarNumeric).Value =
He.txtCodigo.Text .Add("@RUC",
OleDbType.VarChar).Value =
Me.txtRUC.Text .Add("|Slnombre",
OleDbType.VarChar).Value =
C9
$.D.@. Fo"42*a"0o Man3n040n3o ! P"ov!o"#
a. D0#No !* /o"42*a"0o F"4Man3P"ov!o"
Me.txtMombre.Text .Add(|fittelefono,
OleDbType.VarChar).Value =
Me.txtTelefono.Text .Add("@direccion,
OleDbType.VarChar).Value -
Me.txtDireccion.Text End With
Dim N As nteger N = cmd.ExecuteMonQuery f N = 1 Then
MessageBox.Show(Registro Eliminado Correctamente)
Else
MessageBox.Show(Error en la Transaccin")
End f
cmd.Parameters.ClearQ : conexion.Close()
End f End Sub
Private S'0 0tnance2ar>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6
?and2es 0tnance2ar.2icE
Private S'0 0tnSa2ir>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6
?and2es 0tnSa2ir.2icE Private S'0
dgvProveedor>e22Mo'se2icE;$5.a2 sender As
"0&ect% $5.a2 e As
S5stem._indoBs.9orms.Oata\rid.ieBe22Mo'se
C:
$.D.@. Fo"42*a"0o Man3n040n3o ! P"ov!o"#
a. D0#No !* /o"42*a"0o F"4Man3P"ov!o"
I*2#3"a+01n 9A, C1!0go F2n3 Man3n040n3o P"ov!o
C@
$.D.A. Fo"42*a"0o Man3n040n3o ! U#2a"0o#
a. D0#No !* Fo"42*a"0o
b. E*4
n3o#
230*0Pa!o#
353Co!0go
B233on b3nN2vo
I*2#3"a+01n 9C, Co48onn3# Fo"42*a"0o Man3n040n3o ! U#2a"0o#
+. C1!0go /2n3 !* /o"42*a"0o F"4Man3U#2a"0o#
-m/orts S5stem.Data
CA
"
$.D.A. Fo"42*a"0o Man3n040n3o ! U#2a"0o#
a. D0#No !* Fo"42*a"0o
-m/orts
S5stem.Data."2eD0
P'02ic 2ass
9rmMantOs'arios
Dim daodOs' As
"2eD0DataAda/ter Dim dr As
Data+oB = "0&eto Data+oB
Dim registro As -nteger
Dim sB As -nteger = 0 Dim
'2timo As -nteger
Private S'0 9rmMantOs'arios>#oad;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
M5$ase.#oad =cargar datagridvieB argarDatos;6
=cargar datos en 2as ca&as de te:to
argarDatosAct'a2iMados;06
Ha0i2itarontro2es;9a2se6
Activar$otones;*r'e% 9a2se% 9a2se% 9a2se% 9a2se6
!nd S'0
S'0 Activar$otones;$5.a2 0n'evo As $oo2ean% $5.a2
0agregar As $oo2ean% $5.a2 0act'a2iMar As $oo2ean% $5.a2
0e2iminar As $oo2ean% $5.a2 0cance2ar As $oo2ean6
0tnA'evo.!na02ed = 0n'evo 0tnAgregar.!na02ed = 0agregar
0tnAct'a2iMar.!na02ed = 0act'a2iMar 0tn!2iminar.!na02ed =
0e2iminar 0tnance2ar.!na02ed = 0cance2ar !nd S'0
S'0 argarDatos;6
da2ientes = AeB "2eD0DataAda/ter;CSe2ect D from
Os'arioC% cone:ion6
ds2ientes = AeB DataSet
da2ientes.9i22;ds2ientes% C2ienteC6
'2timo = ds2ientes.*a02es;Cc2ienteC6.+oBs.o'nt , 1
dgvOs'arios.DataSo'rce =
ds2ientes.*a02es;06.Defa'2t.ieB
onfig'rarData\rid.ieB;6
!nd S'0
S'0 onfig'rarData\rid.ieB;6
dgvOs'arios.Defa'2te22St52e.$acEo2or =
o2or.#igHt\reen
dgvOs'arios.A2ternating+oBsDefa'2te22St52e.$acEo
2or =
o2or.#igHt\o2denrodXe22oB !nd S'0
S'0 corre2ativo;6
Dim *02Os'arios As Data*a02e =2im/iar2iente;6
=#im/iar 2os ontro2es
daodOs' = AeB "2eD0DataAda/ter;CSe2ect ma:;id6 as
codigo from 's'arioC% cone:ion6
daodOs'.9i22;ds2ientes% Ccodigo's'arioC6
*02Os'arios = ds2ientes.*a02es;Ccodigo's'arioC6
Me.t:todigo.*e:t =
-nt;*02Os'arios.+oBs;06.-tem;06.*oString6 R 1
*02Os'arios.Dis/ose;6
!nd S'0
S'0 2im/iarOs'ario;6
Me.t:tOs'ario.2ear;6
t:t2ave.2ear;6
t:tAom0res.2ear;6
t:tA/e22idos.2ear;6
t:tOs'ario.9oc's;6
!nd S'0
S'0 Ha0i2itarontro2es;$5.a2 estado As $oo2ean6
Me.t:todigo.!na02ed = 9a2se Me.t:tOs'ario.!na02ed =
estado Me.t:t2ave.!na02ed = estado Me.t:tAom0res.!na02ed
= estado Me.t:tA/e22idos.!na02ed = estado !nd S'0 S'0
CC
$.D.A. Fo"42*a"0o Man3n040n3o ! U#2a"0o#
a. D0#No !* Fo"42*a"0o
A'evo;6
Dim cad As String
cad = C-nsert into 's'ario
va2'es;]id%]'s'ario%]c2ave%]nom0re%]a/e22idos6C -f
cone:ion.State = onnectionState."/en *Hen
cone:ion.2ose;6
!nd -f
cone:ion."/en;6
cmd.ommand*5/e = ommand*5/e.*e:t cmd.ommand*e:t =
cad cmd.onnection = cone:ion _itH cmd.Parameters
.Add;C]idC% "2eD0l5/e..anHan6..a2'e =
Me.t:todigo.*e:t .Add;C]'s'arioC%
"2eD0l5/e..anHan6..a2'e = Me.t:tOs'anio.*e:t
.Add;C]c2aveC% "2eD0*5/e..anHan6..a2'e =
Me.t:t2ave.*e:t .Add;C]nom0reC%
"2eD0*5/e..anHan6..a2'e = Me.t:tAom0res.*e:t
.Add;C]a/e22idosC% "2eD0*5/e..anHan6..a2'e =
Me.t:tA/e22idos.*e:t !nd _itH
Dim A As -nteger A =
cmd.!:ec'teAon3'er5 -f A = 1 *Hen
Message$o:.SHoB;C+egistro \'ardado orrectamenteC6
argarDatos;6
argarDatosAct'a2iMados;'2timo6
Ha0i2itarontro2es;9a2se6
!2se
Message$o:.SHoB;C!rror en 2a *ransacciKnC6
!nd -f
cmd.Parameters.2ear;6 ( cone:ion.2ose;6
!nd S'0
S'0 Act'a2iMar;6
Dim cad As String
cad = C'/date 's'ario set id=]id%'s'ario=
]'s'ario%c2ave=
]c2ave%nom0re=]nom0re%a/e22idos=]a/e22idos BHere
id=]idC
-f cone:ion.State = onnectionState."/en
*Hen cone:ion.2ose;6
!nd -f
cone:ion."/en;6
cmd.ommand*5/e = ommand*5/e.*e:t
cmd.ommand*e:t = cad cmd.onnection =
cone:ion _itH cmd.Parameters
.Add;C]idC% "2eD0*5/e..arHar6..a2'e =
Me.t:todigo.*e:t .Add;C]'s'arioC%
"2eD0*5/e..arHar6..a2'e = Me.t:tOs'ario.*e:t
.Add;C]c2aveC% "2eD0*5/e..arHar6..a2'e =
Me.t:t2ave.*e:t .Add;C]nom0reC%
"2eD0*5/e..arHar6..a2'e = Me.t:tAom0res.*e:t
.Add;C]a/e22idosC% "2eD0*5/e..arHar6..a2'e =
Me.t:tA/e22idos.*e:t !nd _itH
Dim A As -nteger A = cmd.!:ec'teAon3'er5 -f
A = 1 *Hen
Message$o:.SHoB;C+egistro Act'a2iMado
orrectamenteC6
argarDatos;6
argarDatosAct'a2iMados;'2timo6
Ha0i2itarontro2es;9a2se6
!2se
Message$o:.SHoB;C!rror en 2a *ransacciKnC6
!nd -f
CD
$.D.A. Fo"42*a"0o Man3n040n3o ! U#2a"0o#
a. D0#No !* Fo"42*a"0o
cmd.Parameters.2ear;6 ( cone:ion.2ose;6
!nd S'0
S'0 !2iminar;6
-f Message$o:.SHoB;CSeg'ro de $orrarWC% CAvisoC%
Message$o:$'ttons.XesAo% Message$o:-con.3'estion6 = >
_indoBs.9orms.Dia2og+es'2t.Xes
*Hen Dim cad As String
cad = C'/date 's'ario set id=]id%'s'ario=
]'s'ario%c2ave=
]c2ave%nom0re=]nom0re%a/e22idos=]a/e22idos BHere id=]idC
-f cone:ion.State = onnectionState."/en *Hen
cone:ion.2ose;6
!nd -f
cone:ion."/en;6
cmd.ommand*5/e = ommand*5/e.*e:t
cmd.ommand*e:t = cad cmd.onnection = cone:ion
_itH cmd.Parameters
.Add;C]idC% "2eD0*5/e..arHar6..a2'e =
Me.t:todigo.*e:t .Add;C]'s'arioC%
"2eD0*5/e..arHar6..a2'e =
Me.t:tOs'ario.*e:t .Add;C]c2aveC%
"2eD0*5/e..arHar6..a2'e = Me.t:t2ave.*e:t
.Add;C]nom0reC% "2eD0*5/e..arHar6..a2'e =
Me.t:tAom0res.*e:t
.Add;C]a/e22idosC% "2eD0*5/e..arHar6..a2'e =
Me.t:tA/e22idos.*e:t
!nd _itH
Dim A As -nteger A = cmd.!:ec'teAon3'er5 -f A = 1
*Hen
Message$o:.SHoB;C+egistro !2iminado
orrectamenteC6 registro = Me.t:todigo.*e:t , 1
argarDatosAct'a2iMados;'2timo6
Ha0i2itarontro2es;9a2se6
!2se
Message$o:.SHoB;C!rror en 2a *ransacciKnC6
!nd -f
cmd.Parameters.2ear;6 ( cone:ion.2ose;6
!nd -f !nd S'0
P'02ic S'0 argarDatosAct'a2iMados;$5.a2 fi2a As -nteger6
Dim tota2 As -nteger *r5
Dim *022ientes As Data*a02e Dim dr As Data+oB =
da2ientes = AeB "2eD0DataAda/ter;CSe2ect D from
's'ario C% cone:ion6 ds2ientes = AeB DataSet
da2ientes.9i22;ds2ientes% C's'arioC6
*022ientes = ds2ientes.*a02es;C's'arioC6
= Para mostarar 2a /osicion% contamos 2os registros
de 2a ta02a -diomas>"fertado
tota2 = *022ientes.+oBs.o'nt
== Asignando 'na fi2a de datos C+egistroC a2
Data+oB dr = *022ientes.+oBs;fi2a6
= Mostrando 2os datos desde e2 dataroB
t:todigo.*e:t = dr;CidC6 t:tOs'ario.*e:t =
dr;C's'arioC6 t:t2ave.*e:t = dr;Cc2aveC6
t:tAom0res.*e:t = dr;Cnom0reC6 t:tA/e22idos.*e:t =
dr;Ca/e22idosC6
atcH e:c As !:ce/tion
Message$o:.SHoB;e:c.Message6
!nd *r5 !nd S'0 S'0 0'scar;6
Dim tota2 As -nteger Dim codigo As
CE
$.D.A. Fo"42*a"0o Man3n040n3o ! U#2a"0o#
a. D0#No !* Fo"42*a"0o
String
codigo = -n/'t$o:;C-ngrese cKdigo a $'scarC6
-f #en;codigo6 = 1 *Hen codigo =
C0C R codigo !nd -f *r5
Dim *022ientes As Data*a02e Dim dr As Data+oB =
da2ientes = AeB "2eD0DataAda/ter;CSe2ect D from
's'ario BHere id==C F
codigo F % cone:ion6
ds2ientes = AeB DataSet
da2ientes.9i22;ds2ientes% COs'arioC6
*022ientes = ds2ientes.*a02es;COs'arioC6
= Para mostarar 2a /osicion% contamos 2os registros
de 2a ta02a -diomas>"fertado
tota2 = *022ientes.+oBs.o'nt
== Asignando 'na fi2a de datos C+egistroC a2
Data+oB dr = *022ientes.+oBs;06
= Mostrando 2os datos desde e2 dataroB
t:todigo.*e:t = dr;CidC6 t:tOs'ario.*e:t =
dr;C's'arioC6
t:t2ave.*e:t = dr;Cc2aveC6
t:tAom0nes.*e:t = dr;Cnom0reC6
t:tA/e22idos.*e:t =
dn;Ca/e22idosC6
atcH e:c As !:ce/tion
Message$o:.SHoB;e:c.Message6
!nd *r5 !nd S'0
Private S'0 verdeta22e;$5.a2 fi2a As -nteger6
*r5
-f dgvOs'arios.+oBs.o'nt G 0 *Hen
Me.t:todigo.*e:t = dgvOs'arios.-tem;0%
fi2a6..a2'e.*oString t:tOs'ario.*e:t =
dgvOs'arios.-tem;1% fi2a6..a2'e.*oString
t:t2ave.*e:t = dgvOs'arios.-tem;2%
fi2a6..a2'e.*oString t:tAom0res.*e:t =
dgvOs'arios.-tem;3% fi2a6..a2'e.*oString
t:tA/e22idos.*e:t = dgvOs'arios.-tem;4%
fi2a6..a2'e.*oString
!2se
dgvOs'arios..isi02e =
9a2se !nd -f atcH e: As
!:ce/tion !nd *r5
dgvOs'arios.Defa'2te22St52e.$acEo2or =
o2or.#igHt\o2denrodXe22oB
dgvOs'arios.A2ternating+oBsDefa'2te22St52e.$acEo2or =
o2or.#igHt\reen !nd S'0
Private S'0 0tnA'evo>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
0tnA'evo.2icE Ha0i2itarontro2es;*r'e6
2im/iarOs'ario;6 corre2ativo;6 sB = 1
Activar$otones;*r'e% *r'e% 9a2se% 9a2se% *r'e6
!nd S'0
Private S'0 0tn$'scar>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
0tn$'scar.2icE 0'scar;6
Activar$otones;*r'e% 9a2se% *r'e% *r'e% *r'e6
!nd S'0
Private S'0 0tnAgregar>2icE;$5.a2 sender As
D%
$.D.A. Fo"42*a"0o Man3n040n3o ! U#2a"0o#
a. D0#No !* Fo"42*a"0o
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
0tnAgregar.2icE -f sB = 1 *Hen A'evo;6
!2se-f sB = 2 *Hen Act'a2iMar;6
!nd -f sB = 0
Activar$otones;*r'e% 9a2se% 9a2se% 9a2se% 9a2se6
!nd S'0
Private S'0 0tnAct'a2iMar>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
0tnAct'a2iMar.2icE sB = 2
Ha0i2itarontro2es;*r'e6
Activar$otones;9a2se% *r'e% *r'e% 9a2se% *r'e6
!nd S'0
Private S'0 0tn!2iminar>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
0tn!2iminar.2icE !2iminar;6
!nd S'0
Private S'0 0tnance2ar>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
0tnance2ar.2icE argarDatosAct'a2iMados;06
Ha0i2itarontro2es;9a2se6 sB = 0
Activar$otones;*r'e% 9a2se% 9a2se% 9a2se% 9a2se6
!nd S'
D&
0Private S'0 0tnSa2ir>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
0tnSa2ir.2icE
-f Msg$o:;CDesea sa2irWC% v0-nformation R
v0XesAo% CSa2irC6 = v0Xes *Hen 2ose;6
!nd -f !nd S'0
Private S'0 dgvOs'arios>e22Mo'se2icE;$5.a2
sender As "0&ect% $5.a2 e As
S5stem._indoBs.9orms.Data\rid.ieBe22Mo'se!ven
tArgs6 ?and2es dgvOs'arios.e22Mo'se2icE *r5
Dim f As -nteger =
dgvOs'arios.'rrent+oB.-nde:
verdeta22e;f6
atcH e: As !:ce/tion
!nd *r5 !nd S'0 !nd 2ass
I*2#3"a+01n 9D, C1!0go F2n3 Fo"42*a"0o Man3n040n3o !
U#2a"0o#
$.D.C. Fo"42*a"0o ! BQ#72!a ! C*0n3#
a. D0#No !* Fo"42*a"0o F"4ConC*0n3#
I*2#3"a+01n 9E, Fo"42*a"0o ! BQ#72!a ! C*0n3#
b. E*4n3o# 230*0Pa!o#
Ra!0oB233o
n "b3Co!0g
o
I*2#3"a+01n :%, Co48onn3# Fo"42*a"0o BQ#72!a ! C*0n3#
D$
+. C1!0go F2n3 n * Fo"42*a"0o F"4ConC*0n3#
-m/orts
S5stem.Data
-m/orts
S5stem.Data.
"2eD0
P'02ic 2ass
9rmon2ientes Dim
strcam/o As String
Dim o0&DataAda/ter
As "2eD0DataAda/ter
Dim o0&DataSet As
DataSet Dim sN2str%
o/er As String
Private S'0 9rmon2ientes>#oad;$5.a2
sender As S5stem."0&ect% $5.a2 e As
S5stem.!ventArgs6 ?and2es M5$ase.#oad
t:tDato.2ear;6 t:tDato.!na02ed = 9a2se
dgv2iente.+ead"n25 = *r'e !nd S'0
Private S'0 r0todigo>2icE;$5.a2 sender As "0&ect%
$5.a2 e As S5stem.!ventArgs6 ?and2es r0todigo.2icE%
r0tAom0re.2icE% r0tDA-.2icE
Se2ect ase sender.name ase ==r0todigo==
strcam/o =
Mcodc2ienteM
o/er =
==codigoM
ase
Mr0tAom0reM
strcam/o
= Mnom0reM
o/er =
Mnom0reM
ase
Yr0tDA-M
strcam/
o = ==DA-M
o/er =
==DA-M !nd
Se2ect
Me.202*it'2o.*e:t = =ingrese = F o/er F = a
0'scarM
Me.dgv2iente.DataSo'rce = AotHing
t:tDato.!na02ed = *r'e
t:tDato.2ear;6
t:tDato.9oc's;6
202!ncontrados.*e:t =
!nd S'0
Private S'0 t:tDato>*e:tHanged;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
t:tDato.*e:tHanged
dgv2iente.Defa'2te22St52e.$acEo2or =
o2or.#igHt\reen
I*2#3"a+01n :%, Co48onn3# Fo"42*a"0o BQ#72!a ! C*0n3#
D9
dgv2iente.A2ternating+oBsDefa'2te22St52e.$ac
Eo2or = o2or.#igHt\o2denrodXe22oB Dim strS3#
As String =Dim tota2 As -nteger
strS3# = =S!#!* D 9+"M c2iente _?!+! = F
*rim;strcam/o6 F = #-h! F >
*rim;Me.t:tDato.*e:t6 F =m==
-f t:tDato.*e:t = *Hen
t:tDato.2ear;6 (
t:tDato.9oc's;6
202!ncontrados.*e:t
=
dgv2iente.DataSo'r
ce = AotHing
dgv2iente..isi02e
= 9a2se !:it S'0
!nd -f
o0&DataAda/ter = AeB "2eD0DataAda/ter;strS3#%
cone:ion6
-f cone:ion.State = onnectionState."/en *Hen
cone:ion.2ose;6
!nd -f
cone:ion."/en;6 o0&DataSet = AeB DataSet;6
o0&DataAda/ter.9i22;o0&DataSet% =2iente=6
cone:ion.2ose;6
Dim *022ientes As Data*a02e
*022ientes = o0&DataSet.*a02es;M2ienteM6
-f *022ientes.+oBs.o'nt G 0 *Hen
Me.dgv2iente..isi02e = *r'e
Me.dgv2iente.DataSo'rce =
o0&DataSet
Me.dgv2iente.DataMem0er =
C2ienteC 202!ncontrados.*e:t =
*022ientes.+oBs.o'nt
*022ientes.Dis/ose;6
!2se
Me.dgv2iente.DataSo'rce =
AotHing dgv2iente..isi02e = 9a2se
202!ncontrados.*e:t = 0 !nd -f
!nd S'0
Private S'0 r0todigo>HecEedHanged;$5.a2
sender As S5stem."0&ect% $5.a2 e As
S5stem.!ventArgs6 ?and2es
r0todigo.HecEedHanged
Me.202!ncontrados.*e:t = CC
!nd S'0
Private S'0 r0tAom0re>HecEedHanged;$5.a2
sender As S5stem."0&ect% $5.a2 e As
S5stem.!ventArgs6 ?and2es
r0tAom0re.HecEedHanged
Me.202!ncontrados.*e:t = CC
!nd S'0
Private S'0 r0tDA->HecEedHanged;$5.a2
sender As S5stem."0&ect% $5.a2 e As
S5stem.!ventArgs6 ?and2es
r0tDA-.HecEedHanged Me.202!ncontrados.*e:t =
CC
!nd S'0 !nd 2ass
I*2#3"a+01n :%, Co48onn3# Fo"42*a"0o BQ#72!a ! C*0n3#
D:
I*2#3"a+01n :&, C1!0go F2n3 Fo"42*a"0o Con#2*3a ! C*0n3#
$.D.D. Fo"42*a"0o ! BQ#72!a ! P"o!2+3o#
a. D0#No ! Fo"42*a"0o F"4ConP"o!2+3o#
I*2#3"a+01n :$, Fo"42*a"0o BQ#72!a ! P"o!2+3o#
b. E*4n3o# 230*0Pa!o#
"b3P"Vn3a
Tab*a &9, Co48onn3# !* Fo"42*a"0o BQ#72!a ! P"o!2+3o#
+. C1!0go /2n3 n * Fo"42*a"0o F"4ConP"o!2+3o#
-m/orts S5stem.Data
I*2#3"a+01n :%, Co48onn3# Fo"42*a"0o BQ#72!a ! C*0n3#
D@
-m/orts
S5stem.Data."2eD0
P'02ic 2ass
9rmonProd'ctos Dim
strcam/o As String
Dim o0&DataAda/ter As
"2eD0DataAda/ter Dim
o0&DataSet As DataSet
Dim sN2str% o/er As
String Dim marca;6 As
String Dim
categoria;6 As String
Private S'0 9rmonProd'ctos>#oad;$5.a2
sender As S5stem."0&ect% $5.a2 e As
S5stem.!ventArgs6 ?and2es M5$ase.#oad
t:tDato.2ear;6 t:tDato.!na02ed = 9a2se
dgvProd'cto.+ead"n25 = *r'e cargarMarca;6
cargarategoria;6
!nd S'0
S'0 cargarMarca;6
marca = [=ZSe2eccionarZ=% = \-\A$X*!=% =
ASOS=% =9"T"AA=% =A.-D-A==% =\A-A_A+D=%
==M-+"S"9*=% ==#"\-*!?=% ==#\==% ==SAMSOA\=%
==-A*!#Z=% ==AMD==f
c0oMarca.-tems.Add+ange;marca6
c0oMarca.Se2ected-nde: = 3 =c0oMarca.!na02ed =
9a2se !nd S'0
S'0 cargarategoria;6
categoria = [=ZSe2eccionarZ=% =
MotHer0oards=% = \ra/Hics ards=% ==Mo'se==%
=he50oard=% =Monitor=% =Micro/rocessors=f
c0oategoria.-tems.Add+ange;categoria6
c0oategoria.Se2ected-nde: = 3
=c0oategoria.!na02ed = 9a2se !nd S'0 S'0
0'scar;6
dgvProd'cto.Defa'2te22St52e.$acEo2or =
o2or.#igHt\reen
dgvProd'cto.A2ternating+oBsDefa'2te22St52e.$a
cEo2or = o2or.#igHt\o2denrodXe22oB Dim
strS3# As String =Dim tota2 As -nteger
strS3# = ==S!#!* D 9+"M /rod'cto _?!+! = F
*rim;strcam/o6 F = #-h! C= F >
*rim;Me.t:tDato.*e:t6 F ==m===
-f t:tDato.*e:t = =C= *Hen
t:tDato.2ear;6
( t:tDato.9oc's;6
202!ncontrados.*e:
t = =C=
dgvProd'cto.DataSo
'rce = AotHing
dgvProd'cto..isi02
e = 9a2se !:it S'0
!nd -f
o0&DataAda/ter = AeB "2eD0DataAda/ter;strS3#%
cone:ion6
-f cone:ion.State = onnectionState."/en *Hen
cone:ion.2ose;6
!nd -f
cone:ion."/en;6 o0&DataSet = AeB DataSet;6
o0&DataAda/ter.9i22;o0&DataS
et% C/rod'ctoC6
cone:ion.2ose;6
Dim *022ientes As Data*a02e
*022ientes = o0&DataSet.*a02es;C/rod'ctoC6
-f *022ientes.+oBs.o'nt G
I*2#3"a+01n :%, Co48onn3# Fo"42*a"0o BQ#72!a ! C*0n3#
DA
0 *Hen
Me.dgvProd'cto..isi02e =
*r'e
Me.dgvProd'cto.DataSo'rce
= o0&DataSet
Me.dgvProd'cto.DataMem0er
= C/rod'ctoC
202!ncontrados.*e:t =
*022ientes.+oBs.o'nt
*022ientes.Dis/ose;6
!2se
Me.dgvProd'cto.Dat
aSo'rce = AotHing
dgvProd'cto..isi02e =
9a2se
202!ncontrados.*e:t =
0 !nd -f
!nd S'0
Private S'0 r0todigo>2icE;$5.a2 sender As "0&ect%
$5.a2 e As S5stem.!ventArgs6 ?and2es r0todigo.2icE%
r0tSerie.2icE% r0tPrecio.enta.2icE Se2ect ase
sender.name ase Cr0todigoC
strcam/o =
CcodProd'ct
oC o/er =
CcodigoC
ase Cr0tSerieC
strcam/o =
Cserie/rod'ct
oC o/er =
Cserie
/rod'ctoC
ase Cr0tPrecio.entaC
strcam/o =
CPre.entaC
o/er =
CPrecio
.entaC
!nd Se2ect
Me.202*it'2o.*e:t = C-ngrese C F o/er F C a
0'scarC
Me.dgvProd'cto.DataSo'rce =
AotHing t:tDato.!na02ed =
*r'e t:tDato.2ear;6
t:tDato.9oc's;6
202!ncontrados.*e:t = CC
!nd S'0
Private S'0 t:tDato>*e:tHanged;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
t:tDato.*e:tHanged 0'scar;6
!nd S'0
Private S'0 c0oategoria>Se2ected-nde:Hanged;$5.a2
sender As S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6
?and2es c0oategoria.Se2ected-nde:Hanged Me.strcam/o
= Cti/oC
Me.t:tDato.*e:t =
c0oategoria.Se2ected-tem.*oStr
ing !nd S'0
Private S'0 c0oMarca>Se2ected-nde:Hanged;$5.a2
sender As S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6
?and2es c0oMarca.Se2ected-nde:Hanged Me.strcam/o =
CMarcaC
I*2#3"a+01n :%, Co48onn3# Fo"42*a"0o BQ#72!a ! C*0n3#
DC
Me.t:tDato.*e:t =
c0oMarca.Se2ected-tem.*oString !nd
S'0 !nd 2ass
I*2#3"a+01n :9, C1!0go F2n3 Fo"42*a"0o Con#2*3a ! C*0n3
I*2#3"a+01n :%, Co48onn3# Fo"42*a"0o BQ#72!a ! C*0n3#
DD
$.D.E. Fo"42*a"0o ! BQ#72!a ! P"ov!o"#
a. D0#No !* Fo"42*a"0o F"4ConP"ov!o"#
I*2#3"a+01n ::, Fo"42*a"0o BQ#72!a ! P"ov!o"#
b. E*4n3o# 230*0Pa!o#
"b3Co!0go
Tab*a &:, Co48onn3# Fo"42*a"0o BQ#72!a !
+. C1!0go /2n3 n * /o"42*a"0o F"4ConP"ov!o"#
-m/orts S5stem.Data
-m/orts S5stem.Data."2eD0
P'02ic 2ass
9rmonProveedores Dim
strcam/o As String Dim
o0&DataAda/ter As
"2eD0DataAda/ter Dim
o0&DataSet As DataSet Dim
DE
#
P"ov!o"#
$.D.E. Fo"42*a"0o ! BQ#72!a ! P"ov!o"#
a. D0#No !* Fo"42*a"0o F"4ConP"ov!o"#
sN2str% o/er As String
Private S'0 r0todigo>HecEedHanged;$5.a2
sender As S5stem."0&ect% $5.a2 e As
S5stem.!ventArgs6 ?and2es
r0todigo.HecEedHanged
E%
!nd S'0Private S'0 r0todigo>2icE;$5.a2 sender As
"0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
r0todigo.2icE% r0t+O.2icE% r0tAom0re.2icE Se2ect
ase sender.name ase Mr0todigoM
strcam/o =
=codProveedor=
= o/er =
=codigo=
ase Mr0tAom0reM
strcam/o =
=nom0re==
o/er =
=nom0re=
ase Mr0t+OM
strcam/o =
=r'c/roveedor=
o/er =
=r'c/roveedor=
!nd Se2ect
Me.202*it'2o.*e:t = =-ngrese = F o/er F = a 0'scar=
Me.dgvProveedor.DataSo'rce =
AotHing t:tDato.!na02ed = *r'e
t:tDato.2ear;6 t:tDato.9oc's;6
202!ncontrados.*e:t = ==
!nd S'0
Private S'0 9rmonProveedores>#oad;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
M5$ase.#oad t:tDato.2ear;6 t:tDato.!na02ed = 9a2se
dgvProveedor.+ead"n25 = *r'e !nd S'0
Private S'0 t:tDato>*e:tHanged;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
t:tDato.*e:tHanged 0'scar;6
!nd S'0 S'0 0'scar;6
dgvProveedor.Defa'2te22St52e.$acEo2or =
o2or.#igHt\reen
dgvProveedor.A2ternating+oBsDefa'2te22St52e.$acE
o2or = o2or.#igHt\o2denrodXe22oB Dim strS3# As
String =Dim tota2 As -nteger
strS3# = =S!#!* D 9+"M /roveedor _?!+! = F
*rim;strcam/o6 F = #-h! == F >
*rim;Me.t:tDato.*e:t6 F =m==
-f t:tDato.*e:t = == *Hen
t:tDato.2ear;6 (
t:tDato.9oc's;6
202!ncontrados.*e:t =
==
dgvProveedor.DataSo'rc
e = AotHing
dgvProveedor..isi02e =
9a2se !:it S'0 !nd -f
o0&DataAda/ter = AeB "2eD0DataAda/ter;strS3#%
cone:ion6
-f cone:ion.State = onnectionState."/en *Hen
cone:ion.2ose;6
!nd -f
cone:ion."/en;6 o0&DataSet = AeB DataSet;6
o0&DataAda/ter.9i22;o0&DataSet% =/roveedor=6
cone:ion.2ose;6
Dim *022ientes As Data*a02e
*022ientes = o0&DataSet.*a02es;=/roveedor=6
-f *022ientes.+oBs.o'nt G 3 *Hen
Me.dgvProveedor..isi02e = *r'e
Me.dgvProveedor.DataSo'rce = o0&DataSet
Me.dgvProveedor.DataMem0er = =/roveedor=
202!ncontrados.*e:t = *022ientes.+oBs.o'nt
*022ientes.Dis/ose;6
!2se
Me.dgvProveedor.DataS
I*2#3"a+01n :@, C1!0go F2n3 Fo"42*a"0o Con#2*3a ! P"ov!o"#
E&
o'rce = AotHing
dgvProveedor..isi02e =
9a2se
202!ncontrados.*e:t = 3
!nd -f
I*2#3"a+01n :@, C1!0go F2n3 Fo"42*a"0o Con#2*3a ! P"ov!o"#
E$
$.D.&%. Fo"42*a"0o ! BQ#72!a ! Vn3a#
a. D0#No !* Fo"42*a"0o F"4ConVn3a
I*2#3"a+01n :A, Fo"42*a"0o Con#2*3a !
Vn3a#
b. E*4n3o# 230*0Pa!o#
353C*0n3
Lab*
*b*S2bTo3Vn
3a
Tab*a &@, Co48onn3# Fo"42*a"0o BQ#72!a ! Vn3a
#C1!0go F2n3 !* Fo"42*a"0o F"4ConVn3a
-m/orts S5stem.Data
-m/orts S5stem.Data."2eD0
-m/orts v0 =
Microsoft..is'a2$asic
P'02ic 2ass 9rmon.enta
P'02ic cod.enta As -nteger
Private S'0 $tn>$'scar>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6
?and2es $tn>$'scar.2icE =Me.!na02ed = 9a2se
= 9rm$'scar.enta.MdiParent =
MD-Princi/a22 9rm$'scar.enta.SHoB;6
Data\rid.ieB2.DataSo'rce = AotHing
Data\rid.ieB1.+oBs.2ear;6
!nd S'0
P'02ic S'0 +ea2iMar>a2c'2o;6
= GGGGeeeee =
Dim antidad As Do'02e
Dim -\.% *ota2% M*ota2% M.enta% M-\. As Do'02e
Dim Precio As Do'02e
M*ota2 = 0
M.enta = 0
M-\. = 0
202>v.enta.*e:t = 0 202>-gv.*e:t =
E9
!nd S'0 !nd 2ass
$.D.&%. Fo"42*a"0o ! BQ#72!a ! Vn3a#
a. D0#No !* Fo"42*a"0o F"4ConVn3a
0 202>/.enta.*e:t = 0
9or n As -nteger = 0 *o Data\rid.ieB2.+oBo'nt , 1
antidad =
.a2;Data\rid.ieB1.+oBs;n6.e22s;06..a2'e.*oString
;66.*oString Precio =
.a2;Data\rid.ieB1.+oBs;n6.e22s;26..a2'e6
*ota2 = ;antidad D Precio6
Me.Data\rid.ieB1.+oBs;n6.e22s;36..a2'e =
*ota2.*oString;Cnn%nn0.00C6 M*ota2 R= *ota2
Ae:t
202>v.enta.*e:t = M*ota2.*oString;Cnn%nn0.00C6
-\. = ;M*ota2 D .a2;t:t>igvM.*e:t66
d 100 202>-gv.*e:t =
-\..*oString;Cnn%nn0.00C6
*ota2 = M*ota2 R -\.
202>/.enta.*e:t = *ota2.*oString;Cnn%nn0.00C6
onvertir>#etras;6
!nd S'0
Private S'0 onvertir>#etras;6
-f Me.Data\rid.ieB1.+oBo'nt = 0
*Hen 202>n'm2etras.*e:t = CC
!2se
Dim n'mero As String
Dim cantidad As -nteger =
v0.#en;Me.202>/.enta.*e:t6 n'mero =
v0.Mid;202>/.enta.*e:t% 1% cantidad , 36
202>n'm2etras.*e:t = CS"A( C F A'm2*e:t;n'mero6 F
C "A C F v0.+igHt;202>/.enta.*e:t% 26 F Cd100 AO!."
S"#!SC
!nd -f !nd S'0
Private S'0 9rmon.enta>#oad;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
M5$ase.#oad
!nd S'0 !nd 2ass
$.D.&&. Fo"42*a"0o ! Con#2*3a ! C*0n3# 8a"a Fo"42*a"0o ! Vn3a#
a. D0#No ! Fo"42*a"0o Con#2*3a ! C*0n3# F"4C*0C*0n3#
FrmCliClientes | .=. ||
E:
$.D.&%. Fo"42*a"0o ! BQ#72!a ! Vn3a#
a. D0#No !* Fo"42*a"0o F"4ConVn3a
ngrese Nombre
I*2#3"a+01n :D, Fo"42*a"0o BQ#72!a ! C*0n3 8a"a Vn3a#
b. E*4n3o# 230*0Pa!o#
Tab*a &A, Co48onn3# !* Fo"42*a"0o Con#2*3a ! C*0n3# 8a"a
Vn3a#
+. C1!0go F2n3 n * Fo"42*a"0o F"4C*0C*0n3#
-m/orts S5stem.Data
-m/orts
S5stem.Data."2eD0
P'02ic 2ass
9rm2i2ientes
P'02ic codigo2iente As String
P'02ic nom0re As String
P'02ic direccion As String
Dim D. As Data.ieB =-nstancio 'na .-S*A
Private S'0 9rm2i2ientes>#oad;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
M5$ase.#oad
Dim DA As AeB "2eD0DataAda/ter;CSe2ect
cod2iente%nom0re%direccion from c2ienteC% cone:ion6
Dim DS As AeB DataSet DA.9i22;DS6
D. = DS.*a02es;06.Defa'2t.ieB =!2 DA*AS!* 2o
/asamos a2 =Data.ieB;6
dgv2ientes.DataSo'rce = D..*a02e;6
!nd S'0
Private S'0 dgv2ientes>e22ontent2icE;$5.a2 sender
As S5stem."0&ect% $5.a2 e As
S5stem._indoBs.9orms.Data\rid.ieBe22!ventArgs6 ?and2es
dgv2ientes.e22ontent2icE
!nd S'
E@
0Private S'0 dgv2ientes>e22Do'02e2icE;$5.a2 senden As
"0&ect% $5.a2 e As
S5stem._indoBs.9onms.Data\nid.ieBe22!ventAngs6 ?and2es
dgv2ientes.e22Do'02e2icE codigo2iente =
Me.dgv2ientes.-tem;0%
dgv2ientes.'rrent+oB.-nde:;66..a2'e.*oString;6
nom0re = Me.dgv2ientes.-tem;1%
dgv2ientes.'rrent+oB.-nde:;66..a2'e.*oString;6
direccion = Me.dgv2ientes.-tem;2%
dgv2ientes.'rrent+oB.-nde:;66..a2'e.*oString;6
Me.2ose;6
!nd S'0
Private S'0 t:tAom0re>*e:tHanged;$5.a2 sender
As S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6
?and2es t:tAom0re.*e:tHanged
D..+oB9i2ter = Cnom0re 2iEe =mC F t:tAom0re.*e:t
F Cm=C
!nd S'0 !nd 2ass
I*2#3"a+01n :E, C1!0go ! F2n3 n * /o"42*a"0o BQ#72!a ! C*0n3
Vn3a#
$.D.&$. Fo"42*a"0o ! Con#2*3a ! Vn3a# 8a"a /o"42*a"0o ! Vn3a#
a. D0#No ! Fo"42*a"0o ! BQ#72!a ! Vn3a# F"4B2#Vn3a#
I*2#3"a+01n @%, Fo"42*a"0o BQ#72!a ! Vn3a#
b. E*4n3o# 230*0Pa!o#
38
Tab*a &C, Co48onn3# Fo"42*a"0o BQ#72!a ! Vn3a#
+. C1!0go /2n3 n * Fo"42*a"0o F"4B2#Vn3a#
-m/orts
S5stem.Data
-m/orts
S5stem.Data."2eD
0
P'02ic 2ass 9rm$'scar.enta
P'02ic da.enta As
"2eD0DataAda/ter P'02ic
t02.entas As AeB Data*a02e
P'02ic daD.enta As
"2eD0DataAda/ter P'02ic
t02D.enta As AeB Data*a02e
P'02ic cod.enta As -nteger
Private S'0 9rm$'scar.enta>#oad;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
M5$ase.#oad argar>.entas;6
!nd S'0
Private S'0 argar>.entas;6
=#st.enta = o0&.enta$#.#istar>.enta Dim sN2
As String
= sN2 = CSe2ect v.id.enta%c.nom0re%c.direccion from
venta . inner &oin 2iente on
;v.id2iente=c.codc2iente6C
sN2 = CS!#!* .enta.-d.enta% 2iente.nom0re%
2iente.direccion%
.enta.fecHa.enta% .enta.igv% .enta.*ota2 9+"M
2iente -AA!+ b"-A .enta "A 2iente.codc2iente =
.enta.id2ienteC
da.enta = AeB "2eD0DataAda/ter;sN2% cone:ion6
da.enta.9i22;t02.entas6
=Me.Data\rid.ieB2.A'to\enerateo2'mns = 9a2se
Me.Data\rid.ieB2.DataSo'rce = t02.entas !nd S'0
Private S'0 Data\rid.ieB1>e22Do'02e2icE;$5.a2 sender
As "0&ect% $5.a2 e As
S5stem._indoBs.9orms.Data\rid.ieBe22!ventArgs6 ?and2es
Data\rid.ieB2.e22Do'02e2icE *r5
Dim f As -nteger =
Data\rid.ieB2.'rrent+oB.-nde:
9rmon.enta.Data\rid.ieB2.DataSo'r
ce = AotHing
9rmon.enta.Data\rid.ieB1.+oBs.2e
ar;6 verdeta22e;f6
2ose;6
=verdeta22e2;f6
=*racE$ar2..a2'e = f
=argarDatos;f6
atcH e: As !:ce/tion !nd *r5 !nd S'0
Private S'0 verdeta22e;$5.a2 fi2a As -nteger6
Dim sN22 As String
9rmon.enta.Data\rid.ieB2.DataSo'rce = AotHing
38
9rmon.enta.Data\rid.ieB2.+oBs.2ear;6
*r5
-f Data\rid.ieB2.+oBs.o'nt G 0 *Hen
cod.enta = Data\rid.ieB2.-tem;0%
fi2a6..a2'e.*oString 9rmon.enta.cod.enta
=Data\rid.ieB2.-tem;0% fi2a6..a2'e.*oString
9rmon.enta.t:t>c2iente.*e:t = Data\rid.ieB2.-tem;2%
fi2a6..a2'e.*oString
9rmon.enta.t:t>direccion.*e:t =
Data\rid.ieB2.-tem;2% fi2a6..a2'e.*oString
sN22 = CS!#!* Deta22e.enta.antidad%
P+"DO*".Serie/rod'ctoR= =R= =RP+"DO*".MarcaR= =R=
=RP+"DO*".*i/o as Prod'cto% Deta22e.enta./recio.enta 9+"M
P+"DO*" -AA!+ b"-A Deta22e.enta "A P+"DO*".cod/rod'cto =
Deta22e.enta.idProd'cto BHere Deta22e.enta.-d.enta= C F
cod.enta
daD.enta = AeB
"2eD0DataAda/ter;sN22% cone:ion6
daD.enta.9i22;t02D.enta6
9rmon.enta.Data\rid.ieB2.A'to\enerat
eo2'mns = 9a2se
9rmon.enta.Data\rid.ieB2.DataSo'rce
= t02D.enta t02D.enta.Dis/ose;6
= Data\rid.ieB2..isi02e
= 9a2se
9rmon.enta.+ea2iMar>a
2c'2o;6
!nd -f atcH e: As !:ce/tion !nd
*r5
Data\rid.ieB2.Defa'2te22St52e.$acEo2or =
o2or.#igHt\o2denrodXe22oB
Data\rid.ieB2.A2ternating+oBsDefa'2te22St52e.$acEo2or =
o2or.#igHt\reen !nd S'0
b. E*4n3o# 230*0Pa!o#
B233on
b3nN2voRb3nE*040na"Rb3nL0480a
" b3nG2a"!a"Rb3nSa*0"R
T53Bo5
353C*0n3R353D0"++0o
38
!nd 2ass
Tab*a &D, Co48onn3# Fo"42*a"0o G#301n ! P!0!
38
oC1!0go /2n3 n * Fo"42*a"0o F"4Vn3a
-m/orts v0 =
Microsoft..is'a2$asic
-m/orts S5stem.Data
-m/orts
S5stem.Data."2eD0 P'02ic
2ass 9rm.enta
Dim cod/rod'cto As
-nteger Dim cod.enta As
-nteger Dim daod.enta
As "2eD0DataAda/ter Dim
cod2iente As String
Private S'0 t:t>c2iente>he5DoBn;$5.a2 sender
As "0&ect% $5.a2 e As
S5stem._indoBs.9orms.he5!ventArgs6 ?and2es
t:t>c2iente.he5DoBn
=Si se Presiono 2a *ec2a 95 se 22ama a
2a ventana de A5'da -f e.he5ode =
he5s.95 *Hen
Dim Ta5'da As AeB 9rm2i2ientes
=-nstanciar a2 9orm'2ario de
=esta;manera6
= /'edo acceder a 2as varia02es N'e estan dec2arados
=en e2 9orm3
Ta5'da.SHoBDia2og;6
= Me.t:todigo.*e:t =
Ta5'da.codigo2iente cod2iente =
Ta5'da.codigo2iente Me.t:t>c2iente.*e:t =
Ta5'da.nom0re t:t>direccion.*e:t =
Ta5'da.direccion !nd -f !nd S'0
S'0 corre2ativo;6
Dim *02.enta As Data*a02e
=2im/iar2iente;6 =#im/iar 2os
ontro2es ds2ientes = AeB DataSet
daod.enta = AeB "2eD0DataAda/ter;CSe2ect
ma:;idventa6 as codigo from ventaC% cone:ion6
daod.enta.9i22;ds2ientes% Codigo.entaC6
*02.enta = ds2ientes.*a02es;Codigo.entaC6
202.enta.*e:t =
-nt;*02.enta.+oBs;06.-tem;06.*oString6 R 1
cod.enta = -nt;*02.enta.+oBs;06.-tem;06.*oString6
R 1 =Msg$o:;C!2 codigo esC S cod.enta6
*02.enta.Dis/ose;6
!nd S'0
S'0 Activar$otones;$5.a2 0n'evo As $oo2ean% $5.a2
0e2iminar As $oo2ean% $5.a2 02im/iar As $oo2ean% $5.a2
0g'ardar As $oo2ean6 0tnA'evo.!na02ed = 0n'evo
$tn>!2iminar.!na02ed = 0e2iminar $tn>#im/iar.!na02ed =
02im/iar $tn>\'ardar.!na02ed = 0g'ardar !nd S'0
Private S'0 9rm.enta>#oad;$5.a2 sender As S5stem."0&ect%
$5.a2 e As S5stem.!ventArgs6 ?and2es M5$ase.#oad
Activar$otones;*r'e% 9a2se% 9a2se% 9a2se6
!nd S'0
Private S'0 .erificar>a&as;6
-f *rim;t:tAom0re.*e:t6 = CC *Hen
t:tAom0re.9oc's;6
!:it S'0
!2se-f *rim;t:t>/recio.*e:t6 = CC *Hen
t:t>/recio.9oc's;6
!:it S'0
!2se-f *rim;t:tantidad.*e:t6 = CC *Hen
t:tantidad.9oc's;6
38
!:it S'0
!2se-f v0.+igHt;Me.t:t>/recio.*e:t% 16 = C.C *Hen
Message$o:.SHoB;Ca!sto no es 'n Precio
.P2ido^^^C% CAtenciKnC% Message$o:$'ttons."h%
Message$o:-con.-nformation6 t:t>/recio.9oc's;6
!:it S'0
!2se-f verificarstocE;6 = *r'e *Hen
t:tantidad.9oc's;6
!:it S'0
!2se2f $'scar>Prod'cto>\ridvieB;6 = 9a2se *Hen
Message$o:.SHoB;C!2 Prod'cto N'e intenta Agregar 5a
e:iste en 2a #istaC F Hr;136 F C-tem Se2eccionado en 2a
#istaC% CAtenciKnC% Message$o:$'ttons."h%
Message$o:-con.-nformation6
Me.t:tAom0re.9oc's;6
!2se
Me.Data\rid.ieB1.+oBs.Add;cod/rod'cto.*oString%
Me.t:tantidad.*e:t% *rim;Me.t:tAom0re.*e:t6%
Me.t:t>/recio.*e:t6
+ea2iMar>a2c'2o;6
#im/iar;6
Me.t:tantidad.9oc's;6
!nd -f !nd S'0
Private S'0 +ea2iMar>a2c'2o;6
GGGGeeeee =
Dim antidad As Do'02e
Dim -\.% *ota2% M*ota2% M.enta% M-\. As Do'02e
Dim Precio As Do'02e
M*ota2 = 0
M.enta = 0
M-\. = 0
202>v.enta.*e:t = 0 202>-gv.*e:t = 0
202>/.enta.*e:t = 0
9or n As -nteger = 0 *o Data\rid.ieB2.+oBo'nt , 1
antidad =
.a2;Data\rid.ieB1.+oBs;n6.e22s;16..a2'e.*oString;6
6.*oString Precio =
.a2;Data\rid.ieB1.+oBs;n6.e22s;36..a2'e6
*ota2 = ;antidad D Precio6
Me.Data\rid.ieB1.+oBs;n6.e22s;46..a2'e =
*ota2.*oString;Cnn%nn0.00C6 M*ota2 R= *ota2
Ae:t
202>v.enta.*e:t = M*ota2.*oString;Cnn%nn0.00C6
-\. = ;M*ota2 D .a2;t:t>igvM.*e:t66 d
100 202>-gv.*e:t =
-\..*oString;Cnn%nn0.00C6
*ota2 = M*ota2 R -\.
202>/.enta.*e:t = *ota2.*oString;Cnn%nn0.00C6
onvertir>#etras;6
!nd S'0
Private S'0 onvertir>#etras;6
-f Me.Data\rid.ieB1.+oBo'nt = 0 *Hen
202>n'm2etras.*e:t = CC
!2se
Dim n'mero As String
Dim cantidad As -nteger =
v0.#en;Me.202>/.enta.*e:t6 n'mero =
v0.Mid;202>/.enta.*e:t% 1% cantidad , 36
38
202>n'm2etras.*e:t = CS"A( C F A'm2*e:t;n'mero6 F C
"A C F v0.+igHt;202>/.enta.*e:t% 26 F Cd100 AO!." S"#!SC
!nd -f !nd S'0
Private 9'nction $'scar>Prod'cto>\ridvieB;6
9or n As -nteger = 0 *o Me.Data\rid.ieB1.+oBo'nt , 1
-f Me.Data\rid.ieB1.+oBs;n6.e22s;26..a2'e =
*rim;Me.t:tAom0re.*e:t6 *Hen
Data\rid.ieB1.'rrente22 =
Data\rid.ieB1.+oBs;n6.e22s;26
Data\rid.ieB1.+efresH;6
+et'rn 9a2se
!:it 9'nction !nd
-f
Ae:t
+et'rn *r'e
!nd 9'nction
Private S'0 t:t>Descri/cion>he5DoBn;$5.a2
sender As "0&ect% $5.a2 e As
S5stem._indoBs.9orms.he5!ventArgs6 ?and2es
t:tAom0re.he5DoBn
=Si se Presiono 2a *ec2a 95 se 22ama a
2a ventana de A5'da -f e.he5ode =
he5s.95 *Hen
Dim Ta5'da As AeB 9rmProProd'cto
=-nstanciar a2 9orm'2ario de
Ta5'da.SHoBDia2og;6
Me.t:tStocE.*e:t = Ta5'da.stocE
Me.t:tAom0re.*e:t = Ta5'da.nom0re
t:t>/recio.*e:t = Ta5'da./recio cod/rod'cto =
Ta5'da.cod/rod'cto !nd -f !nd S'0
Private S'0 #im/iar;6 t:tantidad.2ear;6
t:tAom0re.2ear;6 t:t>/recio.2ear;6
t:tStocE.2ear;6 0tn$Prod'cto.9oc's;6
!nd S'0
Private 9'nction verificarstocE;6 As $oo2ean
Dim va2or As $oo2ean Dim a% 0 As -nteger
a = -nt;Me.t:tStocE.*e:t6 0 =
-nt;Me.t:tantidad.*e:t.*rim6
-f a e 0 *Hen
Msg$o:;C-ngrese 'na cantidad menor a2 stocEC6
Me.t:tantidad.2ear;6
Me.t:tantidad.9oc's;6 va2or = *r'e
!2se
va2or = 9a2se !nd -f
+et'rn va2or
!nd 9'nction
Private S'0 t:tStocE>he5DoBn;$5.a2 sender As
"0&ect% $5.a2 e As
S5stem._indoBs.9orms.he5!ventArgs6 ?and2es
t:tantidad.he5DoBn -f e.he5Data = he5s.!nter
*Hen .erificar>a&as;6
!nd -f !nd S'0
Private S'0 $tn>!2iminar>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6
?and2es $tn>!2iminar.2icE
-f Me.Data\rid.ieB2.+oBo'nt eG 0 *Hen
-f Message$o:.SHoB;CI+ea2mente Desea !2iminar
e2 -tem Se2eccionadoWC% CAtenciKnC%
Message$o:$'ttons.XesAo% Message$o:-con.-nformation6
= _indoBs.9orms.Dia2og+es'2t.Xes *Hen
38
Me.Data\rid.ieB2.+oBs.+emoveAt;Me.Data\rid.ieB2.'
rrent+oB.-nde:6
!nd -f !nd -f
+ea2iMar>a2c'2o;6
!nd S'0
Private S'0 $tn>#im/iar>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6
?and2es $tn>#im/iar.2icE
-f Me.Data\rid.ieB2.+oBo'nt eG 0 *Hen
-f Message$o:.SHoB;CI+ea2mente Desea !2iminar 2a
#istaWC% CAtenciKnC% Message$o:$'ttons.XesAo%
Message$o:-con.-nformation6 =
_indoBs.9orms.Dia2og+es'2t.Xes *Hen
Me.Data\rid.ieB2.+oBs.2ear;6
!nd -f !nd -f
+ea2iMar>a2c'2o;6
!nd S'0
S'0 \OA+DA+;6
Dim cm. As AeB "2eD0ommand;6
Dim cmD. As AeB "2eD0ommand;6
Dim cmA As AeB "2eD0ommand;6
Dim cad As String Dim cad1
As String Dim A As -nteger
Dim n1 As -nteger
cad = C-nsert into .enta
va2'es;]-d.enta%]id2iente%]fecHa.enta%]igv%]*ota26C
cad1 = C-nsert into Deta22e.enta
va2'es;]-d.enta%]idProd'cto%]antidad%]/recio.enta6C
-f cone:ion.State = onnectionState."/en *Hen
cone:ion.2ose;6
!nd -f
cone:ion."/en;6
cm..ommand*5/e = ommand*5/e.*e:t
cm..ommand*e:t = cad cm..onnection = cone:ion
cmD..ommand*5/e = ommand*5/e.*e:t
cmD..ommand*e:t = cad1 cmD..onnection =
cone:ion _itH cm..Parameters
.Add;C]-d.entaC%
"2eD0*5/e.-nteger6..a2'e = cod.enta
.Add;C]id2ienteC%
"2eD0*5/e..arHar6..a2'e = cod2iente
.Add;C]fecHa.entaC%
"2eD0*5/e.Date6..a2'e = AoB .Add;C]igvC%
"2eD0*5/e.Decima26..a2'e =
D02;202>-gv.*e:t6
.Add;C]*ota2C% "2eD0*5/e.Decima26..a2'e =
D02;202>/.enta.*e:t6
!nd _itH
n1 = cm..!:ec'teAon3'er5
Dim i As -nteger
Dim cant As -nteger
cant = Data\rid.ieB1.+oBs.o'nt
Msg$o:;Cantidad de Prod'ctosC F cant6
9or i = 0 *o cant , 1 _itH cmD..Parameters
cmD..Parameters.2ear;6
.Add;C]-d.entaC% "2eD0*5/e.-nteger6..a2'e =
cod.enta
.Add;C]idProd'ctoC% "2eD0*5/e.-nteger6..a2'e =
-nt;Me.Data\rid.ieB1.-tem;0%
i6..a2'e6
.Add;C]antidadC% "2eD0*5/e.-nteger6..a2'e =
-nt;Me.Data\rid.ieB1.-tem;1%
i6..a2'e6
38
.Add;C]/recio.entaC% "2eD0*5/e.Decima26..a2'e =
D02;Me.Data\rid.ieB1.-tem;3% i6..a2'e6
!nd _itH
A = cmD..!:ec'teAon3'er5
Ae:t
act'a2iMarStocE;6
-f n1 = 1 *Hen
Message$o:.SHoB;C+egistro \'ardado orrectamenteC6
!2se
Message$o:.SHoB;C!rror en 2a *ransacciKnC6
!nd -f
cm..Parameters.2ear;6 ( cone:ion.2ose;6
!nd S'0
S'0 2im/iar.enta;6
t:t>c2iente.2ear;6 t:t>direccion.2ear;6
t:tAom0re.2ear;6 t:tStocE.2ear;6
t:t>/recio.2ear;6 t:tantidad.2ear;6
202>v.enta.*e:t = CC 202>-gv.*e:t = CC
202>/.enta.*e:t = CC 0tnA'evo.9oc's;6
!nd S'
38
0Private S'0 0tnA'evo>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
0tnA'evo.2icE corre2ativo;6
Activar$otones;9a2se% *r'e% *r'e% *r'e6
!nd S'0
Private S'0 $tn>\'ardar>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
$tn>\'ardar.2icE \OA+DA+;6
Activar$otones;*r'e% 9a2se% 9a2se% 9a2se6
Data\rid.ieB2.+oBs.2ear;6
2im/iar.enta;6
!nd S'0
Private S'0 0tn$2iente>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
0tn$2iente.2icE
Dim Ta5'da As AeB 9rm2i2ientes
=-nstanciar a2 9orm'2ario de
=esta;manera6
= /'edo acceder a 2as varia02es N'e
estan dec2arados =en e2 9orm3
Ta5'da.SHoBDia2og;6
= Me.t:todigo.*e:t =
Ta5'da.codigo2iente cod2iente =
Ta5'da.codigo2iente
Me.t:t>c2iente.*e:t = Ta5'da.nom0re
t:t>direccion.*e:t = Ta5'da.direccion
!nd S'0
Private S'0 0tn$Prod'cto>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
0tn$Prod'cto.2icE
Dim Ta5'da As AeB 9rmProProd'cto
=-nstanciar a2 9orm'2ario de
=esta;manera6
= /'edo acceder a 2as varia02es N'e
estan dec2arados =en e2 9orm3
Ta5'da.SHoBDia2og;6
Me.t:tStocE.*e:t = Ta5'da.stocE
Me.t:tAom0re.*e:t = Ta5'da.nom0re
t:t>/recio.*e:t = Ta5'da./recio
cod/rod'cto = Ta5'da.cod/rod'cto !nd
S'0
S'0 act'a2iMarStocE;6
-f cone:ion.State =
onnectionState."/en *Hen
cone:ion.2ose;6
!nd -f
cone:ion."/en;6
Dim sN2 As String = COPDA*! /rod'cto S!*
StocEact'a2 = StocEact'a2 , ]cantidad _?!+! cod/rod'cto
= ]cod/rod'ctoC
Dim cmd As "2eD0ommand = AeB "2eD0ommand;sN2%
cone:ion6
9or !acH roB As Data\rid.ieB+oB -n
Me.Data\rid.ieB2.+oBs
Dim cod/rod'cto As -nteger =
-nt;roB.e22s;CcodigoC6..a2'e6
Dim cantidad As -nteger =
-nt;roB.e22s;CcantidadC6..a2'e6
cmd.Parameters.2ear;6
I*2#3"a+01n @$, C1!0go F2n3 Fo"42*a"0o ! Vn3a
&%@
cmd.Parameters.Add_itH.a2'e;C]cantidadC% cantidad6
cmd.Parameters.Add_itH.a2'e;C]cod/rod'ctoC%
cod/rod'cto6
cmd.!:ec'teAon3'er5;6
Ae:t
cmd.Parameters.2ear;6 ( cone:ion.2ose;6
!nd S'0
Private S'0 0tnSa2ir>2icE;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
0tnSa2ir.2icE
-f Msg$o:;CDesea sa2irWC% v0-nformation R v0XesAo%
CSa2irC6 = v0Xes *Hen 2ose;6
I*2#3"a+01n @9,
Fo"42*a"0o ! R8o"3 ! Vn3a#
b. D0#No ! R8o"3 n C"y#3a*
R8o"3 "83Vn3a#
Nme(o de
pginq
I*2#3"a+01n @:, D0#No ! R8o"3 ! Vn3a#
+. C1!0go /2n3 n * Fo"42*a"0o F"4R83Vn3a#
P'02ic 2ass 9rm+/t.entas
Private S'0 9rm+/t.entas>#oad;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6
?and2es M5$ase.#oad
Dim re/orte.entas As AeB
+/t.entas re/orte.entas.+efresH;6
crv.entas.+e/ortSo'rce =
re/orte.entas !nd S'0 !nd 2ass
I*2#3"a+01n @@, C1!0go F2n3 Fo"42*a"0o R8o"3 ! Vn3a
I*2#3"a+01n @$, C1!0go F2n3 Fo"42*a"0o ! Vn3a
&%A
!nd -f !nd S'0 !nd 2ass
r Section4 {Pie del informe ) r 5ecton5 (Pie de pgi na )
$.D.&@. Fo"42*a"0o R8o"3 ! C*0n3#
a. D0#No ! Fo"42*a"0o F"4R83C*0n3#
I*2#3"a+01n @A, Fo"42*a"0o R8o"3 ! C*0n3#
b. D0#No ! R8o"3 n C"y#3a* R8o"3 "83C*0n3#
I*2#3"a+01n @C, D0#No ! R8o"3 ! C*0n3#
+. C1!0go /2n3 n * /o"42*a"0o F"4R83C*0n3#
-m/orts
S5stem.Data
-m/orts
S5stem.Data."2eD0
P'02ic 2ass
9rm+/t2ientes
I*2#3"a+01n @D, C1!0go F2n3 Fo"42*a"0o R8o"3 ! C*0n3#
&%C
#
$.D.&@. Fo"42*a"0o R8o"3 ! C*0n3#
a. D0#No ! Fo"42*a"0o F"4R83C*0n3#
Private S'0 9rm+/t2ientes>#oad;$5.a2 sender
As S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6
?and2es M5$ase.#oad
Dim re/orte2ientes As AeB
+/t2iente
re/orte2ientes.+efresH;6
crv2ientes.+e/ortSo'rce =
re/orte2ientes !nd S'0 !nd
2ass
I*2#3"a+01n @E, Fo"42*a"0o R8o"3 ! P"o!2+3o#
b. D0#No ! R8o"3 n C"y#3a* R8o"3 "83P"o!2+3o#
I*2#3"a+01n A%, D0#No ! R8o"3 ! P"o!2+3o#
+. C1!0go F2n3 n * Fo"42*a"0o F"4R83P"o!2+3o#
I*2#3"a+01n @D, C1!0go F2n3 Fo"42*a"0o R8o"3 ! C*0n3#
&%D
$.D.&@. Fo"42*a"0o R8o"3 ! C*0n3#
a. D0#No ! Fo"42*a"0o F"4R83C*0n3#
P'02ic 2ass 9rm+/tProd'ctos
Private S'0 9rm+/tProd'ctos>#oad;$5.a2 sender As
S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6 ?and2es
M5$ase.#oad
Dim re/orteProd'ctos As AeB
+/tProd'ctos
re/orteProd'ctos.+efresH;6
crvProd'ctos.+e/ortSo'rce =
re/orteProd'ctos
!nd
S'0 !nd
2ass
I*2#3"a+01n @D, C1!0go F2n3 Fo"42*a"0o R8o"3 ! C*0n3#
&%E
$.D.&C. Fo"42*a"0o R8o"3 ! P"ov!o"#
a. D0#No !* Fo"42*a"0o R8o"3 ! P"ov!o"#
I*2#3"a+01n A$, Fo"42*a"0o ! R8o"3 ! P"ov!o"#
b. D0#No ! R8o"3 n C"y#3a* R8o"3 "83P"ov!o"#
I*2#3"a+01n A9, D0#No ! R8o"3 ! P"ov!o"#
+. C1!0go ! /2n3 n * Fo"42*a"0o F"4R83P"ov!o"#
P'02ic 2ass 9rm+/tProveedores
Private S'0 9rm+/tProveedores>#oad;$5.a2 sender
As S5stem."0&ect% $5.a2 e As S5stem.!ventArgs6
?and2es M5$ase.#oad Dim re/orteProveedor As AeB
r/tProveedor re/orteProveedor.+efresH;6
crvProveedor.+e/ortSo'rce = re/orteProveedor !nd
S'0 !nd 2ass
I*2#3"a+01n A:, C1!0go F2n3 n * Fo"42*a"0o R8o"3 ! P"ov!o"#
&&%
I*2#3"a+01n A&, C1!0go F2n3 Fo"42*a"0o R8o"3 ! P"o!2+3o#
$.D.&C. Fo"42*a"0o R8o"3 ! P"ov!o"#
a. D0#No !* Fo"42*a"0o R8o"3 ! P"ov!o"#
CAPITULO III
9. CONCLUSIONES K
RECOMENDACIONES 9.&.
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 nformtico 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.
9.$. RECOMENDACIONES
u Que los usuarios que van a manejar el sistema tenga conocimientos
bsicos en nformtica y una previa capacitacin a la utilizacin del
&&&
$.D.&C. Fo"42*a"0o R8o"3 ! P"ov!o"#
a. D0#No !* Fo"42*a"0o R8o"3 ! P"ov!o"#
mismo.
u Para cualquier ayuda utilizar el manual de usuario.
u 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.REFERENCIAS BIBLIOGRFICAS
[1] Programacin Visual Basic .net CEVALLOS F, Javier Ed. AlgaOmega
Grupo Editor, S.A. Mxico.
[2] Programacin Visual Basic .net Carrasco Muoz, Joel Ed. AG Editores SRL,
Lima 2005
[3] Visual Basic .net 2005 Librera Editorial MACRO, Lima 2005
[4] Visual Basic .net 2005 Express Castaeda Len, Juan Jos. Editorial RTSA
GRAF, Lima 2006.
[5] Desarrollando Aplicaciones .NET Oficina de Publicaciones de FS UN PARA
&&$
$.D.&C. Fo"42*a"0o R8o"3 ! P"ov!o"#
a. D0#No !* Fo"42*a"0o R8o"3 ! P"ov!o"#
WNDOWS CON ADO.NET 2005 Sistemas UN, Lima. 2008.
[6] Microsoft Access 2010 en Profundidad, Prez, Mara. Editorial AlfaOmega,
RC Libros, Mxico 2011.
Sistemas de Bases de Datos, Administracin y Uso. Y.H. TSAJ, A Editorial:
Prentice Hall 1a Edicin Mxico 199
&&9
0ANESOS
&. FUNCIONAMIENTO DEL SISTEMA
&.&.INGRESO AL SISTEMA
I*2#3"a+01n A@, Man>o Fo"42*a"0o A++#o a* S0#34a
&.$.FORMULARIO PRINCIPAL
I*2#3"a+01n AA, Man>o Fo"42*a"0o P"0n+08a*
&&:
&.9. O8+0on# !* MnQ Man3n040n3o
&.9.&. Fo"42*a"0o ! Man3n040n3o !
C*0n3#
Frm MantC li entes
MANTENMENTO DE CLENTES
I*2#3"a+01n AC, Man>o
! Fo"42*a"0o
Man3n040n3o ! C*0n3#
Fo"42*a"0o ! Man3n040n3o
! P"o!2+3o#
9rmMantProd'ctos 7coc 7fc$, 77ZZ7
MANTENMENTO DE PRODUCTOS
I*2#3"a+01n C%, Man>o Fo"42*a"0o
Man3n040n3o ! U#2a"0o#
&&@
Listado de Clientes Opciones
&.9.$.
I*2#3"a+01n AD, Man>o ! Fo"42*a"0o !
Man3n040n3o ! P"o!2+3o
I*2#3"a+01n C%, Man>o Fo"42*a"0o
Man3n040n3o ! U#2a"0o#
&&A
Listado de Productos
#Fo"42*a"0o ! Man3n040n3o !
P"ov!o"#
"b1 FrmMantProveedores
MANTENMENTO DE PROVEEDOR
I*2#3"a+01n AE, Man>o ! Fo"42*a"0o
Man3n040n3o ! P"ov!o"
&.9.:. Fo"42*a"0o Man3n040n3o !
U#2a"0o#
FrmMantU&uaro
&.9.9.
Datos del
Provee
dor
Cdigo:
RUC:
Nombre:
T*B/ono,
D0n++1n,
9314TO427001
CARTMEX.S.A.
I%&:@SOSS:
Av. Nicolas de Pierola
165S Lima-Per
Opciones
Listado de Proveedores
&Usuario:
.ave:
Nombres:
Apellidos:
A!40n0#3
"a!o"
Ca"*o#
En"072
Perez
Vargas
MANTENMENTO DE USUAROS
Opciones
Datos del
Usuario
Cdigo :
Listado de Usuarios
&.:. O8+0on# !* MnQ Con#2*3a#
&.:.&. Fo"42*a"0o Con#2*3a ! C*0n3#
I*2#3"a+01n C&, Man>o ! Con#2*3a ! C*0n3#
&.:.$. Fo"42*a"0o Con#2*3a ! P"ov!o"#
Ct1 9rmonProveedores 7cMr 7;L,S,1 7
MZ$-7
BUSQUEDA DE PROVEEDORES
ngrese codigo a buscar na
codproveedorrucproveedor nombretelefono
>83126536483COMPUTERHO... 044585959
* rrr ________>
La Cantidad de Proveedores encontrados es: 1
I*2#3"a+01n C$, Man>o ! Con#2*3a ! P"ov!o"#
&.:.9. Fo"42*a"0o Con#2*3a ! P"o!2+3o#
9rmonProd'ctos
I*2#3"a+01n C9, Man>o ! Con#2*3a ! P"o!2+3o#
&&E
Opcio
nes
#}
Cdig
o @
RUC

Nomb
re
BUSQUEDA DE PRODUCTOS
I*2#3"a+01n C9, Man>o ! Con#2*3a ! P"o!2+3o#
&$%
Opciones ()
Cdigo
Serie
Precio Venta
Categoria:
[ Motherboar
ds Marca:
FOXCONN
ngrese codigo a buscar FOXCONN
La Cantidad de productos encontrados es: 4
I*2#3"a+01n C9, Man>o ! Con#2*3a ! P"o!2+3o#
&$&
&.:.:. Fo"42*a"0o Con#2*3a ! Vn3a#
&.:.:.&. Fo"42*a"0o BQ#72!a ! Vn3a 8o" C*0n3
Frm Bu scar Venta ^
I*2#3"a+01n C:, Man>o ! Con#2*3a ! Vn3a# 8o" C*0n3
&.:.:.$. Fo"42*a"0o Con#2*3a ! P!0!o 8o" C*0n3 -Vn3a Ra*0Pa!a.
I*2#3"a+01n C9, Man>o ! Con#2*3a ! P"o!2+3o#
&$$
Doble Qc para Pasar los Datos
I*2#3"a+01n C@, Man>o ! P!0!o 8o" C*0n3
I*2#3"a+01n C9, Man>o ! Con#2*3a ! P"o!2+3o#
&$9
&.@. O8+0on# !* MnQ Mov040n3o#
&.@.&. Gn"a+01n ! P!0!o -Vn3a#.
I*2#3"a+01n CA, Man>o ! G#301n P!0!o -Vn3a.
&.@.&.&. BQ#72!a ! C*0n3# -C*0+ n * Bo31n B2#+a" C*0n3.
a 1
uEl FrmCliClientes | <=. || E|| E3 |
ngrese Nombre
I*2#3"a+01n C9, Man>o ! Con#2*3a ! P"o!2+3o#
&$:
I*2#3"a+01n CC, Man>o ! C*0n3 72 "a*0Pa P!0!o
I*2#3"a+01n C9, Man>o ! Con#2*3a ! P"o!2+3o#
&$@
&.@.&.$. BQ#72!a ! P"o!2+3o# -C*0+ n * Bo31n B2#+a" P"o!2+3o#.
E 3
ngrese Nombre:
I*2#3"a+01n CD, Man>o ! S*++01n ! P"o!2+3o#
&.@.&.9. Gn"a+01n !* P!0!o 8a"a 2n +*0n3
I*2#3"a+01n C9, Man>o ! Con#2*3a ! P"o!2+3o#
&$A
FrmProProducto
I*2#3"a+01n CE, G#301n !* P!0!o 8o" C*0n3
&.A. O8+0on# !* MnQ R8o"3#
&.A.&. R8o"3 ! C*0n3#
I*2#3"a+01n D&, R8o"3 ! P"o!2+3o#
&$C
I*2#3"a+01n D%, R8o"3 ! C*0n3#
&.A.$. R8o"3 ! P"o!2+3o#
u31 FrmRptProductos cu (D '23
S C X < > M |l /Jft SAPCRYSTAL
REPORTS lJ
nforme principal
LISTADO DE PRODUCTOS %9<&$<$%&$
I*2#3"a+01n D&, R8o"3 ! P"o!2+3o#
&$D
Cdigo Serie__Marca____Tipo_________Stock__Precio de Costo _Precio
de Venta
< __________1
N de pgina actual: 1 Ntotal depginas: 1Factorde
zoom:100%
&.A.9. R8o"3 ! P"ov!o"#
I*2#3"a+01n D$, R8o"3 ! P"ov!o"#
&.A.:. R8o"3 ! Vn3a#
T0& F"4R83Vn3a#
SAP +XS*A# +!P"+*SD 0
Informe principal
I*2#3"a+01n D9, R8o"3 ! Vn3a#
&$E
N &
&.A.9. R8o"3 ! P"ov!o"#
I*2#3"a+01n D9, R8o"3 ! Vn3a#
&9%
&.A.9. R8o"3 ! P"ov!o"#
RE!ORE DE "ENAS
N de pgina actual: 1
I*2#3"a+01n D9, R8o"3 ! Vn3a#
&9&
03d12d2012
Nro.
Venta
Clie
nte
Direccin
del Cliente
D
N
I
Telf
ono
Fecha
de Venta
To
tal
N total de pginas: 1 Factor de zoo: 1!!"
&.A.@. R8o"3 ! Fa+32"a#
I*2#3"a+01n D:, R8o"3 ! Fa+32"a#

Anda mungkin juga menyukai