Sunteți pe pagina 1din 105

INSTITUTO EDUCACION

SUPERIOR
SAN EDUARDO
COMPUTACION E INFORMATICA

Carat
PROYECTOS DE CICLO DEL CURSO

TALLER DE SISTEMAS

ASESOR:
Ing. Manuel Ulloa Florin

TRUJILLO PER
2010

SISTEMA DE
VENTA
DE Computo
AUTORES:
Flores Morillas Melissa
Olivera Torres Sebastin
Ruiz Alva Jonathan

GESTOR DE BASE DE DATOS:


SQL 2005

LENGUAJE DE PROGRAMACIN:
Visual Basic. Net 2005

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

ACCESO AL SISTEMA

Imports System.Data : Imports System.Data.SqlClient


Public Class FRMLOGIN
Public acum As Integer
Private Sub aceptar(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles BTNACEPTAR.Click
aceptar()
End Sub
Private Sub aceptar()
Dim cadenaconexion As String = "Data
Source=.\SQLEXPRESS;AttachDbFilename=C:\VENTAS.mdf;Integrated Security=True;Connect
Timeout=30;User Instance=True"
Using con As New SqlConnection(cadenaconexion)
con.Open()
Dim consulta As String = "Select * from usuario where USUARIO=" & _
"@usuario and Password=@password"
Dim comando As New SqlCommand(consulta, con)
comando.Parameters.AddWithValue("@usuario", Me.TXTUSUARIO.Text.Trim)
comando.Parameters.AddWithValue("@password", Me.txtpassword.Text.Trim)
Dim dt As New DataTable : Dim da As New SqlDataAdapter(comando)
da.Fill(dt)
If dt.Rows.Count > 0 Then
MsgBox("USUARIO LOGEADO EXITOSAMENTE", MsgBoxStyle.Information, "INGRESO")
MDISISTEMA.Show()
Finalize()
Else
If MsgBox("USUARIO O PASSWORD INCORRECTA", MsgBoxStyle.Exclamation, "ERROR")
= MsgBoxResult.Ok Then
acum = acum + 1
txtpassword.Text = ""
TXTUSUARIO.Text = ""
TXTUSUARIO.Focus()
TXTUSUARIO.Select()
TXTUSUARIO.SelectionStart = 0
TXTUSUARIO.SelectionLength = 20
If acum = 3 Then
MsgBox("AH EXECEDIDO EL LIMITE DE INTENTOS", MsgBoxStyle.Critical, "LO

Ing. Manuel Ulloa Florin


Net y 6.0

-4-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
SENTIMOS")

End
End If
MsgBox("Te queda:" + Str(3 - acum) + "oportunidad(es)", 16, "Clave incorrecta")
End If
End If
End Using
End Sub
Private Sub BTNCANCELAR_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BTNCANCELAR.Click
If MessageBox.Show("Desea Cancelar la Aplicacion", "salir", MessageBoxButtons.OKCancel) =
Windows.Forms.DialogResult.OK Then
End
End If
End Sub
Private

Sub

txtpassword_KeyPress(ByVal

sender

As

Object,

ByVal

As

ByVal

As

System.Windows.Forms.KeyPressEventArgs) Handles txtpassword.KeyPress


If Asc(e.KeyChar) = 13 Then BTNACEPTAR.Focus()
End Sub
Private

Sub

TXTUSUARIO_KeyPress(ByVal

sender

As

Object,

System.Windows.Forms.KeyPressEventArgs) Handles TXTUSUARIO.KeyPress


If Asc(e.KeyChar) = 13 Then txtpassword.Focus()
End Sub
Private Sub BTNACEPTAR_Enter(ByVal sender As Object, ByVal e As System.EventArgs)
Handles BTNACEPTAR.Enter
aceptar()
End Sub
End Class

Ing. Manuel Ulloa Florin


Net y 6.0

-5-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

Mantenedor Vendedor

mports System.Data.SqlClient
Imports Microsoft.SqlServer
Public Class frmvendedor
Dim conexion As SqlConnection
Dim cmd As SqlCommand
Dim orden As SqlDataAdapter
Dim vendedor As DataSet
Dim dr As DataRow
Dim reg As Integer
Dim registro As SqlDataReader
Private Sub limpiar()
TXTnombre.Text = ""
txtapellido.Text = ""
txtdireccion.Text = ""
txttelefono.Text = ""
txtdni.Text = ""
txtcorreo.Text = ""
txtcodigo.Text = "VD00" + Format(DTS.Tables("vendedor").Rows.Count + 1)
End Sub
Private Sub activar()
TXTnombre.Enabled = True
txtapellido.Enabled = True
txttelefono.Enabled = True
txtdireccion.Enabled = True

Ing. Manuel Ulloa Florin


Net y 6.0

-6-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
txtdni.Enabled = True

txtcorreo.Enabled = True
End Sub
Private

Sub

System.EventArgs)

desplazamiento(ByVal
Handles

sender

btnprimero.Click,

As

System.Object,

btnanterior.Click,

ByVal

As

btnsiguiente.Click,

btnultimo.Click
If sender Is btnprimero Then
reg = 0
ElseIf sender Is btnanterior Then
reg -= 1
If reg < 0 Then reg = 0
ElseIf sender Is btnsiguiente Then
reg += 1
If reg > DTS.Tables("vendedor").Rows.Count - 1 Then
reg = DTS.Tables("vendedor").Rows.Count - 1
End If
ElseIf sender Is btnultimo Then
reg = DTS.Tables("vendedor").Rows.Count - 1
End If
dr = DTS.Tables("vendedor").Rows(reg)
txtcodigo.Text = dr("idvendedor")
TXTnombre.Text = dr("nombre")
txtapellido.Text = dr("apellido")
txttelefono.Text = dr("telefono")
txtdireccion.Text = dr("direccion")
txtdni.Text = dr("dni")
txtcorreo.Text = dr("correo")
dr = DTS.Tables("vendedor").Rows(reg)
txtcodigo.Text = dr("idvendedor")
TXTnombre.Text = dr("nombre")
txtapellido.Text = dr("apellido")
txttelefono.Text = dr("telefono")
txtdni.Text = dr("dni")
txtdireccion.Text = dr("direccion")
txtcorreo.Text = dr("correo")
lblreg.Text = "Registro: " & reg + 1 & " de " & DTS.Tables("vendedor").Rows.Count
If reg = DTS.Tables("vendedor").Rows.Count - 1 Then
MsgBox("Ultimo Registro")
End If
If reg = 0 Then
MsgBox("primer registro")
End If
desactivar()

Ing. Manuel Ulloa Florin


Net y 6.0

-7-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
btnguardar.Enabled = False

btncancelar.Enabled = False
btneditar.Enabled = True
btnactualizar.Visible = False
btnguardar.Visible = True
End Sub
Private Sub desactivar()
TXTnombre.Enabled = False
txtapellido.Enabled = False
txttelefono.Enabled = False
txtdireccion.Enabled = False
txtdni.Enabled = False
txtcorreo.Enabled = False
End Sub
Private

Sub

txtapellido_KeyPress(ByVal

sender

As

Object,

ByVal

As

ByVal

As

ByVal

As

ByVal

As

System.Windows.Forms.KeyPressEventArgs) Handles txtapellido.KeyPress


If Asc(e.KeyChar) = 13 Then txttelefono.Focus()
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsSeparator(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private

Sub

txtapellido_KeyUp(ByVal

sender

As

Object,

System.Windows.Forms.KeyEventArgs) Handles txtapellido.KeyUp


Clipboard.Clear()
End Sub
Private

Sub

txtapellido_MouseDown(ByVal

sender

As

Object,

System.Windows.Forms.MouseEventArgs) Handles txtapellido.MouseDown


Clipboard.Clear()
End Sub
Private

Sub

TXTnombre_KeyPress(ByVal

sender

As

Object,

System.Windows.Forms.KeyPressEventArgs) Handles TXTnombre.KeyPress


If Asc(e.KeyChar) = 13 Then txtapellido.Focus()
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False

Ing. Manuel Ulloa Florin


Net y 6.0

-8-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

ElseIf Char.IsSeparator(e.KeyChar) Then


e.Handled = False
Else
e.Handled = True
End If

End Sub
Private

Sub

txttelefono_KeyPress(ByVal

sender

As

Object,

ByVal

As

As

System.Windows.Forms.KeyPressEventArgs) Handles txttelefono.KeyPress


If Asc(e.KeyChar) = 13 Then txtdni.Focus()
If InStr(1, "0123456789,-" & Chr(8), e.KeyChar) = 0 Then
e.KeyChar = ""
End If
End Sub
Private

Sub

txtdni_KeyPress(ByVal

sender

As

Object,

ByVal

System.Windows.Forms.KeyPressEventArgs) Handles txtdni.KeyPress


If Asc(e.KeyChar) = 13 Then txtdireccion.Focus()
If InStr(1, "0123456789,-" & Chr(8), e.KeyChar) = 0 Then
e.KeyChar = ""
End If
End Sub
Private

Sub btnnuevo_Click_1(ByVal sender

As System.Object,

ByVal e As

System.EventArgs) Handles btnnuevo.Click


limpiar()
activar()
TXTnombre.Focus()
btnguardar.Visible = True
btncancelar.Enabled = True
btnguardar.Enabled = True
btneditar.Enabled = False
btnnuevo.Enabled = False
btnprimero.Enabled = False
btnanterior.Enabled = False
btnsiguiente.Enabled = False
btnultimo.Enabled = False
btnactualizar.Visible = False
End Sub
Private Sub btnguardar_Click_1(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnguardar.Click
guardar()
End Sub
Private Sub guardar()
If TXTnombre.Text = "" Then
MsgBox("Por Favor. Ingrese Un Nombre!", MsgBoxStyle.Information, "MENSAJE")

Ing. Manuel Ulloa Florin


Net y 6.0

-9-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
TXTnombre.Focus()

ElseIf txtapellido.Text = "" Then


MsgBox("Por Favor. Ingrese Un Apellido!", MsgBoxStyle.Information, "MENSAJE")
txtapellido.Focus()
ElseIf txtdni.TextLength <> 8 Then
MsgBox("El Nmero de DNI Debe Contener 8 Digitos!", MsgBoxStyle.Information,
"MENSAJE")
txtdni.Focus()
Else
conexion = New SqlConnection("Data
Source=.\SQLEXPRESS;AttachDbFilename=C:\VENTAS.mdf;Integrated Security=True;Connect
Timeout=30;User Instance=True")
Try
conexion.Open()
cmd = New SqlCommand("insert into
vendedor(idvendedor,nombre,apellido,telefono,direccion,dni,correo)values('" & txtcodigo.Text & "','"
& TXTnombre.Text & "','" & txtapellido.Text & "','" & txttelefono.Text & "','" & txtdireccion.Text & "','"
& txtdni.Text & "','" & txtcorreo.Text & "')", conexion)
vendedor = New DataSet
cmd.ExecuteNonQuery()
Dim ELEMENTO As ListViewItem
ELEMENTO = lsvvendedor.Items.Add(txtcodigo.Text)
ELEMENTO.SubItems.Add(TXTnombre.Text)
ELEMENTO.SubItems.Add(txtapellido.Text)
ELEMENTO.SubItems.Add(txttelefono.Text)
ELEMENTO.SubItems.Add(txtdni.Text)
ELEMENTO.SubItems.Add(txtdireccion.Text)
ELEMENTO.SubItems.Add(txtcorreo.Text)
conexion.Dispose()
MsgBox("DATO INGRESADO..", MsgBoxStyle.Information, "INGRESAR VENDEDOR.")
Catch ex As Exception
MsgBox("Error al Ingresar Datos..", MsgBoxStyle.Critical, "Error")
End Try
DAP = New SqlClient.SqlDataAdapter("select * from vendedor", cn)
DTS = New DataSet
AbrirConexion()
DAP.Fill(DTS, "vendedor")
cn.Close()
dr = DTS.Tables("vendedor").Rows(reg)

Ing. Manuel Ulloa Florin


Net y 6.0

-10-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

txtcodigo.Text = dr("Idvendedor")
TXTnombre.Text = dr("nombre")
txtapellido.Text = dr("apellido")
txttelefono.Text = dr("telefono")
txtdni.Text = dr("dni")
txtdireccion.Text = dr("direccion")
txtcorreo.Text = dr("correo")
cargadatos()
limpiar()
TXTnombre.Focus()
btnnuevo.Enabled = False

End If
End Sub
Private

Sub

btnsalir_Click(ByVal

sender

As

System.Object,

ByVal

As

System.EventArgs) Handles btnsalir.Click


If MessageBox.Show("DESEA SALIR DE LA APLICACION...?", "SALIR...",
MessageBoxButtons.OKCancel) = Windows.Forms.DialogResult.OK Then
Close()
End If
End Sub
Private Sub frmvendedor_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
DAP = New SqlClient.SqlDataAdapter("select * from vendedor", cn)
DTS = New DataSet
AbrirConexion()
DAP.Fill(DTS, "vendedor")
cn.Close()
reg = 0
dr = DTS.Tables("vendedor").Rows(reg)
txtcodigo.Text = dr("Idvendedor")
TXTnombre.Text = dr("Nombre")
txtapellido.Text = dr("Apellido")
txttelefono.Text = dr("Telefono")
txtdireccion.Text = dr("Direccion")
txtdni.Text = dr("DNI")
txtcorreo.Text = dr("correo")
cargadatos()
'mostrar en el lsvcliente
DAP = New SqlDataAdapter("select * from vendedor", cn)
DTS = New DataSet
AbrirConexion()
DAP.Fill(DTS, "vendedor")
DT = DTS.Tables("vendedor")

Ing. Manuel Ulloa Florin


Net y 6.0

-11-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
For Each dr In DT.Rows

lista = lsvvendedor.Items.Add(dr.Item("idvendedor"))
lista.SubItems.Add(dr.Item("nombre"))
lista.SubItems.Add(dr.Item("apellido"))
lista.SubItems.Add(dr.Item("telefono"))
lista.SubItems.Add(dr.Item("dni"))
lista.SubItems.Add(dr.Item("direccion"))
lista.SubItems.Add(dr.Item("correo"))
Next
btnprimero.Enabled = True
btnanterior.Enabled = True
btnsiguiente.Enabled = True
btnultimo.Enabled = True
cargadatos()
btnnuevo.Focus()
btnactualizar.Visible = False
End Sub
Private Sub cargadatos()
dr = DTS.Tables("vendedor").Rows(reg)
txtcodigo.Text = dr("idvendedor")
TXTnombre.Text = dr("nombre")
txtapellido.Text = dr("apellido")
txttelefono.Text = dr("telefono")
txtdni.Text = dr("dni")
txtdireccion.Text = dr("direccion")
txtcorreo.Text = dr("correo")
lblreg.Text = "Registro: " & reg + 1 & " de " & DTS.Tables("vendedor").Rows.Count
End Sub
Private

Sub btneditar_Click_1(ByVal sender

As System.Object,

ByVal e

As

System.EventArgs) Handles btneditar.Click


activar()
TXTnombre.Focus()
btncancelar.Enabled = False
btnnuevo.Enabled = False
btnprimero.Enabled = False
btnanterior.Enabled = False
btnsiguiente.Enabled = False
btnultimo.Enabled = False
btnguardar.Visible = False
btnactualizar.Visible = True
btneditar.Enabled = False
btnactualizar.Enabled = True
EliminarEspacios()

Ing. Manuel Ulloa Florin


Net y 6.0

-12-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
End Sub

Private

Sub btncancelar_Click(ByVal sender

As System.Object,

ByVal e

As

System.EventArgs) Handles btncancelar.Click


reg = DTS.Tables("vendedor").Rows.Count - 1
txtcodigo.Text = dr("idvendedor")
TXTnombre.Text = dr("nombre")
txtapellido.Text = dr("apellido")
txttelefono.Text = dr("telefono")
txtdni.Text = dr("dni")
txtdireccion.Text = dr("direccion")
txtcorreo.Text = dr("correo")
dr = DTS.Tables("vendedor").Rows(reg)
txtcodigo.Text = dr("idvendedor")
TXTnombre.Text = dr("nombre")
txtapellido.Text = dr("apellido")
txttelefono.Text = dr("telefono")
txtdni.Text = dr("dni")
txtdireccion.Text = dr("direccion")
txtcorreo.Text = dr("correo")
lblreg.Text = "Registro: " & reg + 1 & " de " & DTS.Tables("vendedor").Rows.Count
desactivar()
btnguardar.Enabled = False
btncancelar.Enabled = False
btnnuevo.Enabled = True
btnprimero.Enabled = True
btnanterior.Enabled = True
btnsiguiente.Enabled = True
btnultimo.Enabled = True
btneditar.Enabled = False
btnactualizar.Visible = False
btnguardar.Visible = True
btnnuevo.Focus()
EliminarEspacios()
End Sub

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


System.EventArgs) Handles btnactualizar.Click
If TXTnombre.Text = "" Then
MsgBox("Por Favor. Ingrese Un Nombre!", MsgBoxStyle.Information, "MENSAJE")
TXTnombre.Focus()

Ing. Manuel Ulloa Florin


Net y 6.0

-13-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
ElseIf txtapellido.Text = "" Then

MsgBox("Por Favor. Ingrese Un Apellido!", MsgBoxStyle.Information, "MENSAJE")


txtapellido.Focus()
ElseIf txtdni.TextLength <> 8 Then
MsgBox("El Nmero de DNI Debe Contener 8 Digitos!", MsgBoxStyle.Information,
"MENSAJE")
txtdni.Focus()
Else
codigo = txtcodigo.Text
nombre = TXTnombre.Text
apellido = txtapellido.Text
telefono = txttelefono.Text
direccion = txtdireccion.Text
rucdni = txtdni.Text
correo = txtcorreo.Text()
sentencia = "UPDATE vendedor set Nombre='" & nombre & "'," & _
"Apellido='" & apellido & "', " & _
"Telefono='" & telefono & "', " & _
"Direccion='" & direccion & "', " & _
"DNI='" & rucdni & "', " & _
"CORREO='" & correo & "'" & _
"WHERE idVENDEDOR='" & codigo & "'"
AbrirConexion()
Ejecutar(sentencia)
cn.Close()
MsgBox("Datos Modificados")
If lsvvendedor.SelectedItems.Count <> 0 Then
lsvvendedor.SelectedItems(0).SubItems(0).Text = txtcodigo.Text
lsvvendedor.SelectedItems(0).SubItems(1).Text = TXTnombre.Text
lsvvendedor.SelectedItems(0).SubItems(2).Text = txtapellido.Text
lsvvendedor.SelectedItems(0).SubItems(3).Text = txttelefono.Text
lsvvendedor.SelectedItems(0).SubItems(4).Text = txtdni.Text
lsvvendedor.SelectedItems(0).SubItems(5).Text = txtdireccion.Text
lsvvendedor.SelectedItems(0).SubItems(6).Text = txtcorreo.Text
End If
DAP = New SqlClient.SqlDataAdapter("select * from vendedor", cn)
DTS = New DataSet
AbrirConexion()
DAP.Fill(DTS, "vendedor")
cn.Close()
dr = DTS.Tables("vendedor").Rows(reg)
txtcodigo.Text = dr("Idvendedor")
TXTnombre.Text = dr("nombre")

Ing. Manuel Ulloa Florin


Net y 6.0

-14-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

txtapellido.Text = dr("apellido")
txttelefono.Text = dr("telefono")
txtdni.Text = dr("dni")
txtdireccion.Text = dr("direccion")
txtcorreo.Text = dr("correo")
desactivar()
btnprimero.Enabled = True
btnanterior.Enabled = True
btnsiguiente.Enabled = True
btnultimo.Enabled = True
btnnuevo.Enabled = True
btnactualizar.Visible = False
btnguardar.Visible = True
btncancelar.Enabled = False
btnnuevo.Focus()
EliminarEspacios()

End If
End Sub
Private Sub EliminarEspacios()
TXTNOMBRE.Text = RTrim(TXTNOMBRE.Text)
TXTAPELLIDO.Text = RTrim(TXTAPELLIDO.Text)
TXTTELEFONO.Text = RTrim(TXTTELEFONO.Text)
TXTDIRECCION.Text = RTrim(TXTDIRECCION.Text)
txtdni.Text = RTrim(txtdni.Text)
txtcorreo.Text = RTrim(txtcorreo.Text)
End Sub
Private

Sub

txtdireccion_KeyPress(ByVal

sender

As

Object,

ByVal

As

ByVal

As

System.Windows.Forms.KeyPressEventArgs) Handles txtdireccion.KeyPress


If Asc(e.KeyChar) = 13 Then txtcorreo.Focus()
End Sub
Private

Sub

txtcorreo_KeyPress(ByVal

sender

As

Object,

System.Windows.Forms.KeyPressEventArgs) Handles txtcorreo.KeyPress


If Asc(e.KeyChar) = 13 Then btnguardar.Focus()
End Sub
Private Sub btnguardar_Enter(ByVal sender As Object, ByVal e As System.EventArgs)
Handles btnguardar.Enter
guardar()
End Sub
Private

Sub

BTNNUEVO_MouseLeave(ByVal

sender

As

Object,

ByVal

As

System.EventArgs) Handles btnnuevo.MouseLeave

Ing. Manuel Ulloa Florin


Net y 6.0

-15-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

btnnuevo.BackColor = Color.Silver

End Sub
Private

Sub

BTNNUEVO_MouseMove(ByVal

sender

As

Object,

ByVal

As

System.Windows.Forms.MouseEventArgs) Handles btnnuevo.MouseMove


BTNNUEVO.BackColor = Color.Red
End Sub
Private

Sub

BTNEDITAR_MouseLeave(ByVal

sender

As

Object,

ByVal

As

sender

As

Object,

ByVal

As

System.EventArgs) Handles btneditar.MouseLeave


btneditar.BackColor = Color.Silver
End Sub
Private

Sub

BTNEDITAR_MouseMove(ByVal

System.Windows.Forms.MouseEventArgs) Handles btneditar.MouseMove


BTNEDITAR.BackColor = Color.Red
End Sub
Private Sub BTNGUARDAR_MouseLeave(ByVal sender As Object, ByVal e As
System.EventArgs) Handles btnguardar.MouseLeave
btnguardar.BackColor = Color.Silver
End Sub
Private Sub BTNGUARDAR_MouseMove(ByVal sender As Object, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles btnguardar.MouseMove
BTNGUARDAR.BackColor = Color.Red
End Sub
Private Sub BTNCANCELAR_MouseLeave(ByVal sender As Object, ByVal e As
System.EventArgs) Handles btncancelar.MouseLeave
btncancelar.BackColor = Color.Silver
End Sub
Private Sub BTNCANCELAR_MouseMove(ByVal sender As Object, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles btncancelar.MouseMove
BTNCANCELAR.BackColor = Color.Red
End Sub
Private

Sub

btnsalir_MouseLeave(ByVal

sender

As

Object,

ByVal

As

sender

As

Object,

ByVal

As

System.EventArgs) Handles btnsalir.MouseLeave


btnsalir.BackColor = Color.Silver
End Sub
Private

Sub

btnsalir_MouseMove(ByVal

System.Windows.Forms.MouseEventArgs) Handles btnsalir.MouseMove


btnsalir.BackColor = Color.Red
End Sub

Ing. Manuel Ulloa Florin


Net y 6.0

-16-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
Private

Sub

TXTnombre_KeyUp(ByVal

sender

As

Object,

ByVal

As

As

System.Windows.Forms.KeyEventArgs) Handles TXTnombre.KeyUp


Clipboard.Clear()
End Sub
Private

Sub

TXTnombre_MouseDown(ByVal

sender

As

Object,

ByVal

System.Windows.Forms.MouseEventArgs) Handles TXTnombre.MouseDown


Clipboard.Clear()
End Sub
Function MAYUSCULA(ByVal V) As Boolean
If (V >= 65 And V < 90) Then
MAYUSCULA = True
Else
MAYUSCULA = False
End If
End Function
Function MINUSCULA(ByVal V) As Boolean
If (V >= 97 And V < 122) Then
MINUSCULA = True
Else
MINUSCULA = False
End If
End Function
Private Sub lsvvendedor_SelectedIndexChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles lsvvendedor.SelectedIndexChanged
If lsvvendedor.SelectedIndices.Count = 0 Then Exit Sub
txtcodigo.Text = lsvvendedor.SelectedItems(0).SubItems(0).Text
TXTnombre.Text = lsvvendedor.SelectedItems(0).SubItems(1).Text
txtapellido.Text = lsvvendedor.SelectedItems(0).SubItems(2).Text
txttelefono.Text = lsvvendedor.SelectedItems(0).SubItems(3).Text
txtdni.Text = lsvvendedor.SelectedItems(0).SubItems(4).Text
txtdireccion.Text = lsvvendedor.SelectedItems(0).SubItems(5).Text
txtcorreo.Text = lsvvendedor.SelectedItems(0).SubItems(6).Text
btneditar.Enabled = True
desactivar()
btnguardar.Visible = False
btnactualizar.Visible = True
btncancelar.Enabled = False
btnactualizar.Enabled = False
btnnuevo.Enabled = True
End Sub
Private

Sub

txttelefono_KeyUp(ByVal

Ing. Manuel Ulloa Florin


Net y 6.0

sender

-17-

As

Object,

ByVal

As

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

System.Windows.Forms.KeyEventArgs) Handles txttelefono.KeyUp


Clipboard.Clear()
End Sub
Private

Sub

txttelefono_MouseDown(ByVal

sender

As

Object,

ByVal

As

System.Windows.Forms.MouseEventArgs) Handles txttelefono.MouseDown


Clipboard.Clear()
End Sub
Private

Sub

txtdni_KeyUp(ByVal

sender

As

Object,

ByVal

As

ByVal

As

ByVal

As

As

System.Windows.Forms.KeyEventArgs) Handles txtdni.KeyUp


Clipboard.Clear()
End Sub
Private

Sub

txtdni_MouseDown(ByVal

sender

As

Object,

System.Windows.Forms.MouseEventArgs) Handles txtdni.MouseDown


Clipboard.Clear()
End Sub
Private

Sub

txtdireccion_KeyUp(ByVal

sender

As

Object,

System.Windows.Forms.KeyEventArgs) Handles txtdireccion.KeyUp


Clipboard.Clear()
End Sub
Private

Sub

txtdireccion_MouseDown(ByVal

sender

As

Object,

ByVal

System.Windows.Forms.MouseEventArgs) Handles txtdireccion.MouseDown


Clipboard.Clear()
End Sub
Private

Sub

txtcorreo_KeyUp(ByVal

sender

As

Object,

ByVal

As

As

System.Windows.Forms.KeyEventArgs) Handles txtcorreo.KeyUp


Clipboard.Clear()
End Sub

Private

Sub

txtcorreo_MouseDown(ByVal

sender

As

Object,

ByVal

System.Windows.Forms.MouseEventArgs) Handles txtcorreo.MouseDown


Clipboard.Clear()
End Sub
End Class
Mantenedor Cliente

Ing. Manuel Ulloa Florin


Net y 6.0

-18-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

Imports System.Data.SqlClient
Imports Microsoft.SqlServer
<System.Runtime.InteropServices.ComVisible(False)> Public Class Frmcliente
Dim conexion As SqlConnection
Dim cmd As SqlCommand
Dim orden As SqlDataAdapter
Dim cliente As DataSet
Dim dr As DataRow
Dim reg As Integer
Dim registro As SqlDataReader
Private Sub NUEVO(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles BTNNUEVO.Click
NUEVO()
End Sub
Private

Sub BTNEDITAR_Click(ByVal sender

As System.Object,

ByVal e

As

System.EventArgs) Handles BTNEDITAR.Click


editar()
End Sub
Private Sub validanatural()
If TXTNOMBRE.Text = "" Then
MessageBox.Show("Igrese Un Nombre", "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
TXTNOMBRE.Focus()
ElseIf TXTAPELLIDO.Text = "" Then
MessageBox.Show("Ingrese un Apellido", "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
TXTAPELLIDO.Focus()

Ing. Manuel Ulloa Florin


Net y 6.0

-19-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

ElseIf TXTRUCDNI.Text = "" Then


MessageBox.Show("Ingrese un nmero de DNI", "Error", MessageBoxButtons.OK,

MessageBoxIcon.Error)
TXTRUCDNI.Focus()
ElseIf TXTRUCDNI.TextLength <> 8 Then
MessageBox.Show("El nmero de DNI debe contener 8 digitos", "Error",
MessageBoxButtons.OK, MessageBoxIcon.Error)
TXTRUCDNI.Focus()
Else
guardar()
End If
End Sub
Private Sub validajuridico()
If TXTNOMBRE.Text = "" Then
MessageBox.Show("Igrese Un Nombre", "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
TXTNOMBRE.Focus()
ElseIf TXTAPELLIDO.Text = "" Then
MessageBox.Show(" Ingrese un Apellido", "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
TXTAPELLIDO.Focus()
ElseIf TXTRUCDNI.Text = "" Then
MessageBox.Show(" Ingrese un nmero de RUC", "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
TXTRUCDNI.Focus()
ElseIf TXTRUCDNI.TextLength <> 11 Then
MessageBox.Show("El nmero de RUC debe contener 11 digitos", "Error",
MessageBoxButtons.OK, MessageBoxIcon.Error)
TXTRUCDNI.Focus()
ElseIf TXTRAZONSOCIAL.Text = "" Then
MessageBox.Show("Ingrese una Razon Social", "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
TXTRAZONSOCIAL.Focus()
Else
guardar()
End If
End Sub
Private

Sub

guardarregistro(ByVal

sender

As

System.Object,

ByVal

As

System.EventArgs) Handles BTNGUARDAR.Click


If rdbnatural.Checked = True Then
validanatural()
ElseIf rdbjuridico.Checked = True Then
validajuridico()
End If
End Sub

Ing. Manuel Ulloa Florin


Net y 6.0

-20-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
Private Sub guardar()
conexion = New SqlConnection("Data
Source=.\SQLEXPRESS;AttachDbFilename=C:\VENTAS.mdf;Integrated Security=True;Connect
Timeout=30;User Instance=True")
Try
conexion.Open()
cmd = New SqlCommand("insert into
cliente(idcliente,nombre,apellido,telefono,direccion,rucdni,razonsocial,idtipocliente)values('" &
TXTCODIGO.Text & "','" & TXTNOMBRE.Text & "','" & TXTAPELLIDO.Text & "','" & TXTTELEFONO.Text
& "','" & TXTDIRECCION.Text & "','" & TXTRUCDNI.Text & "','" & TXTRAZONSOCIAL.Text & "','" &
TXTTIPO.Text & "')", conexion)
cliente = New DataSet
cmd.ExecuteNonQuery()
Dim ELEMENTO As ListViewItem
ELEMENTO = lsvcliente.Items.Add(TXTCODIGO.Text)
ELEMENTO.SubItems.Add(TXTNOMBRE.Text)
ELEMENTO.SubItems.Add(TXTAPELLIDO.Text)
ELEMENTO.SubItems.Add(TXTTELEFONO.Text)
ELEMENTO.SubItems.Add(TXTRUCDNI.Text)
ELEMENTO.SubItems.Add(TXTDIRECCION.Text)
ELEMENTO.SubItems.Add(TXTRAZONSOCIAL.Text)
ELEMENTO.SubItems.Add(TXTTIPO.Text)
EliminarEspacios()
conexion.Dispose()
MsgBox("DATO INGRESADO..", MsgBoxStyle.Information, "INGRESAR CLIENTE.")
Catch ex As Exception
MsgBox("Error al Ingresar Datos..", MsgBoxStyle.Critical, "Error")
End Try
DAP = New SqlClient.SqlDataAdapter("select * from cliente", cn)
DTS = New DataSet
AbrirConexion()
DAP.Fill(DTS, "cliente")
cn.Close()
dr = DTS.Tables("cliente").Rows(reg)
TXTCODIGO.Text = dr("Idcliente")
TXTNOMBRE.Text = dr("nombre")
TXTAPELLIDO.Text = dr("apellido")
TXTTELEFONO.Text = dr("telefono")
TXTRUCDNI.Text = dr("rucdni")
TXTDIRECCION.Text = dr("direccion")

Ing. Manuel Ulloa Florin


Net y 6.0

-21-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

TXTRAZONSOCIAL.Text = dr("razonsocial")
TXTTIPO.Text = dr("idtipocliente")
cargadatos()
limpiar()
TXTNOMBRE.Focus()
BTNNUEVO.Enabled = False
rdbnatural.Enabled = True
rdbjuridico.Enabled = True
rdbnatural.Checked = True

End Sub
Private Sub SALIR(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles btnsalir.Click
SALIR()
End Sub
Private Sub cancelar(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles BTNCANCELAR.Click
reg = DTS.Tables("cliente").Rows.Count - 1
TXTCODIGO.Text = dr("idcliente")
TXTNOMBRE.Text = dr("nombre")
TXTAPELLIDO.Text = dr("apellido")
TXTTELEFONO.Text = dr("telefono")
TXTRUCDNI.Text = dr("rucdni")
TXTDIRECCION.Text = dr("direccion")
TXTRAZONSOCIAL.Text = dr("razonsocial")
TXTTIPO.Text = dr("IDtipocliente")
cargadatos()
desactivar()
BTNGUARDAR.Enabled = False
BTNCANCELAR.Enabled = False
BTNNUEVO.Enabled = True
btnprimero.Enabled = True
btnanterior.Enabled = True
btnsiguiente.Enabled = True
btnultimo.Enabled = True
btnactualizar.Visible = False
BTNGUARDAR.Visible = True
BTNNUEVO.Focus()
rdbnatural.Enabled = False
rdbjuridico.Enabled = False
TXTRAZONSOCIAL.Enabled = False

Ing. Manuel Ulloa Florin


Net y 6.0

-22-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
End Sub

Private Sub EliminarEspacios()


TXTNOMBRE.Text = RTrim(TXTNOMBRE.Text)
TXTAPELLIDO.Text = RTrim(TXTAPELLIDO.Text)
TXTTELEFONO.Text = RTrim(TXTTELEFONO.Text)
TXTDIRECCION.Text = RTrim(TXTDIRECCION.Text)
TXTRUCDNI.Text = RTrim(TXTRUCDNI.Text)
TXTTIPO.Text = RTrim(TXTTIPO.Text)
TXTRAZONSOCIAL.Text = RTrim(TXTRAZONSOCIAL.Text)
End Sub
Private

Sub

Frmcliente_Load(ByVal

sender

As

System.Object,

ByVal

As

System.EventArgs) Handles MyBase.Load


DAP = New SqlClient.SqlDataAdapter("select * from CLIENTE", cn)
DTS = New DataSet
AbrirConexion()
DAP.Fill(DTS, "CLIENTE")
cn.Close()
reg = 0
dr = DTS.Tables("CLIENTE").Rows(reg)
TXTCODIGO.Text = dr("IdCliente")
TXTNOMBRE.Text = dr("Nombre")
TXTAPELLIDO.Text = dr("Apellido")
TXTTELEFONO.Text = dr("Telefono")
TXTDIRECCION.Text = dr("Direccion")
TXTRUCDNI.Text = dr("rucdni")
TXTRAZONSOCIAL.Text = dr("razonsocial")
TXTTIPO.Text = dr("idtipocliente")
cargadatos()
reg = DTS.Tables("cliente").Rows.Count - 1
'mostrar en el lsvcliente
DAP = New SqlDataAdapter("select * from cliente", cn)
DTS = New DataSet
AbrirConexion()
DAP.Fill(DTS, "cliente")
DT = DTS.Tables("cliente")
For Each dr In DT.Rows
lista = lsvcliente.Items.Add(dr.Item("idcliente"))
lista.SubItems.Add(dr.Item("nombre"))
lista.SubItems.Add(dr.Item("apellido"))
lista.SubItems.Add(dr.Item("telefono"))
lista.SubItems.Add(dr.Item("rucdni"))
lista.SubItems.Add(dr.Item("direccion"))
lista.SubItems.Add(dr.Item("razonsocial"))

Ing. Manuel Ulloa Florin


Net y 6.0

-23-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

lista.SubItems.Add(dr.Item("idtipocliente"))

Next
btnprimero.Enabled = True
btnanterior.Enabled = True
btnsiguiente.Enabled = True
btnultimo.Enabled = True
cargadatos()
btnactualizar.Visible = False
BTNNUEVO.Focus()
lblDNI.Text = "RUC"
End Sub
Private Sub DESPLAZAMIENTO(ByVal sender As System.Object, ByVal e As
System.EventArgs)

Handles

btnprimero.Click,

btnultimo.Click,

btnanterior.Click,

btnsiguiente.Click
If sender Is btnprimero Then
reg = 0
ElseIf sender Is btnanterior Then
reg -= 1
If reg < 0 Then reg = 0
ElseIf sender Is btnsiguiente Then
reg += 1
If reg > DTS.Tables("cliente").Rows.Count - 1 Then
reg = DTS.Tables("cliente").Rows.Count - 1
End If
ElseIf sender Is btnultimo Then
reg = DTS.Tables("cliente").Rows.Count - 1
End If
dr = DTS.Tables("cliente").Rows(reg)
TXTCODIGO.Text = dr("idcliente")
TXTNOMBRE.Text = dr("nombre")
TXTAPELLIDO.Text = dr("apellido")
TXTTELEFONO.Text = dr("telefono")
TXTDIRECCION.Text = dr("direccion")
TXTRUCDNI.Text = dr("rucdni")
TXTRAZONSOCIAL.Text = dr("razonsocial")
TXTTIPO.Text = dr("idtipocliente")
cargadatos()
If reg = DTS.Tables("cliente").Rows.Count - 1 Then
MsgBox("Ultimo Registro")
End If
If reg = 0 Then

Ing. Manuel Ulloa Florin


Net y 6.0

-24-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
MsgBox("primer registro")

End If
desactivar()
BTNGUARDAR.Enabled = False
BTNCANCELAR.Enabled = False
BTNEDITAR.Enabled = True
btnactualizar.Visible = False
BTNGUARDAR.Visible = True
End Sub
Private Sub mostrar(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles btnmostrar.Click
If btnmostrar.Enabled = True Then
lsvcliente.Visible = True
TXTNOMBRE.Focus()
End If
btnmostrar.Visible = False
End Sub
Private Sub limpiar()
TXTNOMBRE.Text = ""
TXTAPELLIDO.Text = ""
TXTTELEFONO.Text = ""
TXTDIRECCION.Text = ""
TXTRUCDNI.Text = ""
TXTTIPO.Text = ""
TXTRAZONSOCIAL.Text = ""
rdbnatural.Checked = False
rdbjuridico.Checked = False
TXTCODIGO.Text = "CL00" + Format(DTS.Tables("cliente").Rows.Count + 1)
End Sub
Private Sub activar()
TXTNOMBRE.Enabled = True
TXTAPELLIDO.Enabled = True
TXTDIRECCION.Enabled = True
TXTTELEFONO.Enabled = True
TXTRUCDNI.Enabled = True
End Sub
Private

Sub

TXTDNI_KeyPress(ByVal

sender

As

Object,

ByVal

As

System.Windows.Forms.KeyPressEventArgs) Handles TXTRUCDNI.KeyPress


If Asc(e.KeyChar) = 13 Then TXTRAZONSOCIAL.Focus()
If InStr(1, "0123456789,-" & Chr(8), e.KeyChar) = 0 Then
e.KeyChar = ""
End If

Ing. Manuel Ulloa Florin


Net y 6.0

-25-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

lblcliente.ForeColor = Color.BlueViolet

End Sub
Private

Sub TXTDIRECCION_KeyPress(ByVal sender

As Object, ByVal e As

System.Windows.Forms.KeyPressEventArgs) Handles TXTDIRECCION.KeyPress


If Asc(e.KeyChar) = 13 Then TXTRUCDNI.Focus()
lblcliente.ForeColor = Color.Pink
End Sub
Private Sub cargadatos()
dr = DTS.Tables("cliente").Rows(reg)
TXTCODIGO.Text = dr("idcliente")
TXTNOMBRE.Text = dr("nombre")
TXTAPELLIDO.Text = dr("apellido")
TXTTELEFONO.Text = dr("telefono")
TXTRUCDNI.Text = dr("rucdni")
TXTDIRECCION.Text = dr("direccion")
TXTRAZONSOCIAL.Text = dr("razonsocial")
TXTTIPO.Text = dr("idtipocliente")
lblreg.Text = "Registro: " & reg + 1 & " de " & DTS.Tables("cliente").Rows.Count
End Sub
Private Sub actuanatural()
If TXTNOMBRE.Text = "" Then
MessageBox.Show("Igrese Un Nombre", "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
TXTNOMBRE.Focus()
ElseIf TXTAPELLIDO.Text = "" Then
MessageBox.Show("Ingrese un Apellido", "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
TXTAPELLIDO.Focus()
ElseIf TXTRUCDNI.Text = "" Then
MessageBox.Show("Ingrese un nmero de DNI", "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
TXTRUCDNI.Focus()
ElseIf TXTRUCDNI.TextLength <> 8 Then
MessageBox.Show("El nmero de DNI debe contener 8 digitos", "Error",
MessageBoxButtons.OK, MessageBoxIcon.Error)
TXTRUCDNI.Focus()
Else
actualizar()
End If
End Sub
Private Sub actuajuridico()
If TXTNOMBRE.Text = "" Then
MessageBox.Show("Igrese Un Nombre", "Error", MessageBoxButtons.OK,

Ing. Manuel Ulloa Florin


Net y 6.0

-26-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
MessageBoxIcon.Error)

TXTNOMBRE.Focus()
ElseIf TXTAPELLIDO.Text = "" Then
MessageBox.Show(" Ingrese un Apellido", "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
TXTAPELLIDO.Focus()
ElseIf TXTRUCDNI.Text = "" Then
MessageBox.Show(" Ingrese un nmero de RUC", "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
TXTRUCDNI.Focus()
ElseIf TXTRUCDNI.TextLength <> 11 Then
MessageBox.Show("El nmero de RUC debe contener 11 digitos", "Error",
MessageBoxButtons.OK, MessageBoxIcon.Error)
TXTRUCDNI.Focus()
ElseIf TXTRAZONSOCIAL.Text = "" Then
MessageBox.Show("Ingrese una Razon Social", "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
TXTRAZONSOCIAL.Focus()
Else
actualizar()
End If
End Sub
Private Sub Actulaizar(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles btnactualizar.Click
If TXTNOMBRE.Text = "" Then
MessageBox.Show("Igrese Un Nombre", "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
TXTNOMBRE.Focus()
ElseIf TXTAPELLIDO.Text = "" Then
MessageBox.Show("Ingrese un Apellido", "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
TXTAPELLIDO.Focus()
ElseIf TXTRUCDNI.Text = "" Then
MessageBox.Show("Ingrese un nmero de RUC DNI", "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
TXTRUCDNI.Focus()
Else
codigo = TXTCODIGO.Text
nombre = TXTNOMBRE.Text
apellido = TXTAPELLIDO.Text
telefono = TXTTELEFONO.Text
direccion = TXTDIRECCION.Text
razonsocial = TXTRAZONSOCIAL.Text
rucdni = TXTRUCDNI.Text
idtipocliente = TXTTIPO.Text()

Ing. Manuel Ulloa Florin


Net y 6.0

-27-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

sentencia = "UPDATE CLIENTE set Nombre='" & nombre & "'," & _
"Apellido='" & apellido & "', " & _
"Telefono='" & telefono & "', " & _
"Direccion='" & direccion & "', " & _
"rucdni='" & rucdni & "', " & _
"razonsocial='" & razonsocial & "', " & _
"idtipocliente='" & idtipocliente & "'" & _
"WHERE idcliente='" & codigo & "'"
AbrirConexion()
Ejecutar(sentencia)
cn.Close()
If lsvcliente.SelectedItems.Count <> 0 Then
lsvcliente.SelectedItems(0).SubItems(1).Text = TXTNOMBRE.Text
lsvcliente.SelectedItems(0).SubItems(2).Text = TXTAPELLIDO.Text
lsvcliente.SelectedItems(0).SubItems(3).Text = TXTTELEFONO.Text
lsvcliente.SelectedItems(0).SubItems(4).Text = TXTRUCDNI.Text
lsvcliente.SelectedItems(0).SubItems(5).Text = TXTDIRECCION.Text
lsvcliente.SelectedItems(0).SubItems(7).Text = TXTTIPO.Text
lsvcliente.SelectedItems(0).SubItems(6).Text = TXTRAZONSOCIAL.Text
End If
MsgBox("Datos Modificados")
desactivar()
DAP = New SqlClient.SqlDataAdapter("select * from cliente", cn)
DTS = New DataSet
AbrirConexion()
DAP.Fill(DTS, "cliente")
cn.Close()
dr = DTS.Tables("cliente").Rows(reg)
TXTCODIGO.Text = dr("Idcliente")
TXTNOMBRE.Text = dr("nombre")
TXTAPELLIDO.Text = dr("apellido")
TXTTELEFONO.Text = dr("telefono")
TXTRUCDNI.Text = dr("rucdni")
TXTDIRECCION.Text = dr("direccion")
TXTRAZONSOCIAL.Text = dr("razonsocial")
TXTTIPO.Text = dr("idtipocliente")
EliminarEspacios()
btnprimero.Enabled = True
btnanterior.Enabled = True
btnsiguiente.Enabled = True
btnultimo.Enabled = True

Ing. Manuel Ulloa Florin


Net y 6.0

-28-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
BTNNUEVO.Enabled = True

btnactualizar.Visible = False
BTNGUARDAR.Visible = True
BTNGUARDAR.Enabled = False
BTNCANCELAR.Enabled = False
rdbnatural.Enabled = False
rdbjuridico.Enabled = False
TXTRAZONSOCIAL.Enabled = False
End If
End Sub
Private Sub nuevo()
limpiar()
activar()
TXTNOMBRE.Focus()
BTNGUARDAR.Visible = True
BTNCANCELAR.Enabled = True
BTNGUARDAR.Enabled = True
BTNEDITAR.Enabled = False
BTNNUEVO.Enabled = False
btnprimero.Enabled = False
btnanterior.Enabled = False
btnsiguiente.Enabled = False
btnultimo.Enabled = False
btnactualizar.Visible = False
rdbnatural.Enabled = True
rdbjuridico.Enabled = True
rdbnatural.Checked = True
End Sub

Private Sub editar()


activar()
TXTNOMBRE.Focus()
BTNNUEVO.Enabled = False
btnprimero.Enabled = False
btnanterior.Enabled = False
btnsiguiente.Enabled = False
btnultimo.Enabled = False
BTNGUARDAR.Visible = False
btnactualizar.Visible = True
btnactualizar.Enabled = True
rdbnatural.Enabled = True
rdbjuridico.Enabled = True
EliminarEspacios()
BTNEDITAR.Enabled = False
End Sub

Ing. Manuel Ulloa Florin


Net y 6.0

-29-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
Private Sub desactivar()
TXTNOMBRE.Enabled = False
TXTAPELLIDO.Enabled = False
TXTDIRECCION.Enabled = False
TXTTELEFONO.Enabled = False
TXTRUCDNI.Enabled = False
rdbnatural.Checked = False
rdbjuridico.Checked = False
End Sub
Private Sub salir()
If MessageBox.Show("DESEA SALIR DE LA APLICACION...?", "SALIR...",
MessageBoxButtons.OKCancel) = Windows.Forms.DialogResult.OK Then
Close()
End If
End Sub
Private

Sub

TXTAPELLIDO_KeyPress(ByVal

sender

As

Object,

ByVal

As

As

System.Windows.Forms.KeyPressEventArgs) Handles TXTAPELLIDO.KeyPress


If Asc(e.KeyChar) = 13 Then TXTTELEFONO.Focus()
lblcliente.ForeColor = Color.Chocolate
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsSeparator(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private

Sub

TXTAPELLIDO_KeyUp(ByVal

sender

As

Object,

ByVal

System.Windows.Forms.KeyEventArgs) Handles TXTAPELLIDO.KeyUp


Clipboard.Clear()
End Sub
Private Sub TXTAPELLIDO_MouseDown(ByVal sender As Object, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles TXTAPELLIDO.MouseDown
Clipboard.Clear()
End Sub
Private

Sub

TXTNOMBRE_KeyPress(ByVal

sender

As

Object,

ByVal

As

System.Windows.Forms.KeyPressEventArgs) Handles TXTNOMBRE.KeyPress


If Asc(e.KeyChar) = 13 Then TXTAPELLIDO.Focus()
lblcliente.ForeColor = Color.Khaki

Ing. Manuel Ulloa Florin


Net y 6.0

-30-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsSeparator(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If

End Sub
Private

Sub

TXTNOMBRE_KeyUp(ByVal

sender

As

Object,

ByVal

As

As Object, ByVal e

As

System.Windows.Forms.KeyEventArgs) Handles TXTNOMBRE.KeyUp


Clipboard.Clear()
End Sub
Private

Sub TXTNOMBRE_MouseDown(ByVal sender

System.Windows.Forms.MouseEventArgs) Handles TXTNOMBRE.MouseDown


Clipboard.Clear()
End Sub
Private Sub TXTTELEFONO_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TXTTELEFONO.KeyPress
If Asc(e.KeyChar) = 13 Then TXTDIRECCION.Focus()
If InStr(1, "0123456789,-" & Chr(8), e.KeyChar) = 0 Then
e.KeyChar = ""
End If
lblcliente.ForeColor = Color.MediumPurple
End Sub
Private

Sub

BTNNUEVO_MouseLeave(ByVal

sender

As

Object,

ByVal

As

sender

As

Object,

ByVal

As

System.EventArgs) Handles BTNNUEVO.MouseLeave


BTNNUEVO.BackColor = Color.Silver
End Sub
Private

Sub

BTNNUEVO_MouseMove(ByVal

System.Windows.Forms.MouseEventArgs) Handles BTNNUEVO.MouseMove


BTNNUEVO.BackColor = Color.Red
End Sub
Private

Sub

BTNEDITAR_MouseLeave(ByVal

sender

As

Object,

ByVal

As

sender

As

Object,

ByVal

As

System.EventArgs) Handles BTNEDITAR.MouseLeave


BTNEDITAR.BackColor = Color.Silver
End Sub
Private

Sub

BTNEDITAR_MouseMove(ByVal

System.Windows.Forms.MouseEventArgs) Handles BTNEDITAR.MouseMove

Ing. Manuel Ulloa Florin


Net y 6.0

-31-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

BTNEDITAR.BackColor = Color.Red

End Sub
Private

Sub

BTNGUARDAR_Enter(ByVal

sender

As

Object,

ByVal

As

System.EventArgs) Handles BTNGUARDAR.Enter


guardar()
End Sub
Private Sub BTNGUARDAR_MouseLeave(ByVal sender As Object, ByVal e As
System.EventArgs) Handles BTNGUARDAR.MouseLeave
BTNGUARDAR.BackColor = Color.Silver
End Sub
Private Sub BTNGUARDAR_MouseMove(ByVal sender As Object, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles BTNGUARDAR.MouseMove
BTNGUARDAR.BackColor = Color.Red
End Sub
Private Sub BTNCANCELAR_MouseLeave(ByVal sender As Object, ByVal e As
System.EventArgs) Handles BTNCANCELAR.MouseLeave
BTNCANCELAR.BackColor = Color.Silver
End Sub
Private Sub BTNCANCELAR_MouseMove(ByVal sender As Object, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles BTNCANCELAR.MouseMove
BTNCANCELAR.BackColor = Color.Red
End Sub
Private

Sub

btnsalir_MouseLeave(ByVal

sender

As

Object,

ByVal

As

sender

As

Object,

ByVal

As

System.EventArgs) Handles btnsalir.MouseLeave


btnsalir.BackColor = Color.Silver
End Sub
Private

Sub

btnsalir_MouseMove(ByVal

System.Windows.Forms.MouseEventArgs) Handles btnsalir.MouseMove


btnsalir.BackColor = Color.Red
End Sub
Private Sub lsvcliente_SelectedIndexChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles lsvcliente.SelectedIndexChanged
If lsvcliente.SelectedIndices.Count = 0 Then Exit Sub
TXTCODIGO.Text = lsvcliente.SelectedItems(0).SubItems(0).Text
TXTNOMBRE.Text = lsvcliente.SelectedItems(0).SubItems(1).Text
TXTAPELLIDO.Text = lsvcliente.SelectedItems(0).SubItems(2).Text
TXTTELEFONO.Text = lsvcliente.SelectedItems(0).SubItems(3).Text
TXTRUCDNI.Text = lsvcliente.SelectedItems(0).SubItems(4).Text
TXTDIRECCION.Text = lsvcliente.SelectedItems(0).SubItems(5).Text

Ing. Manuel Ulloa Florin


Net y 6.0

-32-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

TXTTIPO.Text = lsvcliente.SelectedItems(0).SubItems(7).Text
TXTRAZONSOCIAL.Text = lsvcliente.SelectedItems(0).SubItems(6).Text
BTNEDITAR.Enabled = True
desactivar()
BTNGUARDAR.Visible = False
btnactualizar.Visible = True
BTNCANCELAR.Enabled = False
btnactualizar.Enabled = False
BTNNUEVO.Enabled = True

End Sub
Private

Sub

TXTTELEFONO_KeyUp(ByVal

sender

As

Object,

ByVal

As

System.Windows.Forms.KeyEventArgs) Handles TXTTELEFONO.KeyUp


Clipboard.Clear()
End Sub
Private Sub TXTTELEFONO_MouseDown(ByVal sender As Object, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles TXTTELEFONO.MouseDown
Clipboard.Clear()
End Sub
Private

Sub

TXTDNI_KeyUp(ByVal

sender

As

Object,

ByVal

As

As

System.Windows.Forms.KeyEventArgs) Handles TXTRUCDNI.KeyUp


Clipboard.Clear()
End Sub

Private

Sub

TXTDNI_MouseDown(ByVal

sender

As

Object,

ByVal

System.Windows.Forms.MouseEventArgs) Handles TXTRUCDNI.MouseDown


Clipboard.Clear()
End Sub
Private

Sub CMBTIPOCLIENTE_KeyUp(ByVal

sender

As Object,

ByVal

e As

System.Windows.Forms.KeyEventArgs)
Clipboard.Clear()
End Sub
Private Sub CMBTIPOCLIENTE_MouseDown(ByVal sender As Object, ByVal e As
System.Windows.Forms.MouseEventArgs)
Clipboard.Clear()
End Sub
Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles rdbnatural.CheckedChanged
If Control.CheckForIllegalCrossThreadCalls Then
TXTRAZONSOCIAL.Enabled = False
lblDNI.Text = "DNI"

Ing. Manuel Ulloa Florin


Net y 6.0

-33-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
TXTTIPO.Text = "TCL001"

TXTRUCDNI.MaxLength = 8
End If
End Sub
Private Sub RadioButton2_CheckedChanged(ByVal sender As Object, ByVal e As
System.EventArgs) Handles rdbjuridico.CheckedChanged
If Control.CheckForIllegalCrossThreadCalls Then
TXTRAZONSOCIAL.Enabled = True
lblDNI.Text = "R.U.C."
TXTTIPO.Text = "TCL002"
TXTRUCDNI.MaxLength = 11
TXTRAZONSOCIAL.Enabled = True
TXTRUCDNI.Focus()
End If
End Sub
End Class

Movimiento de Factura

Ing. Manuel Ulloa Florin


Net y 6.0

-34-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

Imports System.Data.SqlClient
Imports Microsoft.SqlServer
Public Class FACTURA
Dim i As Integer
Dim NF As Integer
Dim LDetalle(7, 5) As String
Dim ncod As String
Dim conexion As SqlConnection
Dim cmd As SqlCommand
Dim orden As SqlDataAdapter
Dim vendedor As DataSet
Dim dr As DataRow
Dim reg As Integer
Dim registro As SqlDataReader
Dim documento, DETALLEDOCUMENTO As DataSet
Private

Sub

Form1_Load(ByVal

sender

As

System.Object,

ByVal

As

System.EventArgs) Handles MyBase.Load


NF = 0
nff.Text = NF
AbrirConexion()
cn.Close()
DTS = New DataSet
DAP = New SqlDataAdapter("select * from cliente", cn)
AbrirConexion()
DAP.Fill(DTS, "cliente")

Ing. Manuel Ulloa Florin


Net y 6.0

-35-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
DT = DTS.Tables("cliente")
For Each dr In DT.Rows
lista = lsvcliente.Items.Add(dr.Item("idcliente"))
lista.SubItems.Add(dr.Item("nombre"))
lista.SubItems.Add(dr.Item("direccion"))
lista.SubItems.Add(dr.Item("nombre"))
lista.SubItems.Add(dr.Item("apellido"))
lista.SubItems.Add(dr.Item("RUCDNI"))
Next
DAP = New SqlDataAdapter("select * from producto", cn)
DAP.Fill(DTS, "producto")
DT = DTS.Tables("producto")
For Each dr In DT.Rows
lista = lsvproducto.Items.Add(dr.Item("idproducto"))
lista.SubItems.Add(dr.Item("nombre"))
lista.SubItems.Add(dr.Item("precio"))
lista.SubItems.Add(dr.Item("stockmax"))
Next
DAP = New SqlDataAdapter("select * from vendedor", cn)
DAP.Fill(DTS, "vendedor")
DT = DTS.Tables("vendedor")
For Each dr In DT.Rows
lista = lsvvendedor.Items.Add(dr.Item("idvendedor"))
lista.SubItems.Add(dr.Item("nombre"))
lista.SubItems.Add(dr.Item("apellido"))
Next
DAP = New SqlDataAdapter("select * from documento", cn)
DAP.Fill(DTS, "documento")
DT = DTS.Tables("documento")
txtnumero.Text = "0001"
If DT.Rows.Count < 1 Then
txtserie.Text = "0001"
Else
txtnumero.Text = "000" + Format(DTS.Tables("documento").Rows.Count + 1)
End If
txtcodigo.Text = txtnumero.Text
txtserie.Text = "0001"
End Sub

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


As System.EventArgs) Handles lsvcliente.SelectedIndexChanged

Ing. Manuel Ulloa Florin


Net y 6.0

-36-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

If lsvcliente.SelectedIndices.Count = 0 Then Exit Sub


txtcodigoc.Text = lsvcliente.SelectedItems(0).SubItems(0).Text
txtnombre.Text = lsvcliente.SelectedItems(0).SubItems(1).Text
txtapellidoc.Text = lsvcliente.SelectedItems(0).SubItems(4).Text
txtdireccion.Text = lsvcliente.SelectedItems(0).SubItems(2).Text
TXTRUC.Text = lsvcliente.SelectedItems(0).SubItems(5).Text
btnagregar.Enabled = True

End Sub
Private Sub lsvvendedor_SelectedIndexChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles lsvvendedor.SelectedIndexChanged
If lsvvendedor.SelectedIndices.Count = 0 Then Exit Sub
txtcodigov.Text = lsvvendedor.SelectedItems(0).SubItems(0).Text
txtnombrev.Text = lsvvendedor.SelectedItems(0).SubItems(1).Text
txtapellido.Text = lsvvendedor.SelectedItems(0).SubItems(2).Text
End Sub
Private Sub lsvproducto_SelectedIndexChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles lsvproducto.SelectedIndexChanged
If lsvproducto.SelectedIndices.Count = 0 Then Exit Sub
txtcodigop.Text = lsvproducto.SelectedItems(0).SubItems(0).Text
txtdescripcion.Text = lsvproducto.SelectedItems(0).SubItems(1).Text
txtprecio.Text = lsvproducto.SelectedItems(0).SubItems(2).Text
txtstockmax.Text = lsvproducto.SelectedItems(0).SubItems(3).Text
End Sub
Private

Sub

btnagregar_Click(ByVal

sender

As

System.Object,

ByVal

As

System.EventArgs) Handles btnagregar.Click


Dim cant As Integer
Dim estock As Integer
estock = Val(txtstockmax.Text)
cant = Val(txtcantidad.Text)
If txtcodigoc.Text = "" Then
MsgBox("Falta seleccionar Los Datos del Cliente", MsgBoxStyle.Critical, "Mensaje")
lsvcliente.Focus()
ElseIf txtnombrev.Text = "" Then
MsgBox("Falta seleccionar Los Datos del vendedor", MsgBoxStyle.Critical, "Mensaje")
lsvvendedor.Focus()
ElseIf txtcantidad.Text = "" Then
txtcantidad.Focus()
MsgBox("Falta Ingresar la Cantidad", MsgBoxStyle.Critical, "Mensaje")
ElseIf txtcodigop.Text = "" Then
lsvproducto.Focus()
MsgBox("selecsione un producto", MsgBoxStyle.Critical, "Mensaje")
ElseIf cant > estock Then
MsgBox("Error, el stock maximo es : " & txtstockmax.Text)

Ing. Manuel Ulloa Florin


Net y 6.0

-37-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
txtcantidad.Text = ""
txtcantidad.Focus()
Else
Dim total As Double
Dim Cantidad As Double
Dim Precio As Double
Precio = Val(txtprecio.Text)
Cantidad = Val(txtcantidad.Text)
ncod = txtcodigop.Text
If NF < 1 Then
Else
For i = 1 To NF
'MsgBox(i)
If LDetalle(2, i) = ncod Then
MsgBox("Dato ya Ingresado", MsgBoxStyle.Critical, "Error de Grabado")
Exit Sub
End If
Next
End If
NF = NF + 1
nff.Text = NF
LDetalle(1, NF) = NF
LDetalle(2, NF) = ncod
LDetalle(3, NF) = Cantidad
LDetalle(4, NF) = txtdescripcion.Text
LDetalle(5, NF) = Format(txtprecio.Text, "currency")
LDetalle(6, NF) = Format(txtmonto.Text, "currency")
LDetalle(7, NF) = Val(txtstockmax.Text) - LDetalle(3, NF)
txtmonto.Text = Cantidad * Precio
Dim ELEMENTO As ListViewItem
ELEMENTO = lsvboleta.Items.Add(ncod)
ELEMENTO.SubItems.Add(txtcantidad.Text)
ELEMENTO.SubItems.Add(txtdescripcion.Text)
ELEMENTO.SubItems.Add(Format(txtprecio.Text, "currency"))
ELEMENTO.SubItems.Add(Format(txtmonto.Text, "currency"))
ELEMENTO.SubItems.Add(Format(total, "currency"))
limpiarproducto()
End If
End Sub
Private Sub limpiarproducto()
txtcodigop.Text = ""

Ing. Manuel Ulloa Florin


Net y 6.0

-38-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
txtprecio.Text = ""

txtcantidad.Text = ""
txtdescripcion.Text = ""
btntotalizar.Enabled = True
btnquitar.Enabled = True
End Sub
Private

Sub

btnquitar_Click(ByVal

sender

As

System.Object,

ByVal

As

ByVal e

As

ByVal

As

System.EventArgs) Handles btnquitar.Click


For i As Integer = lsvboleta.SelectedItems.Count - 1 To 0 Step -1
lsvboleta.SelectedItems(i).Remove()
Next
txttotal.Text = ""
End Sub
Private

Sub btntotalizar_Click(ByVal sender

As System.Object,

System.EventArgs) Handles btntotalizar.Click


Dim sumas As Integer = 0
Dim suma As Double = 0
Dim x
Dim i
For i = 0 To lsvboleta.Items.Count - 1
suma = suma + lsvboleta.Items(i).SubItems(4).text
Next
For x = 0 To lsvboleta.Items.Count - 1
sumas = sumas + lsvboleta.Items(x).SubItems(1).Text
Next
txtcantidadb.Text = sumas
txttotal.Text = suma
txttotal.Text = Format(txttotal.Text, "currency")
txtcantidadb.Text = txtcantidadb.Text
txtigv.Text = "S/." + Format(txttotal.Text * 0.19)
LBLSUBTOTAL.Text = "S/." + Format(suma - txtigv.Text)
btntotalizar.Enabled = False
btntotalizar.Enabled = False
btnimprimir.Enabled = True
btnguardar.Enabled = True
btncancelar.Enabled = True
End Sub
Private

Sub

btnguardar_Click(ByVal

sender

As

System.Object,

System.EventArgs) Handles btnguardar.Click

Ing. Manuel Ulloa Florin


Net y 6.0

-39-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
Dim z, q, s As Integer

s = Val(txtstockmax.Text)
q = Val(txtcantidadb.Text)
z = Val(txtnumero.Text)
conexion = New SqlConnection("Data
Source=.\SQLEXPRESS;AttachDbFilename=C:\VENTAS.mdf;Integrated Security=True;Connect
Timeout=30;User Instance=True")
conexion.Open()
cmd = New SqlCommand("insert into
documento(iddocumento,numero,serie,idCLIEnTE,idvendedor,idtipodocum)values('" & txtcodigo.Text
& "','" & txtnumero.Text & "','" & txtserie.Text & "','" & txtcodigoc.Text & "','" & txtcodigov.Text &
"','" & TXTCODIGOTD.Text & "')", conexion)
cmd.ExecuteNonQuery()
cmd.Dispose()
'MsgBox("doc")
For i = 1 To NF
'MsgBox(i)
cmd = New SqlCommand("insert into
DETALLEdocumento(cantidad,iddocumento,idproducto)values('" & LDetalle(3, i) & "','" &
txtcodigo.Text & "','" & LDetalle(2, i) & "')", conexion)
cmd.ExecuteNonQuery()
Next
cmd.Dispose()
MsgBox("DATO INGRESADO..", MsgBoxStyle.Information, "INGRESAR documento.")
For i = 1 To NF
'MsgBox(i)
cmd = New SqlCommand("UPDATE producto set stockmax='" & LDetalle(7, i) & "' WHERE
idproducto='" & LDetalle(2, i) & "'", conexion)
cmd.ExecuteNonQuery()
cmd.Dispose()
Next
'MsgBox("")
cn.Close()
txtnumero.Text = "000" + Format(z + 1)
txtcodigo.Text = txtnumero.Text
txtstockmax.Text = s - q
limpiar()
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button5.Click
If MessageBox.Show("DESEA SALIR DE LA APLICACION...?", "SALIR...",
MessageBoxButtons.OKCancel) = Windows.Forms.DialogResult.OK Then
Close()
End If
End Sub

Ing. Manuel Ulloa Florin


Net y 6.0

-40-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
Private Sub limpiar()
txtcodigoc.Text = ""
txtnombre.Text = ""
txtapellidoc.Text = ""
txtdireccion.Text = ""
txttotal.Text = ""
txtcantidadb.Text = ""
txtmonto.Text = ""
TXTRUC.Text = ""
txtigv.Text = ""
LBLSUBTOTAL.Text = ""
lsvboleta.Items.Clear()
btntotalizar.Enabled = False
btnquitar.Enabled = False
btnimprimir.Enabled = False
btnguardar.Enabled = False
lsvcliente.Focus()
End Sub
Private

Sub btncancelar_Click(ByVal sender

As System.Object,

ByVal e

As

As System.Object,

ByVal e As

System.EventArgs) Handles btncancelar.Click


btnimprimir.Enabled = False
btntotalizar.Enabled = True
btnguardar.Enabled = False
End Sub
Private Sub btnimprimir_Click(ByVal sender
System.EventArgs) Handles btnimprimir.Click
PTDimprimir.Document = prtdocumento
PTDimprimir.ShowDialog()
If PTDimprimir.ShowDialog = Windows.Forms.DialogResult.OK Then
prtdocumento.Print()
End If
End Sub
End Class

Imports System.Data.SqlClient
Imports Microsoft.SqlServer

Ing. Manuel Ulloa Florin


Net y 6.0

-41-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
Public Class reportecliente

Dim orden As SqlDataAdapter


Private Sub reportecliente_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'mostrar en el lsvcliente
DAP = New SqlDataAdapter("select * from cliente", cn)
DTS = New DataSet
AbrirConexion()
DAP.Fill(DTS, "cliente")
DT = DTS.Tables("cliente")
For Each DR In DT.Rows
lista = lsvcliente.Items.Add(DR.Item("idcliente"))
lista.SubItems.Add(DR.Item("nombre"))
lista.SubItems.Add(DR.Item("apellido"))
lista.SubItems.Add(DR.Item("telefono"))
lista.SubItems.Add(DR.Item("rucdni"))
lista.SubItems.Add(DR.Item("direccion"))
lista.SubItems.Add(DR.Item("idtipocliente"))
Next
BTNCOLOR.Focus()
End Sub
Private

Sub

Btnsalir_Click(ByVal

sender

As

System.Object,

ByVal

As

As

System.EventArgs) Handles Btnsalir.Click


If MessageBox.Show("DESEA SALIR DE LA APLICACION...?", "SALIR...",
MessageBoxButtons.OKCancel) = Windows.Forms.DialogResult.OK Then
Close()
End If
End Sub
Private Sub color(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles BTNCOLOR.Click
If cldcolor.ShowDialog() = Windows.Forms.DialogResult.OK Then
lsvcliente.ForeColor = cldcolor.Color
End If
End Sub
Private

Sub

Button1_Click(ByVal

sender

As

System.Object,

ByVal

System.EventArgs) Handles Button1.Click


If fntfuente.ShowDialog() = Windows.Forms.DialogResult.OK Then
lsvcliente.Font = fntfuente.Font
End If
End Sub

Ing. Manuel Ulloa Florin


Net y 6.0

-42-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
Private

Sub

Button2_Click(ByVal

sender

As

System.Object,

ByVal

As

ByVal

As

System.EventArgs)
sdfgrabar.Filter() = "Documento(*.RTF)|*.rtf"
If sdfgrabar.ShowDialog = Windows.Forms.DialogResult.OK Then
RTBEDITOR.SaveFile(sdfgrabar.FileName)
End If
End Sub
Private

Sub

Button3_Click(ByVal

sender

As

System.Object,

System.EventArgs)
ppdvista.Document = prtdocumento
ppdvista.ShowDialog()
End Sub
Private Sub prtdocumento_PrintPage(ByVal sender As System.Object, ByVal e As
System.Drawing.Printing.PrintPageEventArgs) Handles prtdocumento.PrintPage
Dim letra As New Font("comic sans Ms", 30)
e.Graphics.MeasureString(RTBEDITOR.Text, RTBEDITOR.Font, New SizeF(650, 900), _
New StringFormat(StringFormatFlags.LineLimit), Len(RTBEDITOR.Text), 1)
e.Graphics.DrawString(RTBEDITOR.Text, Font, Brushes.Black, 50, 50)
End Sub
Private

Sub

Button4_Click(ByVal

sender

As

System.Object,

ByVal

As

ByVal

As

ByVal

As

System.EventArgs) Handles Button4.Click


psdconfigurar.Document = prtdocumento
psdconfigurar.PageSettings = prtdocumento.DefaultPageSettings
'si el usuaruo pulsa aceptar
If psdconfigurar.ShowDialog = Windows.Forms.DialogResult.OK Then
'configurar las paginas que se van imprimir
prtdocumento.DefaultPageSettings = psdconfigurar.PageSettings
End If
End Sub
Private

Sub

Button5_Click(ByVal

sender

As

System.Object,

System.EventArgs) Handles Button5.Click


PTDimprimir.Document = prtdocumento
PTDimprimir.ShowDialog()
If PTDimprimir.ShowDialog = Windows.Forms.DialogResult.OK Then
prtdocumento.Print()
End If
End Sub
Private

Sub

BTNCOLOR_MouseLeave(ByVal

sender

As

Object,

System.EventArgs) Handles BTNCOLOR.MouseLeave


BTNCOLOR.BackColor = Drawing.Color.Gainsboro
End Sub

Ing. Manuel Ulloa Florin


Net y 6.0

-43-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
Private

Sub

BTNCOLOR_MouseMove(ByVal

sender

As

Object,

ByVal

As

System.Windows.Forms.MouseEventArgs) Handles BTNCOLOR.MouseMove


BTNCOLOR.BackColor = Drawing.Color.Red
End Sub
Private

Sub

Button1_MouseLeave(ByVal

sender

As

Object,

ByVal

As

sender

As

Object,

ByVal

As

System.EventArgs) Handles Button1.MouseLeave


Button1.BackColor = Drawing.Color.Gainsboro
End Sub
Private

Sub

Button1_MouseMove(ByVal

System.Windows.Forms.MouseEventArgs) Handles Button1.MouseMove


Button1.BackColor = Drawing.Color.Red
End Sub
Private

Sub

Button4_MouseLeave(ByVal

sender

As

Object,

ByVal

As

sender

As

Object,

ByVal

As

System.EventArgs) Handles Button4.MouseLeave


Button4.BackColor = Drawing.Color.Gainsboro
End Sub
Private

Sub

Button4_MouseMove(ByVal

System.Windows.Forms.MouseEventArgs) Handles Button4.MouseMove


Button4.BackColor = Drawing.Color.Red
End Sub
Private

Sub

Button5_MouseLeave(ByVal

sender

As

Object,

ByVal

As

sender

As

Object,

ByVal

As

System.EventArgs) Handles Button5.MouseLeave


Button5.BackColor = Drawing.Color.Gainsboro
End Sub

Private

Sub

Button5_MouseMove(ByVal

System.Windows.Forms.MouseEventArgs) Handles Button5.MouseMove


Button5.BackColor = Drawing.Color.Red
End Sub
Private

Sub

Btnsalir_MouseLeave(ByVal

sender

As

Object,

ByVal

As

sender

As

Object,

ByVal

As

System.EventArgs) Handles Btnsalir.MouseLeave


Btnsalir.BackColor = Drawing.Color.Gainsboro
End Sub
Private

Sub

Btnsalir_MouseMove(ByVal

System.Windows.Forms.MouseEventArgs) Handles Btnsalir.MouseMove


Btnsalir.BackColor = Drawing.Color.Red
End Sub
End Class

Ing. Manuel Ulloa Florin


Net y 6.0

-44-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

Imports System.Data.SqlClient
Public Class ConsultaCliente
Dim reg As Integer
Dim dtv As New DataView
Private

Sub

Button1_Click(ByVal

sender

As

System.Object,

ByVal

As

System.Object,

ByVal

As

System.EventArgs) Handles Btnbuscar.Click


BUSCAR()
End Sub
Private Sub BUSCAR()
If rdbDNI.Checked = True Then
dtv.Table = DTS.Tables("cliente")
dtv.RowFilter = "rucdni='" & txtcriterio.Text & "'"
dgvcliente.DataSource = dtv
If txtcriterio.TextLength <> 8 Then
MsgBox("El numero de DNI debe contener 8 dgitos")
End If
txtcriterio.Focus()
ElseIf rdbapellido.Checked = True Then
dtv.Table = DTS.Tables("cliente")
dtv.RowFilter = "apellido='" & txtcriterio.Text & "'"
dgvcliente.DataSource = dtv
End If
End Sub
Private

Sub

Form1_Load(ByVal

sender

As

System.EventArgs) Handles MyBase.Load


DTS = New DataSet
DAP = New SqlDataAdapter("select * from cliente", cn)

Ing. Manuel Ulloa Florin


Net y 6.0

-45-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
AbrirConexion()

DAP.Fill(DTS, "cliente")
cn.Close()
'dgvcliente.DataSource = DTS
'dgvcliente.DataMember = "cliente"
rdbDNI.Checked = True
Label3.Text = "Total de Clientes: " & DTS.Tables("CLIENTE").Rows.Count
Label1.Text = "Ingrese el Nro. de DNI a Buscar"
txtcriterio.Focus()
End Sub
Private

Sub

txtcriterio_KeyPress(ByVal

sender

As

Object,

ByVal

As

ByVal

As

System.Windows.Forms.KeyPressEventArgs) Handles txtcriterio.KeyPress


If Asc(e.KeyChar) = 13 Then Btnbuscar.Focus()
If rdbDNI.Checked = True Then
If InStr(1, "0123456789,-" & Chr(8), e.KeyChar) = 0 Then
e.KeyChar = ""
End If
ElseIf rdbapellido.Checked Then
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsSeparator(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End If
End Sub
Private

Sub

btnsalir_Click(ByVal

sender

As

System.Object,

System.EventArgs) Handles btnsalir.Click


If MessageBox.Show("DESEA SALIR DE LA APLICACION...?", "SALIR...",
MessageBoxButtons.OKCancel) = Windows.Forms.DialogResult.OK Then
Close()
End If
End Sub
Private Sub Btnbuscar_Enter(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Btnbuscar.Enter
If txtcriterio.Text = "" Then
If rdbDNI.Checked = True Then
MsgBox("Ingrese Un Nro. De DNI A Buscar", MsgBoxStyle.Information, "MENSAJE")
txtcriterio.Focus()
ElseIf rdbapellido.Checked = True Then
MsgBox("Ingrese Un Apellido A Buscar", MsgBoxStyle.Information, "MENSAJE")
txtcriterio.Focus()

Ing. Manuel Ulloa Florin


Net y 6.0

-46-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
End If

Else
BUSCAR()
If dtv.Count = 0 Then
MsgBox("No Se Encontr Ningun Registro En La Base De Datos",
MsgBoxStyle.Information, "MENSAJE")
txtcriterio.Focus()
End If
End If
End Sub
Private Sub rdbapellido_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Handles rdbapellido.Click
Label1.Text = "Ingrese el Apellido a Buscar"
txtcriterio.Text = ""
txtcriterio.Focus()
End Sub
Private Sub CLIENTEBindingNavigatorSaveItem_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs)
Me.Validate()
Me.CLIENTEBindingSource.EndEdit()
Me.CLIENTETableAdapter.Update(Me.VENTASDataSet.CLIENTE)
End Sub
Private Sub rdbDNI_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Handles rdbDNI.Click
Label1.Text = "Ingrese el Nro. de DNI a Buscar"
txtcriterio.Text = ""
txtcriterio.Focus()
End Sub
Private

Sub

txtcriterio_KeyUp(ByVal

sender

As

Object,

ByVal

As

As

System.Windows.Forms.KeyEventArgs) Handles txtcriterio.KeyUp


Clipboard.Clear()
End Sub
Private

Sub

txtcriterio_MouseDown(ByVal

sender

As

Object,

ByVal

System.Windows.Forms.MouseEventArgs) Handles txtcriterio.MouseDown


Clipboard.Clear()
End Sub
End Class

Ing. Manuel Ulloa Florin


Net y 6.0

-47-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

SISTEMA DE
VENTA
DE FERRETERIA
AUTORES:
GARCIA TEJEDA OBED
ESCOBEDO CABEL MONICA
SANCHEZ JARA YURI

GESTOR DE BASE DE DATOS:


SQL 2000

Ing. Manuel Ulloa Florin


Net y 6.0

-48-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

LENGUAJE DE PROGRAMACIN:
Visual Basic 6.0

MANTENEDOR DE CLIENTE

A continuacin se detalla el cdigo fuente con el cual se cre el formulario para registrar
clientes:
En declaraciones se establecieron las respectivas variables:
Dim rsCliente as New ADODB.Recordset
Dim RSFILTRAR as New ADODB.Recordset
Dim RSY as New ADODB.Recordset
Dim X as String
Dim max as Integer
En el evento Load del formulario se codifico lo siguiente:
desactivatxt
Call Skn
Call estadobotones (True, CLIENTE)
rsCliente.Open "Cliente", CN, adOpenKeyset, adLockOptimistic
RSFILTRAR.Open "SELECT * FROM Cliente", CN, adOpenStatic, adLockOptimistic
Set MSHBUSCAR.DataSource = RSFILTRAR
Configuragrid

Ing. Manuel Ulloa Florin


Net y 6.0

-49-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
Verdatos

En los Botones se codifico lo siguiente:


En el Botn Nuevo:
Call estadobotones (False, CLIENTE)
activatxt
limpiar
GENERACODIGO
rsCliente.AddNew
En el Botn Modificar:
Call estadobotones (False, CLIENTE)
activa
txtraz_nomb.SetFocus
En el Botn Grabar:
Call estadobotones (True, CLIENTE)
Dim X As Integer
X = MsgBox ("Deseas Grabar...?", 36, "Guardando Datos")
If X = 6 Then
RSFILTRAR.Close
RSFILTRAR.Open "SELECT * FROM Cliente", CN, adOpenStatic, adLockOptimistic
grabar
RSFILTRAR.Close
RSFILTRAR.Open "SELECT * FROM Cliente", CN, adOpenStatic, adLockOptimistic
Set MSHBUSCAR.DataSource = RSFILTRAR
Configuragrid
Else
rsCliente.CancelUpdate
verdatos
desactivatxt
End If
Desactivatxt
En el Boton Cancelar:
Call estadobotones (True, CLIENTE)
rsCliente.CancelUpdate
verdatos
desactivatxt
En el Boton Salir:
Dim i As Integer
i = MsgBox ("Seguro de Salir?", vbYesNo + vbQuestion, "Salir de Cliente")
If i = vbYes Then
Set rsCliente = Nothing
Unload Me
MENUPRINCIPAL.Show
MENUPRINCIPAL.Enabled = True

Ing. Manuel Ulloa Florin


Net y 6.0

-50-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
RSFILTRAR.Close
End If
A continuacin se crearon procedimientos a nivel de Formulario que son detallados como
sigue para luego ser llamados en cada botn segn sea necesario:
--------------------------------------------------------------------------------Sub Skn ()
Skin.LoadSkin App.Path & "\SteelBlue.skn"
Skin.ApplySkin hWnd
End Sub
-----------------------------------------------------------------------------------Sub verdatos ()
txtcodigo.Text = rsCliente!id_cliente
Cbotipocliente.Text = rsCliente!tipocliente
DTPfechar.Value = rsCliente!fechaReg
txtraz_nomb.Text = rsCliente!RazSoc_Nomb
txtdire.Text = rsCliente!Direccion
txtdist.Text = rsCliente!Distrito
txtfono.Text = rsCliente!Telefono
txtemail.Text = rsCliente!Email
txtrucdni.Text = rsCliente!RUC_DNI
End Sub
-----------------------------------------------------------------------------------Sub limpiar ()
txtcodigo.Text = ""
txtraz_nomb.Text = ""
txtdire.Text = ""
txtemail.Text = ""
Cbotipocliente.Text = ""
txtrucdni.Text = ""
txtfono.Text = ""
txtdist.Text = ""
DTPfechar.Value = Date
Cbotipocliente.SetFocus
End Sub
-----------------------------------------------------------------------------------------Sub GENERACODIGO ()
If rsCliente.BOF = True Then
txtcodigo.Text = "00001"
Else
rsCliente.MoveLast
ultimo = rsCliente!id_cliente
ultimo = ultimo + 1
txtcodigo.Text = Right("00000" + RTrim(ultimo), 5)
End If
End Sub

Ing. Manuel Ulloa Florin


Net y 6.0

-51-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

-----------------------------------------------------------------------------------Sub muestraRUCDNI()
If Cbotipocliente.Text = "natural" Then
SkinLabel7.Caption = "DNI"
txtrucdni.MaxLength = 8
SkinLabel4.Visible = True
SkinLabel3.Visible = False
Else
SkinLabel3.Visible = True
SkinLabel7.Caption = "RUC"
txtrucdni.MaxLength = 11
SkinLabel4.Visible = False
End If
End Sub
------------------------------------------------------------------------------------Sub desactivatxt ()
txtraz_nomb.Enabled = False
txtdire.Enabled = False
txtemail.Enabled = False
Cbotipocliente.Enabled = False
txtrucdni.Enabled = False
txtfono.Enabled = False
txtdist.Enabled = False
DTPfechar.Enabled = False
End Sub
-----------------------------------------------------------------------------------Sub activatxt ()
Cbotipocliente.Enabled = True
txtraz_nomb.Enabled = False
txtdire.Enabled = False
txtemail.Enabled = False
txtrucdni.Enabled = False
txtfono.Enabled = False
txtdist.Enabled = False
DTPfechar.Enabled = False
End Sub
--------------------------------------------------------------------------------------Sub activa ()
Cbotipocliente.Enabled = True
txtraz_nomb.Enabled = True
txtdire.Enabled = True
txtemail.Enabled = True
txtrucdni.Enabled = True
txtfono.Enabled = True
txtdist.Enabled = True
DTPfechar.Enabled = True
End Sub

Ing. Manuel Ulloa Florin


Net y 6.0

-52-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

----------------------------------------------------------------------------------Sub EBMov (ByVal Est1, ByVal Est2)


For i = 2 To 3
Mover (i).Enabled = Est1
Next
For i = 0 To 1
Mover (i).Enabled = Est2
Next
End Sub
-------------------------------------------------------------------------------------Sub configuragrid ()
With MSHBUSCAR
.ColWidth(0) = 0
.TextMatrix(0, 1) = "CODIGO"
.ColWidth(1) = 800
.TextMatrix(0, 2) = "TIPO CLIENTE"
.ColWidth(2) = 1200
.TextMatrix(0, 3) = "FECHA DE REGISTRO"
.ColWidth(3) = 1200
.TextMatrix(0, 4) = "RAZONSOCIAL/NOMBRE"
.ColWidth(4) = 2500
.TextMatrix(0, 5) = "DIRECCION"
.ColWidth(5) = 1900
.TextMatrix(0, 6) = "DISTRITO"
.ColWidth(6) = 1500
.TextMatrix(0, 7) = "TELEFONO"
.ColWidth(7) = 1200
.TextMatrix(0, 8) = "EMAIL"
.ColWidth(8) = 2300
.TextMatrix(0, 9) = "RUC/DNI"
.ColWidth(9) = 1200
.ColWidth(10) = 0
'.ColWidth(10) = 0
End With
End Sub
----------------------------------------------------------------------------------Sub grabar ()
rsCliente!id_cliente = Trim$(txtcodigo)
rsCliente!RazSoc_Nomb = Trim$(txtraz_nomb)
rsCliente!Direccion = Trim$(txtdire)
rsCliente!Email = Trim$(txtemail)
rsCliente!tipocliente = Trim$(Cbotipocliente)
rsCliente!RUC_DNI = Trim$(txtrucdni)
rsCliente!Distrito = Trim$(txtdist)
rsCliente!Telefono = Trim$(txtfono)
rsCliente!fechaReg = DTPfechar.Value
rsCliente.Update

Ing. Manuel Ulloa Florin


Net y 6.0

-53-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
rsCliente.Requery

Set MSHBUSCAR.DataSource = RSFILTRAR


End Sub
-------------------------------------------------------------------------------------En los botones de desplazamiento se cre un Array de botones siendo su cdigo para
cada botn como sigue:
Private Sub Mover_Click (Index As Integer)
Select Case Index
Case 0
rsCliente.MoveFirst
verdatos
Call EBMov (True, False)
Case 1
rsCliente.MovePrevious
If rsCliente.BOF Then
rsCliente.MoveFirst
Call EBMov (True, False)
Else
Call EBMov (True, True)
End If
verdatos
Case 2
rsCliente.MoveNext
If rsCliente.EOF Then
rsCliente.MoveLast
Call EBMov(False, True)
Else
Call EBMov (True, True)
End If
verdatos
Case 3
rsCliente.MoveLast
Call EBMov (False, True)
verdatos
End Select
End Sub
En el evento Keypress de cada TextBox se codifico lo siguiente:
Private Sub txtdire_KeyPress (KeyAscii as Integer)
If KeyAscii = 13 Then
txtfono.Enabled = True
txtfono.SetFocus
End If
End Sub
--------------------------------------------------------------------------------------Private Sub txtdist_KeyPress (KeyAscii as Integer)
Call letras (KeyAscii)
If KeyAscii = 13 Then

Ing. Manuel Ulloa Florin


Net y 6.0

-54-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
DTPfechar.Enabled = True
DTPfechar.SetFocus
End If
End Sub
----------------------------------------------------------------------------------------Private Sub TxtEmail_KeyPress (KeyAscii as Integer)
If KeyAscii = 13 Then
txtdist.Enabled = True
txtdist.SetFocus
End If
End Sub
---------------------------------------------------------------------------------------Private Sub txtfono_KeyPress (KeyAscii As Integer)
Call numeros (KeyAscii)
If txtfono.Text = "" And KeyAscii = 13 Then
MsgBox "Digite su Telefono", 64, "Atencin"
ElseIf KeyAscii = 13 And (Len(txtfono) = 7 Or Len(txtfono) = 8 Or Len(txtfono) < 6) Then
MsgBox "El telefono debe tener 6 o 9 digitos", 0, "Advertencia"
txtfono.Text = ""
ElseIf KeyAscii = 13 Then
txtemail.Enabled = True
txtemail.SetFocus
End If
End Sub
------------------------------------------------------------------------------------------Private Sub txtraz_nomb_KeyPress (KeyAscii as Integer)
Call letras(KeyAscii)
If KeyAscii = 13 Then
txtrucdni.Enabled = True
txtrucdni.SetFocus
End If
End Sub
------------------------------------------------------------------------------------------Private Sub txtrucdni_KeyPress (KeyAscii as Integer)
Call numeros(KeyAscii)
X = SkinLabel7.Caption
max = txtrucdni.MaxLength
If txtrucdni.Text = "" And KeyAscii = 13 Then
MsgBox "Digite su" & " " & X, 64, "Atencin"
ElseIf KeyAscii = 13 And (Len(txtrucdni) = 9 Or Len(txtrucdni) = 10 Or Len(txtrucdni) < 8) Then
MsgBox "Debe tener" & " " & max & " " & "digitos el" & " " & X, 64,

"Atencin"

txtrucdni.Text = ""
ElseIf KeyAscii = 13 Then
txtdire.Enabled = True
txtdire.SetFocus
End If
End Sub

Ing. Manuel Ulloa Florin


Net y 6.0

-55-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

--------------------------------------------------------------------------------------Private Sub cboTipoCliente_KeyPress (KeyAscii as Integer)


KeyAscii = snumeros(KeyAscii)
KeyAscii = sletras(KeyAscii)
If KeyAscii = 13 Then
txtraz_nomb.Enabled = True
txtraz_nomb.SetFocus
End If
End Sub
---------------------------------------------------------------------------------------En el ComboBox llamado cbotipocliente se codifico en el evento click y en el evento
Change lo siguiente:
Private Sub cboTipoCliente_Change ()
Call muestraRUCDNI
End Sub
--------------------------------------------------------------------------------------Private Sub cboTipoCliente_Click()
Call muestraRUCDNI
End Sub
-------------------------------------------------------------------------------------En el Botn Buscar:
Private Sub cmdbuscar_Click()
BUSCARCLIENTES.Show
BUSCARCLIENTES.TXTBUSCAR.SetFocus
End Sub
CONSULTA DE CLIENTES POR EL TIPO DE CLIENTE

Para realizar la presente consulta se codifico lo siguiente:


En declaraciones se establecieron las respectivas variables:
Dim rsCliente As New ADODB.Recordset

Ing. Manuel Ulloa Florin


Net y 6.0

-56-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
Dim rs1 As New ADODB.Recordset

En el evento Load del formulario se codifico lo siguiente:


Private Sub Form_Load ()
rsCliente.Open "Cliente", CN, adOpenKeyset, adLockOptimistic
With cboTipoCliente
.AddItem "Natural"
.AddItem "Juridico"
End With
End Sub
En los Botones se codifico lo siguiente:
En el Botn Visualizar Datos:
Private Sub Command1_Click ()
rs1.Open "select id_cliente, RazSoc_Nomb, Direccion, Distrito, Telefono, Email, RUC_DNI from
Cliente where tipocliente='" & Trim$(cboTipoCliente.Text) & "'", CN
Set DataGrid1.DataSource = rs1
TC = rsCliente.RecordCount
RM = rs1.RecordCount
Label2 = "De un total de" & " " & TC & " " & "clientes,hay" & " " & RM & " " & "que son" & " " &
cboTipoCliente
Set rs1 = Nothing
End Sub
En el Boton Juridico:
Private Sub Command2_Click ()
DataReport3.Show
End Sub
En el Boton Natural:
Private Sub Command3_Click ()
DataReport2.Show
End Sub
En el Boton Salir:
Private Sub Command4_Click ()
Dim i as Integer
i = MsgBox("Seguro de Salir?", vbYesNo + vbQuestion, "Salir de Consulta de Cliente")
If i = vbYes Then
Set rs1 = Nothing
Set rsCliente = Nothing
Unload Me
MENUPRINCIPAL.Show
MENUPRINCIPAL.Enabled = True
End If
End Sub

Ing. Manuel Ulloa Florin


Net y 6.0

-57-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
En el ComboBox llamado cbotipocliente se codifico en el evento click, Change y keypress
lo siguiente:
Private Sub cboTipoCliente_Change ()
activatipocliente
End Sub
------------------------------------------------------------------------------------------Private Sub cboTipoCliente_Click ()
activatipocliente
End Sub
-----------------------------------------------------------------------------------------Private Sub cboTipoCliente_KeyPress (KeyAscii as Integer)
KeyAscii = snumeros(KeyAscii)
KeyAscii = sletras(KeyAscii)
End Sub
A continuacin se crearon procedimientos a nivel de Formulario que son detallados como
sigue para luego ser llamados en los botones segn sea necesario:
Sub activatipocliente ()
If cboTipoCliente.Text = "Natural" Then
Command3.Enabled = True
Command2.Enabled = False
Else
Command2.Enabled = True
Command3.Enabled = False
End If
End Sub
REPORTE DE CLIENTE POR TIPO DE CLIENTE

Ing. Manuel Ulloa Florin


Net y 6.0

-58-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

Para crear reportes se hizo uso de las herramientas Dataenvironment y Datareport pero
en primer lugar se crearon las respectivas Vistas en SQL

Vista para reportar clientes Jurdicos:


SELECT
FROM
WHERE

id_cliente, RazSoc_Nomb, Direccion, Telefono, Email, RUC_DNI


dbo.Cliente
(tipocliente = 'Juridico')

Vista para reportar clientes Naturales:


SELECT
FROM
WHERE

id_cliente, RazSoc_Nomb, Direccion, Telefono, Email, RUC_DNI


dbo.Cliente
(tipocliente = 'Natural')

Creadas las Vistas se paso a llamar a cada una en el Dataenvironment para luego enlazar
al respectivo Datareport
Por medio de las propiedades DataSource y DaraMember
El diseo de cada Datareport depende de los datos solicitados en cada vista.
Por ltimo debes llamar a cada Datareport en los formularios respectivos ejemplo:
En el formulario de la consulta de clientes por tipo de cliente
Se lo llama a cada Datareport en los Botones respectivos
En el Boton Juridico:
Private Sub Command2_Click ()
DataReport3.Show
End Sub
En el Boton Natural:
Private Sub Command3_Click ()
DataReport2.Show
End Sub

Ing. Manuel Ulloa Florin


Net y 6.0

-59-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

SISTEMA DE
VENTAS
DE PANADERIA
Ing. Manuel Ulloa Florin
Net y 6.0

-60-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

AUTORES:

Quilcat Vigo Abner Jonathan


Snchez Vsquez Lus Enrique
Vicente Rodrguez Erika

GESTOR DE BASE DE DATOS:

SQL 2005

LENGUAJE DE PROGRAMACIN:

Visual Basic. Net 2005

SISTEMA DE VENTAS
Declaramos en el Mdulo Principal
Imports Microsoft.VisualBasic
Imports System.Security.Cryptography
Imports System.IO
Imports System.Text
------------------------------------------------------------------------Module Module1
Public CMB As SqlClient.SqlCommandBuilder
Public DAP As SqlClient.SqlDataAdapter
Public DTS AsNew DataSet
Public DT As DataTable
Public DR As DataRow
Public registro As SqlClient.SqlDataReader
Public reg As SqlClient.SqlDataReader
Public cn AsNew SqlClient.SqlConnection
Public cadena AsString
Public cmd AsNew SqlClient.SqlCommand
Public cmdinsertar AsNew SqlClient.SqlCommand

Ing. Manuel Ulloa Florin


Net y 6.0

-61-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

Public cmdconsultar AsNew SqlClient.SqlCommand


Public sentencia AsString
Public codigov, nombrev, apellidov, dniv, telefonov, codusu AsString
------------------------------------------------------------------------PublicSub Ejecutar(ByVal Setenencias AsString)
'Proceso para ejecutar sentencias
cmd.Connection = cn
cmd.CommandText = sentencia
cmd.ExecuteNonQuery()
EndSub
------------------------------------------------------------------------PublicSub AbrirConexion()
'Cadena de conexin
cadena = "Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Archivos de programa\SYSLAE
v1.0\Base de Datos\SISTEMA_Data.MDF;Integrated Security=True;Connect Timeout=30;User
Instance=True"
cn.ConnectionString = cadena
cn.Open()
EndSub

INICIO DE SESIN

Imports System.Data
Imports System.Data.SqlClient
PublicClass FrmSesion
Public acum AsInteger
------------------------------------------------------------------------PrivateSub FrmSesion_FormClosed(ByVal sender AsObject, ByVal e As
System.Windows.Forms.FormClosedEventArgs) HandlesMe.FormClosed
End
EndSub
------------------------------------------------------------------------PrivateSub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)

Ing. Manuel Ulloa Florin


Net y 6.0

-62-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
HandlesMyBase.Load

CustomAnchor.LoadAnchor(Me)
Me.AxSkin1.ApplySkin(Me.Handle.GetHashCode)
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedDialog
Label1.Parent = PictureBox1
Label1.BackColor = Color.Transparent
Label1.ForeColor = Color.RoyalBlue
Label2.Parent = PictureBox1
Label2.BackColor = Color.Transparent
Label2.ForeColor = Color.RoyalBlue
EndSub
------------------------------------------------------------------------PrivateSub TxtUsuario_KeyPress(ByVal sender AsObject, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TxtUsuario.KeyPress
IfChar.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIfChar.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
EndIf
EndSub
------------------------------------------------------------------------PrivateSub TxtUsuario_MouseDown(ByVal sender AsObject, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles TxtUsuario.MouseDown
If e.Button = System.Windows.Forms.MouseButtons.Right Then
MsgBox("Opcin deshabilitada por seguridad", MsgBoxStyle.Information, "Atencin")
EndIf
EndSub
PrivateSub TxtUsuario_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles TxtUsuario.TextChanged
TxtUsuario.CharacterCasing = CharacterCasing.Upper
EndSub
------------------------------------------------------------------------PrivateSub TxtContrasea_KeyPress(ByVal sender AsObject, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TxtContrasea.KeyPress
IfChar.IsLetterOrDigit(e.KeyChar) Then
e.Handled = False
ElseIfChar.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
EndIf
EndSub
------------------------------------------------------------------------PrivateSub TxtContrasea_MouseDown(ByVal sender AsObject, ByVal e As

Ing. Manuel Ulloa Florin


Net y 6.0

-63-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

System.Windows.Forms.MouseEventArgs) Handles TxtContrasea.MouseDown


If e.Button = System.Windows.Forms.MouseButtons.Right Then
MsgBox("Opcin deshabilitada por seguridad", MsgBoxStyle.Information, "Atencin")
EndIf
EndSub
------------------------------------------------------------------------PrivateSub TxtContrasea_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TxtContrasea.TextChanged
TxtContrasea.CharacterCasing = CharacterCasing.Upper
EndSub
------------------------------------------------------------------------PrivateSub BtnAceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles BtnAceptar.Click
AbrirConexion()
sentencia = "Select * from USUARIO where Nombre="& _
"@nombre and Contrasea=@pass"
Dim comando AsNew SqlCommand(sentencia, cn)
comando.Parameters.AddWithValue("@nombre", Me.TxtUsuario.Text.Trim)
comando.Parameters.AddWithValue("@pass", Encripta(Me.TxtContrasea.Text.Trim))
Dim dt AsNew DataTable
Dim da AsNew SqlDataAdapter(comando)
da.Fill(dt)
If dt.Rows.Count > 0 Then
MsgBox("Bienvenido(a) al Sistema "& TxtUsuario.Text, MsgBoxStyle.Information, "Inicio Sesin")
cn.Close()
MDIPrincipal.Show()
Me.Hide()
Me.ShowInTaskbar = False' Para quitarlo de la barra de tareas
MDIPrincipal.Label1.Text = "Usuario conectado: "
MDIPrincipal.LblUsuario.Text = TxtUsuario.Text
MDIPrincipal.PictureBox2.ImageLocation = "C:\Archivos de programa\Sistema de
Ventas\Usuarios\"& TxtUsuario.Text &".JPG"
Dim leer AsString
usuario = TxtUsuario.Text
sentencia = "select * from USUARIO where Nombre='"& usuario &"'"
AbrirConexion()
Ejecutar(sentencia)
registro = cmd.ExecuteReader
If registro.Read = TrueThen
leer = registro.Item("Cargo")
MDIPrincipal.ToolStripStatusLabel1.Text = registro.Item("Cargo")
FrmManBol.LblCodUsu.Text = registro.Item("Id_Usuario")
If leer = "VENDEDOR"Then
PermisosDesactivados()
EndIf
EndIf
registro.Close()

Ing. Manuel Ulloa Florin


Net y 6.0

-64-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
cn.Close()

Else
If TxtUsuario.MaxLength = 0 Then
MsgBox("Ingrese un Usuario", MsgBoxStyle.Critical, "Inicio Sesin")
ElseIf TxtContrasea.MaxLength = 0 Then
MsgBox("Ingrese una Contrasea", MsgBoxStyle.Critical, "Inicio Sesin")
Else
acum = acum + 1
If acum < 3 Then
MsgBox("Usuario y/o Contrasea incorrectos. Intente nuevamente ("& acum &")",
MsgBoxStyle.Critical, "Inicio Sesin")
TxtContrasea.Text = ""
TxtUsuario.Select()
TxtUsuario.SelectionStart = 0
TxtUsuario.SelectionLength = 20
cn.Close()
Else
MsgBox("Usted ah excedido el lmite de intentos. El programa se cerrar ("& acum
&")", MsgBoxStyle.Exclamation, "Inicio Sesin")
Me.Close()
End
EndIf
EndIf
EndIf
EndSub
------------------------------------------------------------------------PrivateSub BtnSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
BtnSalir.Click
End
EndSub
------------------------------------------------------------------------PrivateSub FrmSesion_ResizeBegin(ByVal sender AsObject, ByVal e As System.EventArgs)
HandlesMe.ResizeBegin
BeginResize(sender)
CustomAnchor.LoadAnchor(Me)
EndSub

PrivateSub FrmSesion_ResizeEnd(ByVal sender AsObject, ByVal e As System.EventArgs)


HandlesMe.ResizeEnd
BeginResize(sender)
CustomAnchor.LoadAnchor(Me)
EndSub
EndClass
CONSULTA PRODUCTO

Ing. Manuel Ulloa Florin


Net y 6.0

-65-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

Imports System.Data.SqlClient
------------------------------------------------------------------------PublicClass FrmCnSPro
PrivateSub BtnBuscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
BtnBuscar.Click
If RBNombre.Checked = TrueThen
BuscarxNombre()
ElseIf RBMarca.Checked = TrueThen
BuscarxMarca()
ElseIf RBLinea.Checked = TrueThen
BuscarxLinea()
EndIf
EndSub
------------------------------------------------------------------------PrivateSub FrmConPro_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
HandlesMyBase.Load
'Aplicamos el Skin al Formulario
Me.AxSkin1.ApplySkin(Me.Handle.GetHashCode)
'Bloqueamos el borde, para bloquearlo al momento de ejecutarlo.
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedDialog
'Agregamos transparecia a los contoles
GroupBox1.Parent = PictureBox1
GroupBox1.BackColor = Color.Transparent
GroupBox2.ForeColor = Color.RoyalBlue
GroupBox2.Parent = PictureBox1
GroupBox2.BackColor = Color.Transparent
GroupBox2.ForeColor = Color.RoyalBlue
LblTotal.Parent = PictureBox1
LblTotal.BackColor = Color.Transparent

Ing. Manuel Ulloa Florin


Net y 6.0

-66-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

LblTotal.ForeColor = Color.RoyalBlue
DTS = New DataSet
DAP = New SqlDataAdapter("SELECT * FROM PRODUCTO", cn)

AbrirConexion()
DAP.Fill(DTS, "PRODUCTO")
'Cuenta todos los registros de la tabla y los muestra en un label.
LblTotal.Text = "Total Productos: "& DTS.Tables("PRODUCTO").Rows.Count
cn.Close()
EndSub
------------------------------------------------------------------------PrivateSub BtnMostrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles BtnMostrar.Click
'Muestra todos los datos de la tabla en el datagridview.
DAP = New SqlDataAdapter("SELECT * FROM PRODUCTO", cn)
CMB = New SqlCommandBuilder(DAP)
DTS = New DataSet
DAP.Fill(DTS, "PRODUCTO")
DGVProducto.DataSource = DTS
DGVProducto.DataMember = "PRODUCTO"
EndSub
------------------------------------------------------------------------PrivateSub BuscarxNombre()
Dim dtv AsNew DataView
dtv.Table = DTS.Tables("PRODUCTO")
'Filtra el campo a buscar, Nombre del Producto.
dtv.RowFilter = "NomPro='"& TxtValor.Text &"'"
'Muestra los resultados en el datagridview.
DGVProducto.DataSource = dtv
EndSub
------------------------------------------------------------------------PrivateSub BuscarxMarca()
'Buscar el valor ingresado en la caja de texto.
sentencia = "SELECT * FROM MARCA where Descripcion='"& TxtValor.Text &"'"
AbrirConexion()
Ejecutar(sentencia)
'Comprueba si hay resultados.
registro = cmd.ExecuteReader
If registro.Read = TrueThen
'Muestra el codigo de la marca del valor buscado.
LblCodigo.Text = registro.Item("Id_Marca")
EndIf
registro.Close()
cn.Close()
Dim dtv AsNew DataView
dtv.Table = DTS.Tables("PRODUCTO")
'Busca todos los productos que tienen la misma marca.
dtv.RowFilter = "Id_Marca='"& LblCodigo.Text &"'"

Ing. Manuel Ulloa Florin


Net y 6.0

-67-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

'Muestra todos los productos encontrados en el datagridview.


DGVProducto.DataSource = dtv
EndSub
------------------------------------------------------------------------PrivateSub BuscarxLinea()
sentencia = "SELECT * FROM LINEA where Descripcion='"& TxtValor.Text &"'"
AbrirConexion()
Ejecutar(sentencia)
registro = cmd.ExecuteReader
If registro.Read = TrueThen
LblCodigo.Text = registro.Item("Id_Linea")
EndIf
registro.Close()
cn.Close()
Dim dtv AsNew DataView
dtv.Table = DTS.Tables("PRODUCTO")
dtv.RowFilter = "Id_Linea='"& LblCodigo.Text &"'"
DGVProducto.DataSource = dtv
EndSub
------------------------------------------------------------------------PrivateSub TxtValor_KeyPress(ByVal sender AsObject, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TxtValor.KeyPress
'Validamos las cajas de texto
'Permitir solo letras y borrar, suprimir.
If RBNombre.Checked = TrueThen
IfChar.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIfChar.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
EndIf
'Permitir letras, numeros y borrar, suprimir.
ElseIf RBMarca.Checked = TrueThen
IfChar.IsLetterOrDigit(e.KeyChar) Then
e.Handled = False
ElseIfChar.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
EndIf
'Permitir letras, numeros y borrar, suprimir.
ElseIf RBLinea.Checked = TrueThen
IfChar.IsLetterOrDigit(e.KeyChar) Then
e.Handled = False
ElseIfChar.IsControl(e.KeyChar) Then
e.Handled = False

Ing. Manuel Ulloa Florin


Net y 6.0

-68-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
Else

e.Handled = True
EndIf
EndIf
EndSub
------------------------------------------------------------------------PrivateSub TxtValor_KeyUp(ByVal sender AsObject, ByVal e As
System.Windows.Forms.KeyEventArgs) Handles TxtValor.KeyUp
'Bloquea el Ctr+C, Ctrl+V , Ctrl+X.
Clipboard.Clear()
EndSub
------------------------------------------------------------------------PrivateSub TxtValor_MouseDown(ByVal sender AsObject, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles TxtValor.MouseDown
'Bloquea el clic derecho del mouse.
If e.Button = System.Windows.Forms.MouseButtons.Right Then
MsgBox("Opcin deshabilitada por seguridad", MsgBoxStyle.Information, "Atencin")
EndIf
EndSub
------------------------------------------------------------------------PrivateSub TxtValor_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles TxtValor.TextChanged
'Convierte todo el contenido de la caja de texto en mayusculas.
TxtValor.CharacterCasing = CharacterCasing.Upper
EndSub
EndClass
MANTENEDOR VENDEDOR

Ing. Manuel Ulloa Florin


Net y 6.0

-69-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

PublicClass FrmManVen
Dim reg AsInteger
------------------------------------------------------------------------PrivateSub FrmManVen_FormClosed(ByVal sender AsObject, ByVal e As
System.Windows.Forms.FormClosedEventArgs) HandlesMe.FormClosed
MDIPrincipal.Enabled = True
EndSub
PrivateSub FrmManVen_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
HandlesMyBase.Load
MDIPrincipal.Enabled = False
Me.AxSkin1.ApplySkin(Me.Handle.GetHashCode)
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedDialog
GroupBox1.Parent = PictureBox1
GroupBox1.BackColor = Color.Transparent
GroupBox1.ForeColor = Color.RoyalBlue
GroupBox2.Parent = PictureBox1
GroupBox2.BackColor = Color.Transparent
GroupBox2.ForeColor = Color.RoyalBlue
GroupBox3.Parent = PictureBox1
GroupBox3.BackColor = Color.Transparent
GroupBox3.ForeColor = Color.RoyalBlue
ActualizarDGV()

Ing. Manuel Ulloa Florin


Net y 6.0

-70-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
Ejecutarform()

CargarDatos()
BtnPrimero.PerformClick()
cn.Close()
EndSub
------------------------------------------------------------------------PrivateSub CargarDatos()
'Carga los datos de la tabala asignando cada campo a cada caja de texto.
Try
DAP = New SqlClient.SqlDataAdapter("select * from VENDEDOR", cn)
DTS = New DataSet
AbrirConexion()
DAP.Fill(DTS, "VENDEDOR")
cn.Close()
reg = 0
DR = DTS.Tables("VENDEDOR").Rows(reg)
TxtCodigoV.Text = DR("Id_Vendedor")
TxtNombreV.Text = DR("Nom_Vend")
TxtApellidoV.Text = DR("Ape_Vend")
TxtTelefonoV.Text = DR("Tel_Vend")
TxtDNIV.Text = DR("DNI")
CboUsuario.Text = DR("Id_Usuario")
BtnGuardar.Enabled = False
'Si no cargan los datos, es porque no hay ningun dato que visualizar.
Catch ex As Exception
MsgBox("An no se ha registrado ningun Vendedor", MsgBoxStyle.Information, "Agregar")
BtnAgregar.PerformClick()
EndTry
EndSub
------------------------------------------------------------------------PrivateSub Ejecutarform()
TxtNombreV.Enabled = False
TxtApellidoV.Enabled = False
TxtTelefonoV.Enabled = False
TxtDNIV.Enabled = False
CboUsuario.Enabled = False
BtnAgregar.Enabled = True
BtnGuardar.Enabled = False
BtnEliminar.Enabled = False
BtnPrimero.Enabled = True
BtnModificar.Enabled = True
BtnAnterior.Enabled = True
BtnSiguiente.Enabled = True
BtnUltimo.Enabled = True
BtnActualizar.Visible = False
BtnGuardar.Visible = True
LblUsuario.Visible = False

Ing. Manuel Ulloa Florin


Net y 6.0

-71-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
EndSub

------------------------------------------------------------------------PrivateSub Agregar()
TxtNombreV.Text = ""
TxtApellidoV.Text = ""
TxtTelefonoV.Text = ""
TxtDNIV.Text = ""
CboUsuario.ResetText()
TxtNombreV.Enabled = True
TxtApellidoV.Enabled = True
TxtTelefonoV.Enabled = True
TxtDNIV.Enabled = True
CboUsuario.Enabled = True
BtnGuardar.Enabled = True
BtnEliminar.Enabled = True
BtnAnterior.Enabled = False
BtnSiguiente.Enabled = False
BtnPrimero.Enabled = False
BtnUltimo.Enabled = False
BtnAgregar.Enabled = False
BtnModificar.Enabled = False
LblUsuario.Visible = True
EndSub
------------------------------------------------------------------------PrivateSub Modificar()
BtnAnterior.Enabled = False
BtnSiguiente.Enabled = False
BtnPrimero.Enabled = False
BtnUltimo.Enabled = False
BtnAgregar.Enabled = False
BtnModificar.Enabled = False
BtnEliminar.Enabled = True
TxtNombreV.Enabled = True
TxtApellidoV.Enabled = True
TxtTelefonoV.Enabled = True
TxtDNIV.Enabled = True
BtnGuardar.Enabled = True
EndSub
------------------------------------------------------------------------PrivateSub ActualizarDGV()
'Vuelve a leer los datos de la tabla.
AbrirConexion()
DAP = New SqlClient.SqlDataAdapter("SELECT * FROM VENDEDOR", cn)
CMB = New SqlClient.SqlCommandBuilder(DAP)
DTS = New DataSet
DAP.Fill(DTS, "VENDEDOR")
DataGridView1.DataSource = DTS

Ing. Manuel Ulloa Florin


Net y 6.0

-72-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

DataGridView1.DataMember = "VENDEDOR"
cn.Close()

EndSub
PrivateSub BtnAgregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles BtnAgregar.Click
Agregar()
'Autogeneramos el codigo.
Dim cod AsInteger
Me.VENDEDORTableAdapter.Fill(Me.SISTEMADataSet.VENDEDOR)
cod = Me.SISTEMADataSet.VENDEDOR.Rows.Count
TxtCodigoV.Text = "VEN"& Microsoft.VisualBasic.Right("00"& cod + 1, 3)
TxtNombreV.Focus()
BtnGuardar.Visible = True
Label11.Text = "Guardar"
BtnActualizar.Visible = False
ListaUsuario()
EndSub
------------------------------------------------------------------------PrivateSub BtnActualizar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles BtnActualizar.Click
'Comprobamos los valores en las cajas de texto.
If TxtNombreV.Text = ""And TxtApellidoV.Text = ""And TxtDNIV.Text = ""And CboUsuario.Text =
""Then
MessageBox.Show("Rellene los campos en blanco obligatorios (Nombre, Apellido, DNI, Usuario)",
"Error al Actualizar", MessageBoxButtons.OK, MessageBoxIcon.Error)
ElseIf TxtNombreV.Text = ""Then
MessageBox.Show("Ingrese un Nombre", "Error al Actualizar", MessageBoxButtons.OK,
MessageBoxIcon.Error)
ElseIf TxtApellidoV.Text = ""Then
MessageBox.Show("Ingrese un Apellido", "Error al Actualizar", MessageBoxButtons.OK,
MessageBoxIcon.Error)
ElseIf TxtDNIV.Text = ""Then
MessageBox.Show("Ingrese un nmero de DNI", "Error al Actualizar",
MessageBoxButtons.OK, MessageBoxIcon.Error)
ElseIf TxtDNIV.TextLength <> 8 Then
MessageBox.Show("El nmero de DNI debe contener 8 digitos", "Error al Actualizar",
MessageBoxButtons.OK, MessageBoxIcon.Error)
ElseIf CboUsuario.Text = ""Then
MessageBox.Show("Seleccione una cuenta de Usuario", "Error al Actualizar",
MessageBoxButtons.OK, MessageBoxIcon.Error)
Else
'Aignamos una variable a cada cajade texto.
codigov = TxtCodigoV.Text
nombrev = TxtNombreV.Text
apellidov = TxtApellidoV.Text
telefonov = TxtTelefonoV.Text

Ing. Manuel Ulloa Florin


Net y 6.0

-73-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
dniv = TxtDNIV.Text

'Ejecutamos una sentencia para actualizar los datos.


sentencia = "UPDATE VENDEDOR set Nom_Vend='"& nombrev &"',"& _
"Ape_Vend='"& apellidov &"', "& _
"Tel_Vend='"& telefonov &"', "& _
"DNI='"& dniv &"'"& _
"WHERE Id_Vendedor='"& codigov &"'"
AbrirConexion()
Ejecutar(sentencia)
cn.Close()
MsgBox("Los datos del Vendedor fueron modificados", MsgBoxStyle.Information,
"Modificar")
Label11.Text = "Guardar"
CargarDatos()
Ejecutarform()
ActualizarDGV()
BtnPrimero.Enabled = True
EndIf
EndSub
------------------------------------------------------------------------PrivateSub BtnGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles BtnGuardar.Click
If TxtNombreV.Text = ""And TxtApellidoV.Text = ""And TxtDNIV.Text = ""And CboUsuario.Text =
""Then
MessageBox.Show("Rellene los campos en blanco obligatorios (Nombre, Apellido, DNI, Usuario)",
"Error al Guardar", MessageBoxButtons.OK, MessageBoxIcon.Error)
ElseIf TxtNombreV.Text = ""Then
MessageBox.Show("Ingrese un Nombre", "Error al Guardar", MessageBoxButtons.OK,
MessageBoxIcon.Error)
ElseIf TxtApellidoV.Text = ""Then
MessageBox.Show("Ingrese un Apellido", "Error al Guardar", MessageBoxButtons.OK,
MessageBoxIcon.Error)
ElseIf TxtDNIV.Text = ""Then
MessageBox.Show("Ingrese un nmero de DNI", "Error al Guardar",
MessageBoxButtons.OK, MessageBoxIcon.Error)
ElseIf TxtDNIV.TextLength <> 8 Then
MessageBox.Show("El nmero de DNI debe contener 8 digitos", "Error al Guardar",
MessageBoxButtons.OK, MessageBoxIcon.Error)
ElseIf CboUsuario.Text = ""Then
MessageBox.Show("Seleccione una cuenta de Usuario", "Error al Guardar",
MessageBoxButtons.OK, MessageBoxIcon.Error)
Else
codigov = TxtCodigoV.Text
nombrev = TxtNombreV.Text
apellidov = TxtApellidoV.Text
dniv = TxtDNIV.Text
telefonov = TxtTelefonoV.Text

Ing. Manuel Ulloa Florin


Net y 6.0

-74-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
codusu = LblUsuario.Text

'Ejecutamos una sentencia para guardar los datos.


sentencia = "INSERT INTO VENDEDOR values ('"& codigov &"','"& nombrev &"','"& apellidov
&"','"& dniv &"','"& telefonov &"','"& codusu &"')"
Call AbrirConexion()
Call Ejecutar(sentencia)
cn.Close()
MsgBox("Datos guardados exitosamente", MsgBoxStyle.Information, "Guardar")
ActualizarDGV()
CargarDatos()
Ejecutarform()
BtnPrimero.Enabled = True
EndIf
EndSub

PrivateSub BtnModificar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles BtnModificar.Click
Modificar()
BtnGuardar.Visible = False
BtnActualizar.Visible = True
Label11.Text = "Actualizar"
EndSub
------------------------------------------------------------------------PrivateSub BtnEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles BtnEliminar.Click
Ejecutarform()
EndSub
------------------------------------------------------------------------PrivateSub BtnPrimero_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles BtnPrimero.Click
'Regresamos al primer registro.
reg = 0
DR = DTS.Tables("VENDEDOR").Rows(reg)
TxtCodigoV.Text = DR("Id_Vendedor")
TxtNombreV.Text = DR("Nom_Vend")
TxtApellidoV.Text = DR("Ape_Vend")
TxtTelefonoV.Text = DR("Tel_Vend")
TxtDNIV.Text = DR("DNI")
CboUsuario.Text = DR("Id_Usuario")
Ejecutarform()
EndSub
------------------------------------------------------------------------PrivateSub BtnAnterior_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles BtnAnterior.Click
'Regresamos al registro anterior.
If reg > 0 Then

Ing. Manuel Ulloa Florin


Net y 6.0

-75-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
reg -= 1

DR = DTS.Tables("VENDEDOR").Rows(reg)
TxtCodigoV.Text = DR("Id_Vendedor")
TxtNombreV.Text = DR("Nom_Vend")
TxtApellidoV.Text = DR("Ape_Vend")
TxtTelefonoV.Text = DR("Tel_Vend")
TxtDNIV.Text = DR("DNI")
CboUsuario.Text = DR("Id_Usuario")
Else
reg = 0
EndIf
Ejecutarform()
EndSub
------------------------------------------------------------------------PrivateSub BtnSiguiente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles BtnSiguiente.Click
'Avanzamos al siguiente registro.
If reg < DTS.Tables("VENDEDOR").Rows.Count - 1 Then
reg += 1
DR = DTS.Tables("VENDEDOR").Rows(reg)
TxtCodigoV.Text = DR("Id_Vendedor")
TxtNombreV.Text = DR("Nom_Vend")
TxtApellidoV.Text = DR("Ape_Vend")
TxtTelefonoV.Text = DR("Tel_Vend")
TxtDNIV.Text = DR("DNI")
CboUsuario.Text = DR("Id_Usuario")
Else
reg = DTS.Tables("VENDEDOR").Rows.Count - 1
EndIf
Ejecutarform()
EndSub
------------------------------------------------------------------------PrivateSub BtnUltimo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
BtnUltimo.Click
'Avanzamos al ultimo registro.
reg = DTS.Tables("VENDEDOR").Rows.Count - 1
DR = DTS.Tables("VENDEDOR").Rows(reg)
TxtCodigoV.Text = DR("Id_Vendedor")
TxtNombreV.Text = DR("Nom_Vend")
TxtApellidoV.Text = DR("Ape_Vend")
TxtTelefonoV.Text = DR("Tel_Vend")
TxtDNIV.Text = DR("DNI")
CboUsuario.Text = DR("Id_Usuario")
Ejecutarform()
EndSub
------------------------------------------------------------------------PrivateSub TxtDNIV_KeyPress(ByVal sender AsObject, ByVal e As

Ing. Manuel Ulloa Florin


Net y 6.0

-76-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

System.Windows.Forms.KeyPressEventArgs) Handles TxtDNIV.KeyPress


IfChar.IsNumber(e.KeyChar) Then
e.Handled = False
ElseIfChar.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
EndIf
EndSub
------------------------------------------------------------------------PrivateSub TxtDNIV_KeyUp(ByVal sender AsObject, ByVal e As
System.Windows.Forms.KeyEventArgs) Handles TxtDNIV.KeyUp
Clipboard.Clear()
EndSub
------------------------------------------------------------------------PrivateSub TxtDNIV_MouseDown(ByVal sender AsObject, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles TxtDNIV.MouseDown
If e.Button = System.Windows.Forms.MouseButtons.Right Then
MsgBox("Opcin deshabilitada por seguridad", MsgBoxStyle.Information, "Atencin")
EndIf
EndSub
------------------------------------------------------------------------PrivateSub TxtDNIV_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles TxtDNIV.TextChanged
TxtDNIV.CharacterCasing = CharacterCasing.Upper
EndSub
------------------------------------------------------------------------PrivateSub TxtNombreV_KeyPress(ByVal sender AsObject, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TxtNombreV.KeyPress
IfChar.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIfChar.IsControl(e.KeyChar) Then
e.Handled = False
ElseIfChar.IsSeparator(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
EndIf
EndSub
------------------------------------------------------------------------PrivateSub TxtNombreV_KeyUp(ByVal sender AsObject, ByVal e As
System.Windows.Forms.KeyEventArgs) Handles TxtNombreV.KeyUp
Clipboard.Clear()
EndSub
------------------------------------------------------------------------PrivateSub TxtNombreV_MouseDown(ByVal sender AsObject, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles TxtNombreV.MouseDown

Ing. Manuel Ulloa Florin


Net y 6.0

-77-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

If e.Button = System.Windows.Forms.MouseButtons.Right Then


MsgBox("Opcin deshabilitada por seguridad", MsgBoxStyle.Information, "Atencin")
EndIf
EndSub
------------------------------------------------------------------------PrivateSub TxtNombreV_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TxtNombreV.TextChanged
TxtNombreV.CharacterCasing = CharacterCasing.Upper
EndSub
------------------------------------------------------------------------PrivateSub TxtApellidoV_KeyPress(ByVal sender AsObject, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TxtApellidoV.KeyPress
IfChar.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIfChar.IsControl(e.KeyChar) Then
e.Handled = False
ElseIfChar.IsSeparator(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
EndIf
EndSub
------------------------------------------------------------------------PrivateSub TxtApellidoV_KeyUp(ByVal sender AsObject, ByVal e As
System.Windows.Forms.KeyEventArgs) Handles TxtApellidoV.KeyUp
Clipboard.Clear()
EndSub
------------------------------------------------------------------------PrivateSub TxtApellidoV_MouseDown(ByVal sender AsObject, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles TxtApellidoV.MouseDown
If e.Button = System.Windows.Forms.MouseButtons.Right Then
MsgBox("Opcin deshabilitada por seguridad", MsgBoxStyle.Information, "Atencin")
EndIf
EndSub
------------------------------------------------------------------------PrivateSub TxtApellidoV_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TxtApellidoV.TextChanged
TxtApellidoV.CharacterCasing = CharacterCasing.Upper
EndSub

PrivateSub TxtTelefonoV_KeyPress(ByVal sender AsObject, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles TxtTelefonoV.KeyPress
IfChar.IsNumber(e.KeyChar) Then
e.Handled = False
ElseIfChar.IsControl(e.KeyChar) Then

Ing. Manuel Ulloa Florin


Net y 6.0

-78-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
e.Handled = False

Else
e.Handled = True
EndIf
EndSub
------------------------------------------------------------------------PrivateSub TxtTelefonoV_KeyUp(ByVal sender AsObject, ByVal e As
System.Windows.Forms.KeyEventArgs) Handles TxtTelefonoV.KeyUp
Clipboard.Clear()
EndSub
------------------------------------------------------------------------PrivateSub TxtTelefonoV_MouseDown(ByVal sender AsObject, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles TxtTelefonoV.MouseDown
If e.Button = System.Windows.Forms.MouseButtons.Right Then
MsgBox("Opcin deshabilitada por seguridad", MsgBoxStyle.Information, "Atencin")
EndIf
EndSub
------------------------------------------------------------------------PrivateSub TxtTelefonoV_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TxtTelefonoV.TextChanged
TxtTelefonoV.CharacterCasing = CharacterCasing.Upper
EndSub
------------------------------------------------------------------------PrivateSub TxtUsuario_KeyUp(ByVal sender AsObject, ByVal e As
System.Windows.Forms.KeyEventArgs)
Clipboard.Clear()
EndSub
------------------------------------------------------------------------PrivateSub TxtUsuario_MouseDown(ByVal sender AsObject, ByVal e As
System.Windows.Forms.MouseEventArgs)
If e.Button = System.Windows.Forms.MouseButtons.Right Then
MsgBox("Opcin deshabilitada por seguridad", MsgBoxStyle.Information, "Atencin")
EndIf
EndSub
------------------------------------------------------------------------PrivateSub DataGridView1_CellContentDoubleClick(ByVal sender AsObject, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles
DataGridView1.CellContentDoubleClick
'Declaramos un contador para enviar los datos de una fila determinada de
Dim i AsInteger
i = DataGridView1.CurrentRow.Index
TxtCodigoV.Text = DataGridView1.Item(0, i).Value
TxtNombreV.Text = DataGridView1.Item(1, i).Value
TxtApellidoV.Text = DataGridView1.Item(2, i).Value
TxtDNIV.Text = DataGridView1.Item(3, i).Value
TxtTelefonoV.Text = DataGridView1.Item(4, i).Value
BtnModificar.PerformClick()

Ing. Manuel Ulloa Florin


Net y 6.0

-79-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
EndSub

PrivateSub ListaUsuario()
'Lista todos los Usuarios y los agrega a un combobox.
DAP = New SqlClient.SqlDataAdapter("select * from USUARIO", cn)
DTS = New DataSet
AbrirConexion()
DAP.Fill(DTS, "USUARIO")
cn.Close()
DT = DTS.Tables("USUARIO")
ForEach DR In DT.Rows
CboUsuario.Items.Add(DR.Item("Nombre"))
Next
cn.Close()
EndSub
------------------------------------------------------------------------PrivateSub CboUsuario_KeyPress(ByVal sender AsObject, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles CboUsuario.KeyPress
e.Handled = True
EndSub
------------------------------------------------------------------------PrivateSub CboUsuario_MouseDown(ByVal sender AsObject, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles CboUsuario.MouseDown
If e.Button = System.Windows.Forms.MouseButtons.Right Then
MsgBox("Opcin deshabilitada por seguridad", MsgBoxStyle.Information, "Atencin")
EndIf
EndSub
------------------------------------------------------------------------PrivateSub CboUsuario_TextChanged(ByVal sender AsObject, ByVal e As System.EventArgs)
Handles CboUsuario.TextChanged
'Lee el nombre del usuario en el combobox y muestra su codigo en un label.
usuario = CboUsuario.Text
sentencia = "select * from USUARIO where Nombre='"& usuario &"'"
AbrirConexion()
Ejecutar(sentencia)
registro = cmd.ExecuteReader
If registro.Read = TrueThen
LblUsuario.Text = registro.Item("Id_Usuario")
EndIf
registro.Close()
cn.Close()
EndSub
EndClass

Ing. Manuel Ulloa Florin


Net y 6.0

-80-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

REPORTE CLEINTES

Utilizamos el CrystalReport y el CrystalReportViewer

Ing. Manuel Ulloa Florin


Net y 6.0

-81-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Imports System.Data.SqlClient
PublicClass FrmRepCli
------------------------------------------------------------------------PrivateSub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
HandlesMyBase.Load
Me.AxSkin1.ApplySkin(Me.Handle.GetHashCode)
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedDialog
Dim crp AsNew CRClientes
DAP = New SqlDataAdapter("select * from CLIENTE", cn)
DTS = New DataSet
AbrirConexion()
DAP.Fill(DTS, "CLIENTE")
cn.Close()
crp.SetDataSource(DTS)
crp.Database.Tables.Item("CLIENTE").SetDataSource(DTS)
CrystalReportViewer1.ReportSource = crp
EndSub
EndClass

Ing. Manuel Ulloa Florin


Net y 6.0

-82-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

SISTEMA DE
VENTAS
DE
COMPUTADORAS

AUTORES:
Nimboma Huaman Carlos Enrrique

GESTOR DE BASE DE DATOS:


Ing. Manuel Ulloa Florin
Net y 6.0

-83-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

SQL 2000

LENGUAJE DE PROGRAMACIN:
Visual Basic 6.0

Private Sub Form_Load()


Skin1.LoadSkin App.Path & "\Skins\DogmaX.skn"
Skin1.ApplySkin Me.hWnd
End Sub
Private Sub Timer1_Timer()
With ProgressBar1
.Value = .Value + 4
If .Value = 100 Then
Unload Me
Frmpassword1.Show
End If
End With
End Sub

Ing. Manuel Ulloa Florin


Net y 6.0

-84-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

Dim RSUSUARIO As New ADODB.Recordset


Private Sub Command1_Click()
Static S As Integer
S=S+1
If txtusuario.Text = "" Then
MsgBox "INGRESE SU NOMBRE", 16, "PARA INGRESAR AL SISTEMA"
txtusuario.SetFocus
End If
RSUSUARIO.Requery
RSUSUARIO.Find " Nombre_usu='" & Trim$(txtusuario.Text) & "'"
RSUSUARIO.Find " DNI_usu ='" & Trim$(txtpass.Text) & "'"
If Not RSUSUARIO.EOF Then
MDImenu.Visible = True
a = RSUSUARIO!Nombre_usu
Unload Me
MsgBox " BIENVENIDO(A). " & a & " " & "A SISTEMA DE VENTAS", , "MENSAJE"
With MDImenu
.Show
.statusbar1.Panels(2).Text = a
End With
Else
MsgBox " NOMBRE O CONTRASEA INCORRECTAS", , "ERROR"
txtusuario.Text = ""
txtpass.Text = ""
txtusuario.SetFocus
End If
If S > 3 Then
MsgBox " USTED A INTENTADO POR 3 VECES CONSECUTIVAS INGRESAR Y EL SISTEMA
SE CERRARA", vbCritical, "ERROR"
End
End If
End Sub
Private Sub Command2_Click()
Q = MsgBox("DESEA SALIR DE SISTEMA", vbQuestion + vbYesNo, "SISTEMA")
If Q = vbYes Then
End
End If

Ing. Manuel Ulloa Florin


Net y 6.0

-85-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
txtusuario.SetFocus

End Sub
Private Sub Form_Load()
MAIN
RSUSUARIO.Open "USUARIOS", Cn, adOpenKeyset, adLockOptimistic
Skin1.LoadSkin App.Path & "\Skins\DogmaX.skn"
Skin1.ApplySkin Me.hWnd
End Sub
Private Sub txtpass_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Command1.SetFocus
End If
If Not IsNumeric(Chr(KeyAscii)) And KeyAscii <> 8 Then KeyAscii =
End Sub
Private Sub txtusuario_KeyPress(KeyAscii As Integer)
If IsNumeric(Chr(KeyAscii)) And KeyAscii <> 8 Then KeyAscii = 0
If KeyAscii = 13 Then
txtpass.SetFocus
End If
End Sub

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal


hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters
As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Sub MCLIENTE_Click()
FRMCLIENTE.Show
End Sub
Private Sub M_XTIPO_Click()
Frmconcliente.Show

Ing. Manuel Ulloa Florin


Net y 6.0

-86-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
End Sub

Private Sub MACERCA_Click()


Frmacerca.Show
End Sub
Private Sub MAYUDA_GENERAL_Click()
On Local Error GoTo L
'

If FindWindow(vbNullString, "manualsystemis - Microsoft Word") Then

'

MsgBox "La Ayuda Ya Esta En Uso...!", 64

'

Exit Sub

'

End If

' Call ShellExecute(hwnd, "OPEN", App.Path + "\manualsystemis.doc", "", "", 1)


Call ShellExecute(hwnd, "OPEN", App.Path + "\AYUDA\manual.pdf", "", "", 1)
Exit Sub
L:
MsgBox Err.Description, vbInformation
End Sub
Private Sub MCATEGORIAS_Click()
Frmcategorias.Show
End Sub
Private Sub MCLIENTES_Click()
FRMCLIENTE.Show
End Sub
Private Sub MCPVENTAS_Click()
Frmconemple.Show
End Sub
Private Sub MCXCATEGORIAS_Click()
Frmconproducto.Show
End Sub
Private Sub MCXMARCA_Click()
Frmconpromarca.Show
End Sub
Private Sub MDIForm_Load()
Skin1.LoadSkin App.Path & "\Skins\DogmaX.skn"
Skin1.ApplySkin Me.hwnd
End Sub
Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Dim D As Integer
If Cancel = 0 And SISTEMA = False Then
D = MsgBox("UTILICE LA OPCION SALIR DEL MEN ARCHIVO!", vbExclamation,
"DESACTIVADO")
Cancel = 1
SISTEMA = False
End If
End Sub
Private Sub MEMPLEADOS_Click()
Frmempleados.Show
End Sub

Ing. Manuel Ulloa Florin


Net y 6.0

-87-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
Private Sub MMARCAS_Click()
Frmmarca.Show
End Sub
Private Sub MPRODUCTOS_Click()
Frmproducto.Show
End Sub
Private Sub MPROVEEDORES_Click()
Frmproveedores.Show
End Sub
Private Sub MRCLIENTES_Click()
DTCLIENTES.Show
End Sub
Private Sub MRPRODUCTOS_Click()
DataReport2.Show
End Sub
Private Sub MRPROVEEDOR_Click()
DTPROVEEDOR.Show
End Sub
Private Sub MSALIR_Click()
Dim i As Integer
i = MsgBox("SEGURO DE SALIR DEL SISTEMA?", vbYesNo + vbQuestion, "SALIR DEL
SISTEMA")
If i = vbYes Then
SISTEMA = True
End
End If
End Sub
Private Sub MUSUARIOS_Click()
Frmacceso.Show
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As ComctlLib.Button)
Select Case Button.Index
Case 1
FRMCLIENTE.Show
Case 2
Frmproveedores.Show
Case 3
Frmtipo.Show
Case 4
Frmproducto.Show
Case 5
Frmempleados.Show
Case 6
Dim i As Integer
i = MsgBox("SEGURO DE SALIR DEL SISTEMA?", vbYesNo + vbQuestion, "SALIR DEL
SISTEMA")
If i = vbYes Then

Ing. Manuel Ulloa Florin


Net y 6.0

-88-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
SISTEMA = True
End
End If
End Select
End Sub

Dim RSCLIENTES As New ADODB.Recordset


Dim RSTIPO As New ADODB.Recordset
Dim ultimo As Integer
Private Sub Cmbtipo_Change()
RSTIPO.MoveFirst
RSTIPO.Find "descripcion ='" + Cmbtipo.BoundText + "'"
If Not RSTIPO.EOF Then
txtco.Text = RSTIPO.Fields("Id_tipocliente")
End If
End Sub
Private Sub Cmbtipo_Click(Area As Integer)
Cmbtipo_Change
If Cmbtipo.Text = "JURIDICO" Then
txtpat.Enabled = False
txtmat.Enabled = False
Else
If Cmbtipo.Text = "NATURAL" Then
txtnombre.SetFocus
txtpat.Enabled = True
txtmat.Enabled = True
End If
End If
End Sub
Private Sub Cmdbuscar_Click()
Dim b As String
Dim C As Integer
str1 = RSCLIENTES.Bookmark
b = InputBox("INGRESE NUMERO DE DNI O RUC A BUSCAR", buscador)
RSCLIENTES.MoveFirst
RSCLIENTES.Find "DNI='" + Trim(b) + "'"
If RSCLIENTES.EOF Then

Ing. Manuel Ulloa Florin


Net y 6.0

-89-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

C = MsgBox("DNI O RUC NO EXISTE", vbYesNo, "cancela")


If C = vbYes Then
RSCLIENTES.MoveFirst
Call mostrardatos
Call muestratipo
Else
If C = vbNo Then
b = InputBox("INGRESE NUMERO DE DNI O RUC A BUSCAR", buscador)
RSCLIENTES.MoveFirst
RSCLIENTES.Find "DNI='" + Trim(b) + "'"
End If
End If
End If
Call mostrardatos
Call muestratipo
End Sub
Private Sub cmdcancelar_Click()
Call Limpiar
Call desacticatextos
RSCLIENTES.CancelUpdate
End Sub
Private Sub cmdeditar_Click()
If txtcodigo.Text <> "" Then
Call activatextos
Else
MsgBox "ELIJA REGISTRO A EDITAR", , "MENSAJE"
End If
End Sub
Private Sub cmdguardar_Click()
If MsgBox("Desea Guardar..?", 4 + 32, "Pregunta") = 6 Then
Call Graba
Call desacticatextos
End If
End Sub
Private Sub cmdnuevo_Click()
Call activatextos
Call Limpiar
Call genera
RSCLIENTES.AddNew
End Sub
Private Sub cmdsalir_Click()
Set RSCLIENTES = Nothing
Set RSTIPO = Nothing
Unload Me
End Sub

Ing. Manuel Ulloa Florin


Net y 6.0

-90-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
Private Sub Command1_Click()
DTCLIENTES.Show
End Sub
Private Sub Form_Load()
RSCLIENTES.Open "CLIENTES", Cn, adOpenKeyset, adLockOptimistic
RSTIPO.Open "tipo_cliente", Cn, adOpenKeyset, adLockOptimistic
Set MSHFlexGrid1.DataSource = RSCLIENTES
With MSHFlexGrid1
.ColWidth(0) = 1000
.ColWidth(1) = 2000
.ColWidth(2) = 2000
.ColWidth(3) = 2000
.ColWidth(4) = 2000
.ColWidth(5) = 1000
.ColWidth(6) = 1000
.ColWidth(7) = 1500
.ColWidth(8) = 1500
.ColWidth(9) = 1000
End With
Skin1.LoadSkin App.Path & "\Skins\DogmaX.skn"
Skin1.ApplySkin Me.hwnd
Call desacticatextos
End Sub
Sub Limpiar()
txtcodigo.Text = ""
txtnombre.Text = ""
txtpat.Text = ""
txtmat.Text = ""
txtdni.Text = ""
txtdireccion.Text = ""
txttelefono.Text = ""
txtmail.Text = ""
txtnombre.SetFocus
End Sub
Sub activatextos()
txtcodigo.Enabled = False
txtnombre.Enabled = True
txtpat.Enabled = True
txtmat.Enabled = True
txtdni.Enabled = True
txtdireccion.Enabled = True
txttelefono.Enabled = True
txtmail.Enabled = True
Cmbtipo.Enabled = True
cmdeditar.Enabled = False
cmdcancelar.Enabled = True
cmdguardar.Enabled = True

Ing. Manuel Ulloa Florin


Net y 6.0

-91-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
txtnombre.SetFocus
End Sub
Private Sub genera()
If RSCLIENTES.BOF Then
txtcodigo.Text = "00001"
Else
RSCLIENTES.MoveLast
ultimo = RSCLIENTES!id_cliente
ultimo = ultimo + 1
txtcodigo.Text = Right("00000" + RTrim(ultimo), 5)
End If
End Sub
Sub Graba()
If txtnombre.Text = "" Or txtpat.Text = "" Or txtmat.Text = "" Or txtdni.Text = "" Or
txtdireccion.Text = "" Or txttelefono.Text = "" Or txtmail.Text = "" Or txtco.Text = ""
Then
MsgBox "FALTAN DATOS VUELVA A INTENTARLO", vbCritical
Set RSCLIENTES = Nothing
Unload Me
Else
RSCLIENTES.Fields("Id_cliente") = Trim$(txtcodigo)
RSCLIENTES.Fields("clie_Nombre") = Trim$(txtnombre)
RSCLIENTES.Fields("clie_apellidoPat") = Trim$(txtpat)
RSCLIENTES.Fields("clie_apellidoMat") = Trim$(txtmat)
RSCLIENTES.Fields("DNI") = Trim$(txtdni)
RSCLIENTES.Fields("Direccion") = Trim$(txtdireccion)
RSCLIENTES.Fields("Telefono") = Trim$(txttelefono)
RSCLIENTES.Fields("Email") = Trim$(txtmail)
RSCLIENTES.Fields("id_tipocliente") = Trim$(txtco)
RSCLIENTES.Update
End If
End Sub
Private Sub mover_Click(Index As Integer)
Select Case Index
Case 0
RSCLIENTES.MoveFirst
Case 1
RSCLIENTES.MovePrevious
If RSCLIENTES.BOF Then RSCLIENTES.MoveFirst
Case 2
RSCLIENTES.MoveNext
If RSCLIENTES.EOF Then RSCLIENTES.MoveLast
Case 3
RSCLIENTES.MoveLast
End Select
Call muestratipo
Call mostrardatos

Ing. Manuel Ulloa Florin


Net y 6.0

-92-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
End Sub

Sub mostrardatos()
Dim id_cliente As String
txtcodigo = RSCLIENTES(0)
txtnombre = RSCLIENTES(1)
txtpat = RSCLIENTES(2)
txtmat = RSCLIENTES(3)
txtdni = RSCLIENTES(4)
txtdireccion = RSCLIENTES(5)
txttelefono = RSCLIENTES(6)
txtmail = RSCLIENTES(7)
txtco = RSCLIENTES(8)
Cmbtipo = RSTIPO(1)
End Sub
Sub desacticatextos()
txtcodigo.Enabled = False
txtnombre.Enabled = False
txtpat.Enabled = False
txtmat.Enabled = False
txtdni.Enabled = False
txtdireccion.Enabled = False
txttelefono.Enabled = False
txtmail.Enabled = False
Cmbtipo.Enabled = False
cmdeditar.Enabled = True
cmdcancelar.Enabled = False
cmdguardar.Enabled = False
End Sub
Private Sub MSHFlexGrid1_DblClick()
CLI
End Sub
Private Sub TXTCO_Change()
RSTIPO.MoveFirst
RSTIPO.Find "Id_tipocliente = '" + Trim$(txtco.Text) + "'"
If Not RSCLIENTES.EOF Then
Cmbtipo.Text = RSTIPO.Fields("descripcion")
End If
End Sub
Private Sub txtdireccion_KeyPress(KeyAscii As Integer)
If txtdireccion.Text = "" Then
txtdireccion.SetFocus
Else
If KeyAscii = 13 Then
txttelefono.SetFocus
End If
End If
End Sub

Ing. Manuel Ulloa Florin


Net y 6.0

-93-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

Private Sub txtdni_KeyPress(KeyAscii As Integer)


If KeyAscii = 13 Then
If Cmbtipo.Text = "JURIDICO" Then
If Len(txtdni.Text) = 11 Then
txtdireccion.SetFocus
Else
MsgBox "INGRESE TODOS LOS NUMEROS"
txtdni.Text = ""
txtdni.SetFocus
End If
End If
End If
If Cmbtipo.Text = "NATURAL" Then
If Len(txtdni.Text) = 8 Then
txtdireccion.SetFocus
End If
End If
If Not IsNumeric(Chr(KeyAscii)) And KeyAscii <> 8 Then KeyAscii = 0
End Sub
Private Sub txtmat_KeyPress(KeyAscii As Integer)
If IsNumeric(Chr(KeyAscii)) And KeyAscii <> 8 Then KeyAscii = 0
If txtmat.Text = "" Then
txtmat.SetFocus
Else
If KeyAscii = 13 Then
txtdni.SetFocus
End If
End If
End Sub
Private Sub txtnombre_KeyPress(KeyAscii As Integer)
If IsNumeric(Chr(KeyAscii)) And KeyAscii <> 8 Then KeyAscii = 0
If txtnombre.Text = "" Then
txtnombre.SetFocus
Else
If KeyAscii = 13 Then
If txtpat.Enabled = False Then
txtdni.SetFocus
Else
txtpat.SetFocus
End If
End If
End If
End Sub
Private Sub txtpat_KeyPress(KeyAscii As Integer)
If IsNumeric(Chr(KeyAscii)) And KeyAscii <> 8 Then KeyAscii = 0
If txtpat.Text = "" Then
txtpat.SetFocus

Ing. Manuel Ulloa Florin


Net y 6.0

-94-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
Else

If KeyAscii = 13 Then
txtmat.SetFocus
End If
End If
End Sub
Private Sub txttelefono_KeyPress(KeyAscii As Integer)
If txttelefono.Text = "" Then
txttelefono.SetFocus
Else
If KeyAscii = 13 Then
If Len(txttelefono.Text) = 6 Or Len(txttelefono.Text) = 9 Then
txtmail.SetFocus
Else
MsgBox "INGRESE TODOS LOS NUMEROS"
txttelefono.Text = ""
txttelefono.SetFocus
End If
End If
End If
If Not IsNumeric(Chr(KeyAscii)) And KeyAscii <> 8 Then KeyAscii = 0
End Sub
Sub muestratipo()
Cmbtipo.BoundColumn = "descripcion"
Cmbtipo.ListField = "descripcion"
Set Cmbtipo.RowSource = RSTIPO
End Sub
Sub CLI()
Dim rsFicha As ADODB.Recordset
Set rsFicha = New Recordset
Dim id As Integer
If MSHFlexGrid1.Row <= 0 Then
MsgBox "No hay ningn registro seleccionado para imprimir", vbExclamation,
"Imprimir ficha"
Exit Sub
End If
id = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 0)
rsFicha.Open "Select * FROM CLIENTES Where Id_CLIENTE =" & id, Cn,
adOpenKeyset, adLockOptimistic
If rsFicha.RecordCount > 0 Then
Set DataReport1.DataSource = rsFicha
DataReport1.Show
End If
End Sub

Ing. Manuel Ulloa Florin


Net y 6.0

-95-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

Private Sub Cmdimprimir_Click(Index As Integer)


Select Case Index
Case 0
DTNATURAL.Show
Case 1
DTJURIDICOS.Show
End Select
End Sub
Private Sub Command1_Click()
Set RSCLIENTES = Nothing
Unload Me
End Sub
Private Sub Form_Load()
Set RSCLIENTES = Cn.Execute("SELECT * FROM VNATURAL")
Set MSHNATURAL.DataSource = RSCLIENTES
With MSHNATURAL
.ColWidth(0) = 1000
.ColWidth(1) = 2000
.ColWidth(2) = 2000
.ColWidth(3) = 2000
.ColWidth(4) = 2000
.ColWidth(5) = 1000
.ColWidth(6) = 1000
.ColWidth(7) = 1500
.ColWidth(8) = 1500
.ColWidth(9) = 1000
End With
Set RSCLIENTES = Cn.Execute("SELECT * FROM VJURIDICO")
Set MSHJURIDICO.DataSource = RSCLIENTES
With MSHJURIDICO
.ColWidth(0) = 1000
.ColWidth(1) = 2000
.ColWidth(2) = 2000

Ing. Manuel Ulloa Florin


Net y 6.0

-96-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
.ColWidth(3) = 2000
.ColWidth(4) = 2000
.ColWidth(5) = 1000
.ColWidth(6) = 1000
.ColWidth(7) = 1500
.ColWidth(8) = 1500
.ColWidth(9) = 1000
End With
Skin1.LoadSkin App.Path & "\Skins\DogmaX.skn"
Skin1.ApplySkin Me.hwnd
End Sub
Sub NU()
Dim rsFicha As ADODB.Recordset
Set rsFicha = New Recordset
Dim id As Integer
If MSHNATURAL.Row <= 0 Then
MsgBox "No hay ningn registro seleccionado para imprimir", vbExclamation,
"Imprimir ficha"
Exit Sub
End If
id = MSHNATURAL.TextMatrix(MSHNATURAL.Row, 0)
rsFicha.Open "Select * FROM CLIENTES Where Id_CLIENTE =" & id, Cn,
adOpenStatic, adLockReadOnly
If rsFicha.RecordCount > 0 Then
Set DataReport1.DataSource = rsFicha
DataReport1.Show
End If
End Sub
Sub JU()
Dim rsFicha1 As ADODB.Recordset
Set rsFicha1 = New Recordset
Dim id As Integer
If MSHJURIDICO.Row <= 0 Then
MsgBox "No hay ningn registro seleccionado para imprimir", vbExclamation,
"Imprimir ficha"
Exit Sub
End If
id = MSHJURIDICO.TextMatrix(MSHJURIDICO.Row, 0)
rsFicha1.Open "Select * FROM CLIENTES Where Id_CLIENTE =" & id, Cn,
adOpenStatic, adLockReadOnly
If rsFicha1.RecordCount > 0 Then
Set DataReport1.DataSource = rsFicha1
DataReport1.Show
End If
End Sub
Private Sub MSHJURIDICO_DblClick()
JU

Ing. Manuel Ulloa Florin


Net y 6.0

-97-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
End Sub

Private Sub MSHNATURAL_DblClick()


NU
End Sub

Dim RSCLIENTES As New ADODB.Recordset


Dim RSEMPLEADO As New ADODB.Recordset
Dim RSPRODUCTO As New ADODB.Recordset
Dim RSVENTA As New ADODB.Recordset
Dim RSDETALLEVENTA As New ADODB.Recordset
Dim subtotal, dscto, igv, total As Double
Dim codigo1 As String
Private Sub cmbcliente_Change()
RSCLIENTES.MoveFirst
RSCLIENTES.Find "CLIE_NOMBRE='" + cmbcliente.BoundText + "'"
If Not RSCLIENTES.EOF Then
txtcodigocliente.Text = RSCLIENTES.Fields("Id_cliente")
txtnombrecliente.Text = RSCLIENTES.Fields("CLIE_NOMBRE")
txtdireccion.Text = RSCLIENTES.Fields("DIRECCION")
txtdni.Text = RSCLIENTES.Fields("DNI")
End If
End Sub
Private Sub cmbcliente_Click(Area As Integer)
cmbcliente_Change
End Sub
Private Sub cmbproducto_Change()
RSPRODUCTO.MoveFirst
RSPRODUCTO.Find "nombre ='" + cmbproducto.BoundText + "'"
If Not RSPRODUCTO.EOF Then
txtcodigoproducto.Text = RSPRODUCTO.Fields("Id_Producto")
txtnombreproducto.Text = RSPRODUCTO.Fields("NOMBRE")
txtdescripcion.Text = RSPRODUCTO.Fields("DESCRIPCION")
txtstock.Text = RSPRODUCTO.Fields("Stock")
txtvalorunitario.Text = RSPRODUCTO.Fields("Precio")

Ing. Manuel Ulloa Florin


Net y 6.0

-98-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
End If

End Sub
Private Sub cmbproducto_Click(Area As Integer)
cmbproducto_Change
End Sub
Private Sub cmbvendedor_Change()
RSEMPLEADO.MoveFirst
RSEMPLEADO.Find "EMPLE_NOMBRE='" + cmbvendedor.BoundText + "'"
If Not RSEMPLEADO.EOF Then
txtcodigovendedor.Text = RSEMPLEADO.Fields("Id_EMPLEADO")
txtnombrevendedor.Text = RSEMPLEADO.Fields("EMPLE_NOMBRE")
End If
End Sub
Private Sub cmbvendedor_Click(Area As Integer)
cmbvendedor_Change
End Sub
Private Sub Cmdagregar_Click()
If txtcodigocliente.Text = "" Or txtcodigovendedor.Text = "" Then Exit Sub
Dim T, dscto1 As Double
If Val(txtcantidad.Text) > Val(txtstock.Text) Then
MsgBox "Sobrepasa el Stock", , "INTENTE DE NUEVO"
Exit Sub
End If
FILA = MSFlexGrid1.Rows
REGISTROS.Text = FILA
If FILA = 21 Then
Dim MEN As Integer
MEN = MsgBox("LLEGO AL LIMITE DE FILAS", 1, "ADVERTENCIA")
End If
If Len(txtcantidad.Text) > 0 Then
MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 0) = txtcodigoproducto.Text
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 1) = txtnombreproducto.Text
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 2) = txtcantidad.Text
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 3) = txtvalorunitario.Text
cmbcliente.Enabled = False
cmbvendedor.Enabled = False
'*********************************************************************
**
PRECIO1 = Val(txtvalorunitario.Text)
' - dscto1
T = PRECIO1 * Val(txtcantidad.Text)
R = Val(txttotal.Text)
R = Val(R) + T
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 4) = T
'Subtotaligv = Val(txtPrecio.Text) / 1.19

Ing. Manuel Ulloa Florin


Net y 6.0

-99-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas

'subtotal = subtotal + Subtotaligv


'dsctoigv = dscto1 / 1.19

' subtotaldscto = subtotaldscto + dscto1


txtsubtotal.Text = Format(R, "###0.000")
'txtIgv.Text = Format(R - (subtotal - subtotaldscto), "###0.000")
txttotal.Text = Format(R, "###0.00")
'Txtdscto.Text = Format(subtotaldscto, "###0.000")
txtnombreproducto.Text = ""
txtvalorunitario.Text = ""
txtcodigoproducto.Text = ""
cmbcliente.Enabled = False
cmbvendedor.Enabled = False
cmbproducto.Enabled = False
Cmdagregar.Enabled = False
Command1.Enabled = True
End If
End Sub
Private Sub cmdcancelar_Click()
Call ConfiguraGrid
REGISTROS.Text = ""
Cmdnuevo.Enabled = True
Cmdgrabar.Enabled = False
Cmdagregar.Enabled = False
RSVENTA.CancelUpdate
limpiar1
DESACTIVA
End Sub
Private Sub Cmdgrabar_Click()
Dim i As Integer
Dim cantidad, stock, stocka As Integer
'

******** Validando datos ingresados *****


If Trim(cmbcliente.Text) = "" Or Trim(cmbvendedor.Text) = "" Or

Trim(cmbproducto.Text) = "" Then


MsgBox "Por favor, verifique que ha ingresado todos los datos antes de registrar la
venta", vbExclamation + vbOKOnly, "Error al intentar Grabar"
Exit Sub
Else
Cmdnuevo.Enabled = False
Cmdgrabar.Enabled = True
End If
'

******* Validando cantidad ingresada *******

If Val(txtcantidad.Text) = 0 Then
MsgBox "Por favor, ingrese la cantidad de productos", vbExclamation, "Error..."
Exit Sub
Else
Cmdnuevo.Enabled = False
Cmdgrabar.Enabled = True

Ing. Manuel Ulloa Florin


Net y 6.0

-100-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
End If

'

******* Verificando datos agregados *********


If Val(txtsubtotal.Text) = 0 And Val(txttotal.Text) = 0 Then
MsgBox "Por favor, agrege los productos a vender", vbExclamation, "Aviso..."
Exit Sub
Else
Cmdnuevo.Enabled = False
Cmdgrabar.Enabled = True
End If

'

******** Requiriendo confirmacion ******


Dim conf As Integer
conf = MsgBox("Va a grabar la venta para el cliente " & Trim(cmbcliente.Text) & "

Esta seguro?", 52, "Registrando...Venta")


If conf = 6 Then
'

******** Grabando tabla venta *****


guardar

'

******** Grabando tabla detalleventa *****


For i = 1 To MSFlexGrid1.Rows - 1 Step 1
RSDETALLEVENTA.AddNew
RSDETALLEVENTA!id_venta = Trim$(CODIGO)
RSDETALLEVENTA!id_PRODUCTO = Trim$(MSFlexGrid1.TextMatrix(i, 0))
cantidad = Format(MSFlexGrid1.TextMatrix(i, 2), "####,##")
RSDETALLEVENTA!cantidad = Val(MSFlexGrid1.TextMatrix(i, 2))
'rsdetalle!id_producto = Trim$(txtcodproducto)
'rsdetalle!cantidad = Trim$(txtcant)
RSDETALLEVENTA!Precio = Format(MSFlexGrid1.TextMatrix(i, 3), "#####,##")
codigo1 = Trim$(MSFlexGrid1.TextMatrix(i, 0))
'rsdetalle!Precio = Trim$(txtprecio)
RSDETALLEVENTA!sub_total = Trim$(txtsubtotal)
'rsdetalle!igv = Trim$(txtigv)
RSDETALLEVENTA!total = Trim$(txttotal)
RSDETALLEVENTA.Update

'

********* Modificando Stock ********


RSPRODUCTO.MoveFirst
RSPRODUCTO.Find "id_producto='" + codigo1 + "'"
stock = RSPRODUCTO.Fields("Stock")
stocka = stock - cantidad
RSPRODUCTO.Fields("Stock") = stocka
RSPRODUCTO.Update
Next
Cmdnuevo.Enabled = True
Cmdgrabar.Enabled = False
End If
If conf = 7 Then
RSDETALLEVENTA.CancelUpdate
End If

End Sub

Ing. Manuel Ulloa Florin


Net y 6.0

-101-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
Private Sub cmdnuevo_Click()
limpiar1
Cmdnuevo.Enabled = False
Cmdgrabar.Enabled = True
Cmdagregar.Enabled = True
Call activa
Limpiar
Me.CODIGO.Text = GENERACODIGO
Me.txtnumeroserie.Text = GENERACODIGO
RSVENTA.AddNew
Me.txtserie.Text = "00001"
End Sub
Private Sub cmdsalir_Click()
Dim i As Integer
i = MsgBox("Seguro de Salir?", vbYesNo + vbQuestion, "Salir de Boleta")
If i = vbYes Then
Set RSVENTA = Nothing
Set RSCLIENTES = Nothing
Set RSEMPLEADO = Nothing
Set RSPRODUCTO = Nothing
Set RSDETALLEVENTA = Nothing
Unload Me
End If
End Sub
Private Sub Command1_Click()
cmbproducto.Enabled = True
Cmdagregar.Enabled = True
txtdescripcion.Text = ""
txtstock.Text = ""
txtcantidad.Text = ""
Command1.Enabled = False
End Sub
Private Sub Form_Load()
RSVENTA.Open "VENTAS", Cn, adOpenKeyset, adLockOptimistic
RSDETALLEVENTA.Open "DETALLE_DE_VENTA", Cn, adOpenKeyset, adLockOptimistic
RSCLIENTES.Open "CLIENTES", Cn, adOpenKeyset, adLockOptimistic
RSEMPLEADO.Open "EMPLEADOS", Cn, adOpenKeyset, adLockOptimistic
RSPRODUCTO.Open "PRODUCTOS", Cn, adOpenKeyset, adLockOptimistic
Call MUESTRA_CLIENTE
Call MOSTRAR_PRODUCTO
Call MUESTRA_VENDEDOR
Call DESACTIVA
Skin1.LoadSkin App.Path & "\Skins\DogmaX.skn"
Skin1.ApplySkin Me.hwnd
End Sub
Private Function GENERACODIGO() As String
If RSVENTA.BOF = True Then

Ing. Manuel Ulloa Florin


Net y 6.0

-102-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
GENERACODIGO = "000001"
Else
RSVENTA.MoveLast
ultimo = RSVENTA!id_venta
ultimo = ultimo + 1
GENERACODIGO = Right("000000" + RTrim(ultimo), 6)
End If
End Function
Private Sub txtcodigocliente_Change()
RSCLIENTES.MoveFirst
RSCLIENTES.Find "Id_cliente = '" + Trim$(txtcodigocliente.Text) + "'"
If Not RSCLIENTES.EOF Then
cmbcliente.Text = RSCLIENTES.Fields("CLIE_NOMBRE")
End If
End Sub
Sub MUESTRA_CLIENTE()
cmbcliente.BoundColumn = "CLIE_NOMBRE"
cmbcliente.ListField = "CLIE_NOMBRE"
Set cmbcliente.RowSource = RSCLIENTES
End Sub
Private Sub txtcodigoproducto_Change()
RSPRODUCTO.MoveFirst
RSPRODUCTO.Find "Id_PRODUCTO = '" + Trim$(txtcodigoproducto.Text) + "'"
If Not RSPRODUCTO.EOF Then
cmbproducto.Text = RSPRODUCTO.Fields("NOMBRE")
End If
End Sub
Private Sub txtcodigovendedor_Change()
RSEMPLEADO.MoveFirst
RSEMPLEADO.Find "Id_EMPLEADO = '" + Trim$(txtcodigovendedor.Text) + "'"
If Not RSEMPLEADO.EOF Then
cmbvendedor.Text = RSEMPLEADO.Fields("EMPLE_NOMBRE")
End If
End Sub
Sub MUESTRA_VENDEDOR()
cmbvendedor.BoundColumn = "EMPLE_NOMBRE"
cmbvendedor.ListField = "EMPLE_NOMBRE"
Set cmbvendedor.RowSource = RSEMPLEADO
End Sub
Sub MOSTRAR_PRODUCTO()
cmbproducto.BoundColumn = "NOMBRE"
cmbproducto.ListField = "NOMBRE"
Set cmbproducto.RowSource = RSPRODUCTO
End Sub
Private Sub genera()
If RSVENTA.BOF Then
CODIGO.Text = "00001"

Ing. Manuel Ulloa Florin


Net y 6.0

-103-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
Else

RSVENTA.MoveLast
ultimo = RSVENTA!id_venta
ultimo = ultimo + 1
CODIGO.Text = Right("00000" + RTrim(ultimo), 5)
End If
End Sub
Sub DESACTIVA()
cmbcliente.Enabled = False
cmbvendedor.Enabled = False
cmbproducto.Enabled = False
fecha.Enabled = False
txtcantidad.Enabled = False
Cmdagregar.Enabled = False
Cmdcancelar.Enabled = False
Cmdgrabar.Enabled = False
Command1.Enabled = False
End Sub
Sub activa()
cmbcliente.Enabled = True
cmbvendedor.Enabled = True
cmbproducto.Enabled = True
fecha.Enabled = True
txtcantidad.Enabled = True
Cmdagregar.Enabled = True
Cmdcancelar.Enabled = True
Cmdgrabar.Enabled = True
End Sub
Private Sub ConfiguraGrid()
MSFlexGrid1.Rows = 1
MSFlexGrid1.TextMatrix(0, 0) = "CODIGO"
MSFlexGrid1.TextMatrix(0, 1) = "DESCRIPCION"
MSFlexGrid1.TextMatrix(0, 2) = "CANTIDAD"
MSFlexGrid1.TextMatrix(0, 3) = "VALOR UNIT."
MSFlexGrid1.TextMatrix(0, 4) = "SUB TOTAL"
MSFlexGrid1.RowHeightMin = 200
End Sub
Sub guardar()
RSVENTA!id_venta = Trim$(CODIGO)
RSVENTA!id_DOCUMENTO = Trim$(SkinLabel28)
RSVENTA!SERIE = Trim$(txtserie)
RSVENTA!NUMERO_SERIE = Trim$(txtnumeroserie)
RSVENTA!FECH_EMISI = Trim$(fecha)
RSVENTA!id_EMPLEADO = Trim$(txtcodigovendedor)
RSVENTA!id_cliente = Trim$(txtcodigocliente)
RSVENTA.Update
End Sub

Ing. Manuel Ulloa Florin


Net y 6.0

-104-

Aplicaciones

Instituto Superior Privado


Computacin e Informtica
San Eduardo
Taller de Sistemas
Sub limpiar1()

txtserie.Text = ""
txtnumeroserie.Text = ""
CODIGO.Text = ""
cmbcliente.Text = ""
txtcodigocliente.Text = ""
txtnombrecliente.Text = ""
txtdireccion.Text = ""
txtdni.Text = ""
cmbvendedor.Text = ""
txtcodigovendedor.Text = ""
cmbproducto.Text = ""
txtcodigoproducto.Text = ""
txtnombreproducto.Text = ""
txtdescripcion.Text = ""
txtstock.Text = ""
txtcantidad.Text = ""
txtvalorunitario.Text = ""
txtsubtotal.Text = ""
txttotal.Text = ""
REGISTROS.Text = ""
End Sub
Sub Limpiar()
txtcantidad.SetFocus
End Sub

Ing. Manuel Ulloa Florin


Net y 6.0

-105-

Aplicaciones

S-ar putea să vă placă și