Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Monografia Taller Programacin 121211174010 Phpapp01
Monografia Taller Programacin 121211174010 Phpapp01
ASESOR
Ing. Hobby Saavedra Rosas
DICIEMBRE 2012
TRUJILLO - PER
AGRADECIMIENTOS:
En primer lugar a Dios todo poderoso que me ha permitido llegar hasta aqu,
que me dio la bendicin de culminar mis estudios superiores.
A mis padres, a quienes le debo este logro, quien siempre me apoyo desde el
inicio de mi carrera, tanto en lo econmico, como en lo moral.
alguna
ii
RESUMEN
El desarrollo de un programa computarizado optimiza el tiempo, sistematizar la labor
del usuario, especialmente desarrollado para un anlisis rpido y eficaz.
Pretende primordialmente esta monografa disear e implementar un sistema
informtico de Escritorio, destinado a la venta de Productos de cmputo, con la
finalidad de mantener la informacin centralizada y almacenada en una base de datos
y a partir de ellos poder realizar consultas y reportes, para brindar informacin a los
clientes sobre los precios y productos que cuenta una empresa que se dedica a la
venta de productos de cmputo.
Para el desarrollo del sistema informtico se ha empleado como soporte de base de
datos a Microsoft Access 2010 y lenguaje de programacin Visual Basic. Net. Como
fuentes de datos se han consultado tanto fuentes de internet como bibliografa de las
universidades locales.
Finalmente se dise e implemento satisfactoriamente dicho sistema, que permite el
mantenimiento de clientes, productos, proveedores; as como tambin permite
generar el pedido y realizar la respectiva venta. Adems dicho sistema genera los
reportes, los cuales pueden ser exportados en formato pdf, xls o Word, para su
posterior uso. En este trabajo se muestra paso a paso el diseo e implementacin,
tanto de la base de datos como el cdigo fuente de dicho sistema.
Se concluye que el sistema informtico es un instrumento til puesto que permite
automatizar las bsquedas, por determinado campos, de cada entidad que conforman
el sistema.
Palabras claves: Sistema informtico, Base de Datos, Lenguaje de Programacin,
Generacin de Reportes.
iii
INTRODUCCIN
El presenta trabajo pretende mostrar, la integracin de la tecnolgica .NET, en el
desarrollo de un Sistema Informtico para la Venta de Productos de Cmputo, los
cuales actualmente estn logrando un auge importante, debido a que hoy en da se
maneja mayor cantidad de informacin y se requiere obtenerlo en el menor tiempo y
generar a partir de ello ventajas competitivas, en las empresas dedicadas a este
rubro.
Para la elaboracin de este sistema informtico, se hizo uso
del lenguaje de
La estructura de est monografa est conformada por tres captulos; Captulo I Marco
Referencial, Captulo II Metodologa y Capitulo III Conclusiones, Recomendaciones y
Trabajos futuros.
iv
INDICE DE IMGENES
Ilustracin 1: Funcionamiento Sistema Gestor de Base de Datos ........................................................... 9
Ilustracin 2: Niveles de Abstraccin de una Base de Datos ............................................................................ 11
Ilustracin 3: Estructura multicapa de las facilidades de usuario ........................................................... 13
Ilustracin 4: Entidad y Conjunto de Entidades ........................................................................................ 15
Ilustracin 5: Representacin de la Entidad Persona .............................................................................. 16
Ilustracin 6: Entidad Dbil ........................................................................................................................... 16
Ilustracin 7: Ejemplo de Relacin .............................................................................................................. 17
Ilustracin 8: Representacin Grfica de Relacin .................................................................................. 17
Ilustracin 9: Atributos de Entidad y Relacin ........................................................................................... 17
Ilustracin 10: Transformacin de Entidad a esquema Relacional ........................................................ 20
Ilustracin 11: Grafo Relacional .................................................................................................................. 20
Ilustracin 12: Esquema Relacional de Ms Access .................................................................................. 21
Ilustracin 13: .Net Framework .................................................................................................................... 26
Ilustracin 14: Modelo Lgico de Sistema Informtico ............................................................................ 28
Ilustracin 15: Modelo Entidad Relacin .................................................................................................... 30
Ilustracin 16: Entidades o Tablas .............................................................................................................. 31
Ilustracin 17: Modelo Relacional en Access ............................................................................................ 34
Ilustracin 18: Tabla Producto ..................................................................................................................... 34
Ilustracin 19: Tabla Cliente......................................................................................................................... 35
Ilustracin 20: Tabla Venta ........................................................................................................................... 35
Ilustracin 21: Tabla DetalleVenta .............................................................................................................. 36
Ilustracin 22: Tabla Proveedor ................................................................................................................... 36
Ilustracin 23: Tabla Usuario ....................................................................................................................... 36
Ilustracin 24: Formulario de Acceso al Sistema ...................................................................................... 37
Ilustracin 25: Cdigo Fuente Conexin Base Datos .............................................................................. 37
Ilustracin 26: Cdigo Fuente Formulario de Acesso .............................................................................. 38
Ilustracin 27: Formulario Principal del Sistema ....................................................................................... 38
Ilustracin 28: Cdigo Fuente Formulario Principal.................................................................................. 39
Ilustracin 29: Formulario Mantenimiento de Clientes ............................................................................. 40
Ilustracin 30: Elementos Formulario Mantenimiento Clientes ............................................................... 40
Ilustracin 31: Cdigo Fuente Formulario Mantenimiento de Clientes .................................................. 44
Ilustracin 32: Formulario Mantenimiento Productos ............................................................................... 44
Ilustracin 33: Cdigo Fuente Formulario Mantenimiento de Productos .............................................. 49
Ilustracin 34: Formulario Mantenimiento de Proveedor ......................................................................... 50
Ilustracin 35: Componentes de Formulario Mantenimiento de Proveedores ..................................... 50
Ilustracin 36: Cdigo Fuente Mantenimiento Proveedor ....................................................................... 53
Ilustracin 37: Componentes Formulario Mantenimiento de Usuarios .................................................. 54
Ilustracin 38: Cdigo Fuente Formulario Mantenimiento de Usuarios ................................................ 59
Ilustracin 39: Formulario de Bsqueda de Clientes................................................................................ 59
Ilustracin 40: Componentes Formulario Bsqueda de Clientes ........................................................... 59
Ilustracin 41: Cdigo Fuente Formulario Consulta de Clientes ............................................................ 61
Ilustracin 42: Formulario Bsqueda de Productos.................................................................................. 61
Ilustracin 43: Cdigo Fuente Formulario Consulta de Clientes ............................................................ 63
Ilustracin 44: Formulario Bsqueda de Proveedores ............................................................................. 64
vi
INDICE DE TABLAS
Tabla 1: Tabla de una Base Datos .............................................................................................. 19
Tabla 2: Tabla Clientes de una Base de Datos ......................................................................... 19
Tabla 3: Caractersticas del Software ......................................................................................... 30
Tabla 4: Descripcin Tabla Clientes ............................................................................................ 31
Tabla 5: Descripcin Tabla Producto .......................................................................................... 32
Tabla 6: Descripcin Tabla Usuario ............................................................................................ 32
Tabla 7: Descripcin Tabla Proveedor ........................................................................................ 33
Tabla 8: Descripcin Tabla Venta ................................................................................................ 33
Tabla 9: Descripcin Tabla DetalleVenta ................................................................................... 33
Tabla 10: Elementos del Formulario de Acceso ........................................................................ 37
Tabla 11: Elementos Formulario Principal.................................................................................. 39
Tabla 12: Componentes Formulario Mantenimiento de Productos ........................................ 45
Tabla 13: Componentes del Formulario Bsqueda de Productos .......................................... 62
Tabla 14: Componentes Formulario Bsqueda de Proveedores ............................................ 64
Tabla 15: Componentes Formulario Bsqueda de Ventas ...................................................... 66
Tabla 16: Componentes del Formulario Consulta de Clientes para Ventas ...................................... 68
Tabla 17: Componentes Formulario Bsqueda de Ventas ...................................................... 69
Tabla 18: Componentes Formulario Gestin de Pedido .......................................................... 71
vii
INDICE GENERAL
AGRADECIMIENTOS .........................................................................................................................ii
RESUMEN..........................................................................................................................................iii
INTRODUCCIN................................................................................................................................iv
INDICE DE IMGENES ......................................................................................................................v
INDICE DE TABLAS .........................................................................................................................vii
CAPITULO I ........................................................................................................................... 9
1.
1.1.1.
Definicin de SGBD........................................................................................ 9
1.1.2.
1.1.3.
1.1.4.
1.1.5.
1.1.6.
1.2.
1.2.1.
1.2.2.
CAPITULO II ........................................................................................................................ 27
2.
METODOLOGA ........................................................................................................... 27
2.1.
Visin .................................................................................................................... 27
2.2.
2.3.
2.4.
2.5.
2.6.
2.7.
2.8.
CAPITULO I
1. MARCO REFERENCIAL
1.1. SISTEMAS GESTORES DE BASES DE DATOS (SGBD)
1.1.1. Definicin de SGBD
Un sistema gestor de bases de datos o SGBD (aunque se suele utilizar ms a
menudo las siglas
DBMS
Vista externa. Esta es la visin de los datos que poseen los usuarios del
Sistema de Informacin.
En un
sistema
aplicaciones creadas por los programadores. Esa vista pueden ser formularios,
informes visuales o en papel. Pero la realidad fsica de esos datos, tal cual se
almacenan en los discos queda oculta. Esa visin est reservada a los
administradores.
En el caso de los Sistemas de Base de datos, se aade una tercera vista, que es
la vista conceptual. Esa vista se sita entre la fsica y la externa. Se habla pues en
Bases de datos de la utilizacin de tres esquemas para representar los datos.
1.1.2.1.
Esquema fsico
Representa la forma en la que estn almacenados los datos. Esta visin slo la
requiere el administrador/a. El administrador la necesita para poder gestionar
ms eficientemente la base de datos.
1.1.2.2.
Esquema Conceptual
10
Esquema externo
Se trata de la visin de los datos que poseen los usuarios y usuarias finales.
Esa visin es la que obtienen a travs de las aplicaciones. Las aplicaciones
creadas por los desarrolladores abstraen la realidad conceptual de modo que
el usuario no conoce las relaciones entre los datos, como tampoco conoce
todos los datos que realmente se almacenan.
Realmente cada aplicacin produce un esquema externo diferente (aunque
algunos pueden coincidir) o vista de usuario. El conjunto de todas las vistas de
usuario es lo que se denomina esquema externo global.
11
administrativas como la
12
Habituales.
Utilizan
las
aplicaciones
creadas
por
los
.
Ilustracin 3: Estructura multicapa de las facilidades de usuario
13
Este modelo toma como objeto principal al usuario habitual de la base de datos y
modela el funcionamiento de la base de datos en una sucesin de capas cuya
finalidad es ocultar y proteger la parte interna de las bases de datos
Desde esta ptica para llegar a los datos hay que pasar una serie de capas que
desde la parte ms externa poco a poco van entrando ms en la realidad fsica de
la base de datos.
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.
Entidad.
Se trata de cualquier objeto u elemento (real o abstracto) acerca
del cual se pueda almacenar informacin en la base de datos. Es
14
persona Pedro
hablaramos de la entidad
Representacin Grfica
15
Tipos de Entidades
Regulares. Son las entidades normales que tienen
existencia por s mismas sin depender de otras. Su
representacin grfica es la indicada arriba
Dbiles. Su existencia depende de otras. Es decir e.
Por ejemplo la entidad tarea laboral slo podr tener
existencia si existe la entidad trabajo. Las entidades
dbiles se presentan de esta forma:
Relacin
Representan asociaciones entre entidades. Es el elemento del
modelo que permite relacionar en s los datos del mismo. Por
ejemplo, en el caso de que tengamos una entidad personas y
otra entidad trabajos. Ambas se realizan ya que las personas
trabajan y los trabajos son realizados por personas:
16
Representacin Grfica
Atributos
Describen propiedades de las entidades y las relaciones. En
este modelo se representan con elipses, dentro de las cuales
se coloca el nombre del atributo.
Esa elipse se une con una lnea a las entidades. Ejemplo:
a. Modelo Relacional
Edgar Frank Codd defini las bases del modelo relacional a finales de los 60.
En 1970 publica el documento A Relational Model of data for Large Shared
Data Banks (Un modelo relacional de datos para grandes bancos de datos
compartidos). Actualmente se considera que ese es uno de los documentos
ms influyentes de toda la historia de la informtica. Lo es porque en l se
definieron las bases del llamado Modelo Relacional de Bases de Datos.
Anteriormente el nico modelo terico estandarizado era el Codasyl que se
utiliz masivamente en los aos 70 como paradigma del modelo en red de
bases de datos.
Codd se apoya en los trabajos de los matemticos Cantor y Childs (cuya
teora de conjuntos es la verdadera base del modelo relacional). Segn Codd
los datos se agrupan en relaciones (actualmente llamadas tablas) que es un
concepto que se refiere a la estructura que aglutina datos referidos a una
misma entidad de forma independiente respecto a su almacenamiento fsico.
Lo que Codd intentaba fundamentalmente es evitar que las usuarias y
usuarios de la base de datos tuvieran que verse obligadas a aprender los
entresijos internos del sistema. Pretenda que los usuarios/as trabajaran de
forma sencilla e independiente del funcionamiento fsico de la base de datos
en s. Fue un enfoque revolucionario.
b. Relacin o Tabla
Segn el modelo relacional (desde que Codd lo enunci) el elemento
fundamental es lo que se conoce como relacin, aunque ms habitualmente
se
18
Puesto que una relacin se representa como una tabla; podemos entender
que las
Grafos Relacionales
Es un esquema relacional en el que hay lneas que enlazan las
claves principales
d. Esquemas Relacionales
Se ha hecho muy popular la forma de presentar esquemas relacionales del
programa Microsoft Access.
20
a. MySQL
MySQL es un sistema gestor de bases de datos que se puede
encuadrar dentro de la categora de los programas open-source.
Aparte de las caractersticas que definen MySQL como programa
open-source, existen aspectos que lo diferencian de otros productos
como, por citar uno conocido, Access. Los atributos a los que
hacemos referencia son:
21
en
plataformas
(Linux/Windows-Apache-MySQL-
b. POSTGRESQL
PostgreSQL es un sistema de gestin de base de datos relacional
orientada a objetos y libre, publicado bajo la licencia BSD.
Como muchos otros proyectos de cdigo abierto, el desarrollo de
PostgreSQL no es manejado por una sola empresa sino que es
dirigido por una comunidad de desarrolladores y organizaciones
comerciales las cuales trabajan en su desarrollo. Dicha comunidad
es denominada el PGDG (PostgreSQL Global Development Group).
Alta concurrencia
Mediante un sistema denominado MVCC (Acceso concurrente
multiversin, por sus siglas en ingls) PostgreSQL permite que
mientras un proceso escribe en una tabla, otros accedan a la misma
tabla sin necesidad de bloqueos. Cada usuario obtiene una visin
consistente de lo ltimo a lo que se le hizo commit.
1.1.6.2.
SGBD Propietarios
22
para
SQL
Server
Compact
Edition
(System.Data.SqlServerCe).
b. MICROSOFT ACCESS
Microsoft Access 2010 se basa en la simplicidad, con plantillas listas
para que empiece a trabajar y herramientas eficaces para
23
Posibilidad de ampliacin
Sencillez
Mltiples usuarios
Escalabilidad
24
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.
25
26
CAPITULO II
2. METODOLOGA
FASE I: VISIN Y ALCANCE DEL PROYECTO
2.1. Visin
La visin de este trabajo es desarrollar un sistema informtico, que permita automatizar el
proceso de venta de productos de cmputo, haciendo uso de la tecnologa .Net, descrita en el
captulo anterior, as mismo del gestor de base de datos Microsoft Access.
27
RAM: 3GB
RAM: 4GB
29
DESCRIPCIN
NOMBRE
VERSIN
Sistema Operativo
Microsoft Windows
Windows 7
Lenguaje de Programacin
VB 10.0
IDE
Visual Studio
2010
Microsott Access
2010
Reportes
Crystal Reports
30
Tamao del
campo
codcliente
Autonumeracion
Entero Largo
nombre
Texto
38
direccin
Texto
45
DNI
Texto
11
telfono
Texto
10
Atributo
Descripcin
31
Tipo de dato
Tamao del
campo
Descripcin
codproducto
Numero
Entero Largo
Serieproducto
Texto
80
Marca
Texto
20
Tipo
Texto
50
Stockactual
Numero
Entero Largo
PreCosto
Moneda
--
PreVenta
Moneda
--
FechActualizacion
Fecha/Hora
--
Entero Largo
idProveedor
Numero
Tipo de dato
Tamao del
campo
Id
Autonumeracion
Entero Largo
usuario
Texto
255
clave
Texto
255
nombre
Texto
255
Texto
255
apellido
Descripcin
Cdigo del Usuario , es un correlativo y
es la PK (clave primaria) no permite
valores nulos
Tipo de Usuario (administrador /
secretaria ), no permite valores nulos
La clave del usuario, no permite valores
nulo
El nombre del usuario, no permite valores
nulos
El apellido del usuario, no permite valores
nulos
32
Tipo de dato
Tamao del
campo
Descripcin
codproveedor
Numero
Entero Largo
rucproveedor
Texto
12
nombre
Texto
30
telfono
Texto
10
direccin
Texto
50
Tipo de dato
Tamao del
campo
IdVenta
Numero
Entero Largo
idCliente
Texto
255
fechaVenta
Fecha/Hora
--
igv
Numero
Decimal
Total
Numero
Decimal
Descripcin
Cdigo de la tabla venta , es un correlativo
y es la PK (clave primaria) no permite
valores nulos
Cdigo del Cliente
y es FK (clave
externa) no permite valores nulos
La fecha de la salida de la venta, no
permite valores nulo
El IGV del producto a la venta, no permite
valores nulos
El precio total de la venta, no permite
valores nulos
Tipo de dato
Tamao del
campo
IdVenta
Numero
Entero Largo
idProducto
Numero
Entero Largo
Cantidad
Numero
Entero Largo
Numero
Decimal
precioVenta
Descripcin
Cdigo del Usuario , es un correlativo y es la PK
(clave primaria) no permite valores nulos
Cdigo del Producto y es FK (clave externa) no
permite valores nulos
La cantidad de productos vendidos, no permite
valores nulo
El precio del producto vendido, no permite
valores nulos
2.7.4.1.
Producto
34
2.7.4.2.
Cliente
2.7.4.3.
Venta
35
2.7.4.4.
DetalleVenta
2.7.4.5.
Proveedor
2.7.4.6.
Usuario
36
Nombre Asignado
cboUsuario
lblUusuario
lblPasssword
TextBox
txtPasword
Button
btnEntrar
btnCancelar
PictureBox
pbUsuario
Tabla 10: Elementos del Formulario de Acceso
b. Elementos utilizados
Tipo de Control
MenuStrip
Mantenimiento
Nombre Asignado
mnuPrincipal
Clientes
Producto
Proveedor
Venta
Usuario
Consultas
Clientes
Producto
Proveedor
Venta
Usuario
Movimientos
Ventas
Reportes
Clientes
Producto
Proveedor
Venta
Usuario
Tabla 11: Elementos Formulario Principal
b. Elemento utilizados
Tipo de control
TextBox
Button
DataGridView
GroupBox
Label
Nombre
txtCodigo
txtNombres
txtDireccion
txtDNI
txtTelefono
btnNuevo
btnGuardar
btnBuscar
btnModificar
btnEliminar
btnCancelar
btnSalir
dgvClientes
gbDatosClientes
gbOpciones
lblTitulo
lblListClientes
40
41
42
43
44
b. Elementos utilizados
Tipo de control
TextBox
ComboBox
DateTimePicker
Button
DataGridView
GroupBox
Label
Nombre
txtCodigo
txtSerie
txtStockActual
txtPreCosto
txtPreVenta
cboMarca
cboCategoria
cboProveedor
dtpFechAct
btnNuevo
btnGuardar
btnBuscar
btnModificar
btnEliminar
btnCancelar
btnSalir
dgvProductos
gbDatosProductos
gbOpciones
lblTitulo
lblListProductos
45
46
47
48
b. Elementos utilizados
Tipo de control
TextBox
Button
DataGridView
GroupBox
Label
Nombre
txtCodigo
txtRUC
txtSNombre
txtTelefono
txtDireccion
btnNuevo
btnGuardar
btnBuscar
btnModificar
btnEliminar
btnCancelar
btnSalir
dgvProveedor
gbDatosProveedor
gbOpciones
lblTitulo
lblListProveedor
50
51
52
b. Elementos utilizados
Tipo de control
TextBox
Button
DataGridView
GroupBox
Label
Nombre
txtCodigo
txtUsuario
txtClave
txtNombres
txtApellidos
btnNuevo
btnGuardar
btnBuscar
btnModificar
btnEliminar
btnCancelar
btnSalir
dgvUsuarios
gbDatosUsuarios
gbOpciones
lblTitulo
lblListUsuarios
54
55
56
57
txtClave.Text = dr("clave")
txtNombres.Text = dr("nombre")
txtApellidos.Text = dr("apellidos")
Catch exc As Exception
MessageBox.Show(exc.Message)
End Try
End Sub
Private Sub verdetalle(ByVal fila As Integer)
Try
If dgvUsuarios.Rows.Count > 0 Then
Me.txtCodigo.Text = dgvUsuarios.Item(0, fila).Value.ToString
txtUsuario.Text = dgvUsuarios.Item(1, fila).Value.ToString
txtClave.Text = dgvUsuarios.Item(2, fila).Value.ToString
txtNombres.Text = dgvUsuarios.Item(3, fila).Value.ToString
txtApellidos.Text = dgvUsuarios.Item(4, fila).Value.ToString
Else
dgvUsuarios.Visible = False
End If
Catch ex As Exception
End Try
dgvUsuarios.DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
dgvUsuarios.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGreen
End Sub
Private Sub btnNuevo_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnNuevo.Click
habilitarControles(True)
limpiarUsuario()
correlativo()
sw = 1
ActivarBotones(True, True, False, False, True)
End Sub
Private Sub btnBuscar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnBuscar.Click
buscar()
ActivarBotones(True, False, True, True, True)
End Sub
Private Sub btnAgregar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnAgregar.Click
If sw = 1 Then
Nuevo()
ElseIf sw = 2 Then
Actualizar()
End If
sw = 0
ActivarBotones(True, False, False, False, False)
End Sub
Private Sub btnActualizar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnActualizar.Click
sw = 2
habilitarControles(True)
ActivarBotones(False, True, True, False, True)
End Sub
Private Sub btnEliminar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnEliminar.Click
Eliminar()
End Sub
Private Sub btnCancelar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnCancelar.Click
CargarDatosActualizados(0)
habilitarControles(False)
sw = 0
ActivarBotones(True, False, False, False, False)
End Sub
58
b. Elementos utilizados
Tipo de control
Nombre
RadioButton
rbtCodigo
rbtNombre
rbtDNI
TextBox
txtDato
DataGridView
dgvClientes
Label
lblTitulo
60
Me.dgvCliente.Visible = True
Me.dgvCliente.DataSource = objDataSet
Me.dgvCliente.DataMember = "Cliente"
lblEncontrados.Text = TblClientes.Rows.Count
TblClientes.Dispose()
Else
Me.dgvCliente.DataSource = Nothing
dgvCliente.Visible = False
lblEncontrados.Text = 0
End If
End Sub
Private Sub rbtCodigo_CheckedChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles rbtCodigo.CheckedChanged
Me.lblEncontrados.Text = ""
End Sub
Private Sub rbtNombre_CheckedChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles rbtNombre.CheckedChanged
Me.lblEncontrados.Text = ""
End Sub
Private Sub rbtDNI_CheckedChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles rbtDNI.CheckedChanged
Me.lblEncontrados.Text = ""
End Sub
End Class
b. Elementos utilizados
Tipo de control
Nombre
RadioButton
rbtCodigo
61
rbtPreVenta
rbtSerie
TextBox
txtDato
DataGridView
dgvProductos
Label
lblTitulo
62
objDataAdapter.Fill(objDataSet, "producto")
conexion.Close()
Dim TblClientes As DataTable
TblClientes = objDataSet.Tables("producto")
If TblClientes.Rows.Count > 0 Then
Me.dgvProducto.Visible = True
Me.dgvProducto.DataSource = objDataSet
Me.dgvProducto.DataMember = "producto"
lblEncontrados.Text = TblClientes.Rows.Count
TblClientes.Dispose()
Else
Me.dgvProducto.DataSource = Nothing
dgvProducto.Visible = False
lblEncontrados.Text = 0
End If
End Sub
Private Sub rbtCodigo_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles
rbtCodigo.Click, rbtSerie.Click, rbtPrecioVenta.Click
Select Case sender.name
Case "rbtCodigo"
strcampo = "codProducto"
oper = "codigo"
Case "rbtSerie"
strcampo = "serieproducto"
oper = "serie producto"
Case "rbtPrecioVenta"
strcampo = "PreVenta"
oper = "Precio Venta"
End Select
Me.lblTitulo.Text = "Ingrese " & oper & " a buscar"
Me.dgvProducto.DataSource = Nothing
txtDato.Enabled = True
txtDato.Clear()
txtDato.Focus()
lblEncontrados.Text = ""
End Sub
Private Sub txtDato_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles txtDato.TextChanged
buscar()
End Sub
Private Sub cboCategoria_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cboCategoria.SelectedIndexChanged
Me.strcampo = "tipo"
Me.txtDato.Text = cboCategoria.SelectedItem.ToString
End Sub
Private Sub cboMarca_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cboMarca.SelectedIndexChanged
Me.strcampo = "Marca"
Me.txtDato.Text = cboMarca.SelectedItem.ToString
End Sub
End Class
63
b. Elementos utilizados
Tipo de control
Nombre
RadioButton
rbtCodigo
rbtPreVenta
rbtSerie
TextBox
txtDato
DataGridView
dgvProductos
Label
lblTitulo
64
b. Elementos utilizados
Tipo de Control
Nombre
TextBox
txtCliente
txtDireccion
DataGridView
dgvConVentas
Buttton
btnBuscarVenta
Label
lblSubTotVenta
lblIGV
lblTotalVenta
GroupBox
gbDatosCliente
66
67
b. Elementos utilizados
Tipo de Control
Nombre
TextBox
txtNombre
DataGridView
dgvConClientes
68
b. Elementos utilizados
Tipo de control
Nombre
Label
lblDescripcion
DataGridView
dgvVentas
69
b. Elementos utilizados
Tipo de Control
Nombre
Button
btnNuevo,btnEliminar,btnLimpiar
btnGuardar,btnSalir, btnBusCliente
btnBusProductos
TextBox
txtCliente,txtDireccio
txtDescripcion,txtStock,txtPreUnit
txtCantidad
Label
lblSubTotVenta,lblIGV,lblTotalVenta
lblNumVenta, lblValorVentaLetras
DataGridView
dgvPedido
71
72
txtCantidad.Focus()
Exit Sub
ElseIf Buscar_Producto_Gridview() = False Then
MessageBox.Show("El Producto que intenta Agregar ya existe en la Lista" &
Chr(13) & "Item Seleccionado en la Lista", "Atencin", MessageBoxButtons.OK,
MessageBoxIcon.Information)
Me.txtNombre.Focus()
Else
Me.DataGridView1.Rows.Add(codproducto.ToString, Me.txtCantidad.Text,
Trim(Me.txtNombre.Text), Me.txt_precio.Text)
Realizar_Calculo()
Limpiar()
Me.txtCantidad.Focus()
End If
End Sub
Private Sub Realizar_Calculo()
'-------------->>>><<<<<------------------------'
Dim Cantidad As Double
Dim IGV, Total, MTotal, MVenta, MIGV As Double
Dim Precio As Double
MTotal = 0
MVenta = 0
MIGV = 0
lbl_vVenta.Text = 0
lbl_Igv.Text = 0
lbl_pVenta.Text = 0
For n As Integer = 0 To DataGridView1.RowCount - 1
Cantidad = Val(DataGridView1.Rows(n).Cells(1).Value.ToString()).ToString
Precio = Val(DataGridView1.Rows(n).Cells(3).Value)
Total = (Cantidad * Precio)
Me.DataGridView1.Rows(n).Cells(4).Value = Total.ToString("##,##0.00")
MTotal += Total
Next
lbl_vVenta.Text = MTotal.ToString("##,##0.00")
IGV = (MTotal * Val(txt_igvM.Text)) / 100
lbl_Igv.Text = IGV.ToString("##,##0.00")
Total = MTotal + IGV
lbl_pVenta.Text = Total.ToString("##,##0.00")
Convertir_Letras()
End Sub
Private Sub Convertir_Letras()
If Me.DataGridView1.RowCount = 0 Then
lbl_numletras.Text = ""
Else
Dim numero As String
Dim cantidad As Integer = vb.Len(Me.lbl_pVenta.Text)
numero = vb.Mid(lbl_pVenta.Text, 1, cantidad - 3)
lbl_numletras.Text = "SON: " & Num2Text(numero) & " CON " &
vb.Right(lbl_pVenta.Text, 2) & "/100 NUEVO SOLES"
End If
End Sub
Private Function Buscar_Producto_Gridview()
For n As Integer = 0 To Me.DataGridView1.RowCount - 1
If Me.DataGridView1.Rows(n).Cells(2).Value = Trim(Me.txtNombre.Text) Then
DataGridView1.CurrentCell = DataGridView1.Rows(n).Cells(2)
DataGridView1.Refresh()
Return False
Exit Function
End If
Next
Return True
73
End Function
Private Sub txt_Descripcion_KeyDown(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyEventArgs) Handles txtNombre.KeyDown
'Si se Presiono la Tecla F5 se llama a la ventana de Ayuda
If e.KeyCode = Keys.F5 Then
Dim Xayuda As New FrmProProducto 'Instanciar al Formulario de
Xayuda.ShowDialog()
Me.txtStock.Text = Xayuda.stock
Me.txtNombre.Text = Xayuda.nombre
txt_precio.Text = Xayuda.precio
codproducto = Xayuda.codproducto
End If
End Sub
Private Sub Limpiar()
txtCantidad.Clear()
txtNombre.Clear()
txt_precio.Clear()
txtStock.Clear()
btnBProducto.Focus()
End Sub
Private Function verificarstock() As Boolean
Dim valor As Boolean
Dim a, b As Integer
a = CInt(Me.txtStock.Text)
b = CInt(Me.txtCantidad.Text.Trim)
If a < b Then
MsgBox("Ingrese una cantidad menor al stock")
Me.txtCantidad.Clear()
Me.txtCantidad.Focus()
valor = True
Else
valor = False
End If
Return valor
End Function
Private Sub txtStock_KeyDown(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyEventArgs) Handles txtCantidad.KeyDown
If e.KeyData = Keys.Enter Then
Verificar_Cajas()
End If
End Sub
Private Sub Btn_Eliminar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Btn_Eliminar.Click
If Me.DataGridView1.RowCount <> 0 Then
If MessageBox.Show("Realmente Desea Eliminar el Item Seleccionado?",
"Atencin", MessageBoxButtons.YesNo, MessageBoxIcon.Information) =
Windows.Forms.DialogResult.Yes Then
Me.DataGridView1.Rows.RemoveAt(Me.DataGridView1.CurrentRow.Index)
End If
End If
Realizar_Calculo()
End Sub
Private Sub Btn_Limpiar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Btn_Limpiar.Click
If Me.DataGridView1.RowCount <> 0 Then
If MessageBox.Show("Realmente Desea Eliminar la Lista?", "Atencin",
MessageBoxButtons.YesNo, MessageBoxIcon.Information) = Windows.Forms.DialogResult.Yes Then
Me.DataGridView1.Rows.Clear()
End If
End If
Realizar_Calculo()
End Sub
74
Sub GUARDAR()
Dim cmV As New OleDbCommand()
Dim cmDV As New OleDbCommand()
Dim cmA As New OleDbCommand()
Dim cad As String
Dim cad1 As String
Dim N As Integer
Dim n1 As Integer
cad = "Insert into Venta values(@IdVenta,@idCliente,@fechaVenta,@igv,@Total)"
cad1 = "Insert into DetalleVenta
values(@IdVenta,@idProducto,@Cantidad,@precioVenta)"
If conexion.State = ConnectionState.Open Then
conexion.Close()
End If
conexion.Open()
cmV.CommandType = CommandType.Text
cmV.CommandText = cad
cmV.Connection = conexion
cmDV.CommandType = CommandType.Text
cmDV.CommandText = cad1
cmDV.Connection = conexion
With cmV.Parameters
.Add("@IdVenta", OleDbType.Integer).Value = codVenta
.Add("@idCliente", OleDbType.VarChar).Value = codCliente
.Add("@fechaVenta", OleDbType.Date).Value = Now
.Add("@igv", OleDbType.Decimal).Value = CDbl(lbl_Igv.Text)
.Add("@Total", OleDbType.Decimal).Value = CDbl(lbl_pVenta.Text)
End With
n1 = cmV.ExecuteNonQuery
Dim i As Integer
Dim cant As Integer
cant = DataGridView1.Rows.Count
MsgBox("Cantidad de Productos" & cant)
For i = 0 To cant - 1
With cmDV.Parameters
cmDV.Parameters.Clear()
.Add("@IdVenta", OleDbType.Integer).Value = codVenta
.Add("@idProducto", OleDbType.Integer).Value = CInt(Me.DataGridView1.Item(0,
i).Value)
.Add("@Cantidad", OleDbType.Integer).Value = CInt(Me.DataGridView1.Item(1,
i).Value)
.Add("@precioVenta", OleDbType.Decimal).Value =
CDbl(Me.DataGridView1.Item(3, i).Value)
End With
N = cmDV.ExecuteNonQuery
Next
actualizarStock()
If n1 = 1 Then
MessageBox.Show("Registro Guardado Correctamente")
Else
MessageBox.Show("Error en la Transaccin")
End If
cmV.Parameters.Clear() : conexion.Close()
End Sub
Sub limpiarVenta()
txt_cliente.Clear()
txt_direccion.Clear()
txtNombre.Clear()
txtStock.Clear()
txt_precio.Clear()
txtCantidad.Clear()
lbl_vVenta.Text = ""
lbl_Igv.Text = ""
lbl_pVenta.Text = ""
btnNuevo.Focus()
End Sub
75
77
CAPITULO III
3. CONCLUSIONES Y RECOMENDACIONES
3.1. CONCLUSIONES
Se cre un documento en el que se abordan de una forma general los
conceptos de base de datos, lenguaje de programacin Visual Basic. Net, y el
desarrollo del Sistema Informtico para Venta de Productos de cmputo.
El contar con un sistema informtico dentro de una empresa; nos permite
automatizar los procesos de venta y consulta de productos, el cual genera
ventajas competitivas y nos entrega informacin en el menor tiempo posible.
Se determin que es un tanto sencillo la integracin de la Tecnologa. Net,
para el desarrollo de aplicaciones, de escritorio, que son de mucha utilidad
hoy en da dentro las empresas dedicadas al rubro de ventas.
El sistema cuenta con varias funcionabilidades que facilitan al usuario la
comprensin y manejo del mismo.
3.2. RECOMENDACIONES
Que los usuarios que van a manejar el sistema tenga conocimientos bsicos
en Informtica y una previa capacitacin a la utilizacin del mismo.
81
REFERENCIAS BIBLIOGRFICAS
[1] Programacin Visual Basic .net CEVALLOS F, Javier Ed. AlgaOmega
Editor, S.A.
Grupo
Mxico.
[2] Programacin Visual Basic .net Carrasco Muoz, Joel Ed. AG Editores SRL, Lima
2005
[3] Visual Basic .net 2005 Librera Editorial MACRO, Lima 2005
[4] Visual Basic .net 2005 Express Castaeda Len, Juan Jos. Editorial
RITISA
PARA
82
ANEXOS
1. FUNCIONAMIENTO DEL SISTEMA
1.1.
INGRESO AL SISTEMA
1.2.
FORMULARIO PRINCIPAL
83
1.3.
84
1.4.
1.4.4.2.
1.5.
1.5.1.1.
1.5.1.2.
1.5.1.3.
89
1.6.
92