Está en la página 1de 28

UNIVERSIDAD AUTONOMA DE CHINANDEGA

Sistema de Ventas.

Estructuras de la Bases de Datos.

Crear los procedimientos para la tabla Empleado.

Create PROCEDURE AgregarEmpleado


(
@CodEmpleado varchar(5),
@NombreEmp varchar(20),
@ApellidoE varchar(20),
@DireccE varchar(25),
@SexoE bit,
@Telefono varchar(8),
@CodCargo varchar(5),
@Activo bit,
@Observacion varchar(80),
@Foto varchar(50)
)
AS
begin transaction
INSERT
EMPLEADO(CodEmpleado,NombreEmp,ApellidoE,DireccE,SexoE,Telefono,CodCargo,Activo,Obse
rvacion,Foto)
VALUES(@CodEmpleado,@NombreEmp,@ApellidoE,@DireccE,@SexoE,@Telefono,@CodCargo,@Activ
o,@Observacion,@Foto)
if @@error=0
commit transaction
else
rollback transaction

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

Procedimiento modificar Empleado.

Create PROCEDURE ModificarEmpleado


(
@CodEmpleado varchar(5),
@NombreEmp varchar(20),
@ApellidoE varchar(20),
@DireccE varchar(25),
@SexoE bit,
@Telefono varchar(8),
@CodCargo varchar(5),
@Activo bit,
@Observacion varchar(80),
@Foto varchar(50)
)
AS
BEGIN TRANSACTION
UPDATE Empleado
SET
NombreEmp=@NombreEmp,
ApellidoE = @ApellidoE,
DireccE=@DireccE,
SexoE=@SexoE,
Telefono=@Telefono,
CodCargo=@CodCargo,
Activo=@Activo,
Observacion=@Observacion,
Foto=@Foto
WHERE CodEmpleado=@CodEmpleado
IF @@ERROR=0
COMMIT TRANSACTION
ELSE
ROLLBACK TRANSACTION

Procedimiento Desactivar Empleado.

Create PROCEDURE [dbo].[DesactivaEmpleado]


(
@CodEmpleado varchar(5),
@Activo bit
)
AS
BEGIN TRANSACTION
UPDATE EMPLEADO
SET
CodEmpleado=@CodEmpleado,
Activo=@Activo
WHERE CodEmpleado=@CodEmpleado
IF @@ERROR=0
COMMIT TRANSACTION
ELSE
ROLLBACK TRANSACTION

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

Procedimiento Eliminar Empleado.

Create PROCEDURE [dbo].[EliminarEmpleado]


@CodEmpleado varchar(5)
AS
BEGIN TRANSACTION
DELETE FROM EMPLEADO WHERE CodEmpleado=@CodEmpleado
IF @@ERROR=0
COMMIT TRANSACTION
ELSE
ROLLBACK TRANSACTION

Entre visual basic y cree el siguiente proyecto.

Cree un menú parecido y modifique la siguiente propiedades.


IsMdiContainer= true
Windowstate= Maximize
Agregue un segundo formulario para la tabla Empleado.
Clic en proyecto Seleccione agregar un Formulario de Windows de le un nombre y dele guardar.
Enlácelo con el menú principal.
Cree un modulo con el nombre MODCONEXION y agregue el siguiente código.
Module MODCONEXION
Public bus, compra As Boolean
Public cart, nart As String, part, iart, cnart, sart As Double
Public factura As Facturacion
Public ncompras As Integer
Public sesion As String
Public Conexion As SqlConnection = _
New SqlConnection("Data Source=RAMON-PC;Initial Catalog=Ventas;Integrated
Security=True")

Public Sub LimpiarTextBox(ByVal ofrm As Form)


For Each oControl As Control In ofrm.Controls
If TypeOf oControl Is TextBox Then
oControl.Text = ""
End If
Next
End Sub

End Module

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

El diseño del formulario debe quedar de la siguiente manera.

Agregando los botones del T o o l S t r i p “Barra de Herramientas” para actualización y


Desplazamiento
• Para ello deberá agregar un componente T o o l S t r i p
• Luego haga clic derecho sobre el y seleccione E d i t a r E l e m e n t o s …
• Nos visualizará la Ventana siguiente, en ella deberás agregar los elementos “ m i e m b r o s
d el
T o o l S t r i p ” , para ello solo deberás hacer clic en el botón A g r e g a r cuantas veces
sea necesarios
según la imagen.
• Una vez que haz agregado todos los miembros del T o o l S t r i p , procede a establecer las
propiedades
N a m e , T o o l T i p t e x t e I m a g e p ara c/u de los elementos.
• El N a m e a establecer a cada elemento es el que se aprecia en la imagen

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

Los Objeto Texbox están enumerado ejemplo Texbox1 , Texbox2 asi sucesivamente por defecto
el nombre que le da visual basic.

AHORA PROCEDEREMOS A ESCRIBIR EL CODIGO CORRESPONDIENTE:


Agregar la Biblioteca de Clases SQLClient: Sirve para poder utilizar los objetos SQLconnection,
SqlCommand,SqlDataAdapter
Option Compare Text
Imports System.Data
Imports System.Data.SqlClient

En la Sección de Declaraciones Generales dentro de la clase Formulario escriba


Dim dacargo As SqlDataAdapter
Dim objDataAdapter As SqlDataAdapter
Dim objDataSet As New DataSet
Dim objDataRow As DataRow
Dim posicion, flag, resultado As Integer

De clic encima del formulario en el evento load.

Private Sub ActualizarEmplevb_Load(sender As Object, e As EventArgs) Handles


MyBase.Load
Conexion.Open()
objDataAdapter = New SqlDataAdapter("SELECT * FROM Empleado WHERE Activo=1",
Conexion)
objDataAdapter.Fill(objDataSet, "Empleado")
Conexion.Close()
llenarcombos(False)
posicion = (objDataSet.Tables("Empleado").Rows.Count - 1)
CargarDatos()
lblRuta.Visible = False
HabilitarControles(False)
HabilitarBotones(True)
'Estableciendo etiquetas a las cajas
TextBox1.Tag = "Código" : TextBox2.Tag = "Nombres"
TextBox3.Tag = "Apellidos" : TextBox4.Tag = "dirección"
TextBox5.Tag = "Teléfono" : TextBox6.Tag = "Observacion"
End Sub

Cree el siguiente procedimiento de usuario para llenar los combobox.

Private Sub llenarcombos(ByVal cargo As Boolean)


Conexion.Open()
desconectarcombos()
dacargo = New SqlDataAdapter("SELECT * FROM Cargo", MODCONEXION.Conexion)
If cargo = False Then
dacargo.Fill(objDataSet, "Cargo")
Else
objDataSet.Tables("Cargo").Clear()
dacargo.Fill(objDataSet, "Cargo")
cargo = False
End If
Conexion.Close()
ComboBox1.DataBindings.Add(New System.Windows.Forms.Binding("SelectedValue",
objDataSet, "Empleado.CodCargo"))
ComboBox1.DataSource = Me.objDataSet.Tables("Cargo")

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

ComboBox1.DisplayMember = "Descripcion"
ComboBox1.ValueMember = "CodCargo"
ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList
' si es que se ha agregado un nuevo cargo, lo selecionamos
If cargo = False Then ComboBox1.SelectedIndex = ComboBox1.Items.Count - 1
End Sub

Cree el siguiente procedimiento de usuario cargar datos.

Private Sub CargarDatos()


Dim valor As Boolean
Try
objDataRow = objDataSet.Tables("Empleado").Rows(posicion)
TextBox1.Text = objDataRow("CodEmpleado")
TextBox2.Text = objDataRow("NombreEmp")
TextBox3.Text = objDataRow("ApellidoE")
TextBox4.Text = objDataRow("DireccE")
valor = objDataRow("SexoE")

If valor Then
RadioButton1.Checked = True
RadioButton2.Checked = False
Else
RadioButton1.Checked = False
RadioButton2.Checked = True
End If
TextBox5.Text = objDataRow("Telefono")
ComboBox1.SelectedValue = objDataRow("CodCargo")
TextBox6.Text = objDataRow("Observacion").ToString

If objDataRow("Foto").ToString = Nothing Then


PictureBox1.Image = Nothing
lblRuta.Text = Nothing
Else
lblRuta.Text = objDataRow("Foto")
End If

If objDataRow("Activo") = True Then


lblEstado.Text = "Activo" : lblEstado.ForeColor = Color.Blue
End If
If objDataRow("Activo") = False Then
lblEstado.Text = "Inactivo" : lblEstado.ForeColor = Color.Red
End If
tslRegistro.Text = "Registro: " & posicion + 1 & " de " &
objDataSet.Tables("Empleado").Rows.Count
actualizafoto()
Catch exc As Exception
MessageBox.Show(exc.Message)
End Try
End Sub

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

Cree el siguiente procedimiento de usuario Habilitar controles.

Private Sub HabilitarControles(ByVal est As Boolean)


Dim ctrl As Control
For Each ctrl In Me.Controls
If TypeOf ctrl Is TextBox Then ctrl.Enabled = est
Next
TextBox1.ReadOnly = True
ComboBox1.Enabled = est
GroupBox1.Enabled = est
End Sub

Cree el siguiente procedimiento de usuario Habilitar Botones.

Private Sub HabilitarBotones(ByVal est As Boolean)


Dim oitem As Windows.Forms.ToolStripItem
For Each oitem In ToolStrip1.Items
If TypeOf oitem Is ToolStripButton Then
oitem.Enabled = est
End If
Next
tsbGuardar.Enabled = Not est
tsbCancelar.Enabled = Not est
'boton agregar foto
Button2.Visible = Not est
' boton agrehar cargo
Button1.Visible = Not est
End Sub

Cree el siguiente Funcion verificar datos.

Function verificavacios() As Boolean


Dim objetos As Object
For Each objetos In Me.Controls
If TypeOf objetos Is TextBox Then
If objetos.name <> "TextBox1" And objetos.name <> "TextBox6" And
objetos.TextLength = 0 Then
MsgBox("Debe ingresar: " & objetos.tag)
verificavacios = True
Exit Function
End If
End If

Next
If ComboBox1.SelectedIndex < 0 Then
MsgBox("Debe seleccionar un cargo")
verificavacios = True
End If

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

End Function

Cree el siguiente procedimiento de usuario generar código consecutivo.

Private Sub GeneraCodigo()


Dim codi As String
Dim cmd As New SqlCommand("select max(CodEmpleado) from Empleado", Conexion)
Conexion.Open()
codi = cmd.ExecuteScalar
Conexion.Close()
Me.TextBox1.Text = Format(Val(codi) + 1, "00000")
End Sub

Cree el siguiente procedimiento desactivar combobox

Private Sub desconectarcombos()


ComboBox1.DataBindings.Clear()
End Sub
Cree el siguiente procedimiento Limpiar controles

Private Sub LimpiarControles()


LimpiarTextBox(Me)
PictureBox1.Image = Nothing
End Sub

Cree el siguiente procedimiento para desplazamiento de registro.

Private Sub Desplazar(ByVal op As Integer)


Select Case op
Case 1
posicion = 0
CargarDatos()
Case 2
If posicion = 0 Then
MessageBox.Show("Primer Registro", "", 0,
MessageBoxIcon.Information)
Else
posicion -= 1
CargarDatos()
End If
Case 3
If posicion = (objDataSet.Tables("Empleado").Rows.Count - 1) Then
MessageBox.Show("Último Registro", "", 0,
MessageBoxIcon.Information)
Else
posicion += 1
CargarDatos()
End If
Case 4
posicion = (objDataSet.Tables("Empleado").Rows.Count - 1)
CargarDatos()

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

End Select
End Sub

Cree el siguiente procedimiento para desplazamiento de registro.

Private Sub actualizafoto()


Dim mifoto As Bitmap
If objDataRow("foto").ToString = Nothing Then
PictureBox1.Image = Nothing
Else
mifoto = New Bitmap(Me.lblRuta.Text)
PictureBox1.Image = CType(mifoto, Image)
End If
End Sub

Clic en botón agregar cargo


Private Sub AgregaCargo(ByVal codi As String, ByVal nombre As String)
'Agregando el nuevo registro a la tabla cargo
Dim objcomando As New SqlCommand("INSERT INTO Cargo (CodCargo,Descripcion)
VALUES(@codcar,@descar)", Conexion)
'Parámetros
objcomando.Parameters.Add(New SqlParameter("@codcar", SqlDbType.VarChar))
objcomando.Parameters("@codcar").Value = codi
objcomando.Parameters.Add(New SqlParameter("@descar", SqlDbType.VarChar))
objcomando.Parameters("@descar").Value = nombre
Conexion.Open()
objcomando.ExecuteNonQuery()
ModConexion.Conexion.Close()
llenarcombos(True)
End Sub

Private Sub Editar()


flag = 2
HabilitarControles(True)
HabilitarBotones(False)
TextBox2.Focus()
End Sub
Private Sub Nuevo()
flag = 1
lblRuta.Text = Nothing
HabilitarControles(True)
HabilitarBotones(False)
LimpiarControles()
GeneraCodigo()
End Sub
Private Sub Actualizar()
'Para actualizar el DataSet
objDataSet.Clear()
objDataAdapter.Fill(objDataSet, "Empleado")
End Sub

Private Sub Cancelar()

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

Conexion.Open()
objDataSet.RejectChanges()
Conexion.Close()
HabilitarControles(False)
HabilitarBotones(True)
Desplazar(4)
End Sub

Clic en Objeto ToolStrip1 en el evento ItemClicked

Private Sub ToolStrip1_ItemClicked(sender As Object, e As


ToolStripItemClickedEventArgs) Handles ToolStrip1.ItemClicked

Select Case e.ClickedItem.Name


' Actualización
Case "tsbNuevo" ' Botón Nuevo
Nuevo()
Case "tsbGuardar" ' Botón Guardar
Guardar()
Case "tsbEditar" ' Botón Editar
Editar()
Case "tsbCancelar" ' Botón Cancelar
Cancelar()
Case "tsbEliminar" ' Botón Desactivar Empleado
Dim rpta As MsgBoxResult
rpta = MsgBox("Esta seguro que desea Desactivar Al Empleado :" &
Chr(13) & Chr(10) & TextBox1.Text & " - " & TextBox2.Text & " " & _
TextBox3.Text, MsgBoxStyle.YesNo + MsgBoxStyle.Question,
"Confirmación")
If rpta = vbYes Then DesactivaEmpleado(TextBox1.Text, 0)
Case "tsbsalir" ' Botón Salir
Me.Close()
' Desplazamiento
Case "tsbPrimero" ' Ir a al Primero
Desplazar(1)
Case "tsbAnterior" ' Ir al Anterior
Desplazar(2)
Case "tsbSiguiente" ' Ir al Siguiente
Desplazar(3)
Case "tsbUltimo" ' Ir al Último
Desplazar(4)
End Select
End Sub

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

Crea procedimiento que permita guardar y edita un empleado


Private Sub Guardar()
If verificavacios() = True Then Exit Sub
Dim objComando As New SqlCommand
Dim oper As String, valor, activo As Boolean
objComando.Connection = ModConexion.Conexion
objComando.CommandType = CommandType.StoredProcedure
If flag = 1 Then 'Agregar
objComando.CommandText = "AgregarEmpleado"
oper = " insertados : "
Else ' Editar
objComando.CommandText = "modificarEmpleado"
oper = " modificados : "
End If
Try
'Agregando Parametros
objComando.Parameters.Add(New SqlParameter("@CodEmpleado",
SqlDbType.VarChar))
objComando.Parameters.Add(New SqlParameter("@NombreEmp",
SqlDbType.VarChar))
objComando.Parameters.Add(New SqlParameter("@ApellidoE",
SqlDbType.VarChar))
objComando.Parameters.Add(New SqlParameter("@DireccE",
SqlDbType.VarChar))
objComando.Parameters.Add(New SqlParameter("@SexoE", SqlDbType.Bit))
objComando.Parameters.Add(New SqlParameter("@Telefono",
SqlDbType.VarChar))
objComando.Parameters.Add(New SqlParameter("@CodCargo",
SqlDbType.VarChar))
objComando.Parameters.Add(New SqlParameter("@Activo", SqlDbType.Bit))
objComando.Parameters.Add(New SqlParameter("@Observacion",
SqlDbType.VarChar))
objComando.Parameters.Add(New SqlParameter("@Foto", SqlDbType.VarChar))
'asignando valores a parametros
If RadioButton1.Checked = True Then
valor = True
Else
valor = False
End If

activo = True ' Todos los empleados nuevos son activos, ¿activar un
empleado?
objComando.Parameters("@CodEmpleado").Value = TextBox1.Text
objComando.Parameters("@NombreEmp").Value = TextBox2.Text
objComando.Parameters("@ApellidoE").Value = TextBox3.Text
objComando.Parameters("@DireccE").Value = TextBox4.Text
objComando.Parameters("@SexoE").Value = valor
objComando.Parameters("@Telefono").Value = TextBox5.Text
objComando.Parameters("@CodCargo").Value = ComboBox1.SelectedValue

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

objComando.Parameters("@Activo").Value = activo
objComando.Parameters("@Observacion").Value = TextBox6.Text
objComando.Parameters("@Foto").Value = lblRuta.Text
Conexion.Open()
resultado = objComando.ExecuteNonQuery
Actualizar()
Conexion.Close()
posicion = (objDataSet.Tables("Empleado").Rows.Count - 1)
MessageBox.Show("Registros " & oper & resultado, "", 0,
MessageBoxIcon.Information)
Catch exc As Exception
MessageBox.Show(exc.Message)
End Try
llenarcombos(False)
Desplazar(4)
HabilitarControles(False)
HabilitarBotones(True)
End Sub

Crea procedimiento que permita desactivar el empleado y pida como parámetro el codi y estado

Private Sub DesactivaEmpleado(ByVal codi As String, ByVal estado As Boolean)


Dim objComando As New SqlCommand
objComando.Connection = ModConexion.Conexion
objComando.CommandType = CommandType.StoredProcedure
objComando.CommandText = "DesactivaEmpleado"
Try
'Agregando Parametros
objComando.Parameters.Add(New SqlParameter("@CodEmpleado",
SqlDbType.VarChar))
objComando.Parameters.Add(New SqlParameter("@Activo", SqlDbType.Bit))
'asignando valores a parametros
objComando.Parameters("@CodEmpleado").Value = codi
objComando.Parameters("@Activo").Value = estado
Conexion.Open()
resultado = objComando.ExecuteNonQuery
Actualizar()
Conexion.Close()
MessageBox.Show(resultado & " Empleado Desactivado", "", 0,
MessageBoxIcon.Information)
Desplazar(1)
Catch exc As Exception
MessageBox.Show(exc.Message)
End Try
llenarcombos(False)
HabilitarControles(False)
HabilitarBotones(True)
End Sub

Codigo del Boton Agregar Foto.


Private Sub Button2_Click(sender As Object, e As EventArgs) Handles
Button2.Click
Dim mifoto As Bitmap
Dim curfilename As String = ""
Dim opendlg As OpenFileDialog = New OpenFileDialog
opendlg.Filter = "All Bitmapfiles|*.*"
Dim filter As String = opendlg.Filter
opendlg.Title = "open a Bitmap file"

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

If opendlg.ShowDialog() = Windows.Forms.DialogResult.OK Then


curfilename = opendlg.FileName
lblRuta.Text = curfilename
mifoto = New Bitmap(curfilename)
PictureBox1.Image = CType(mifoto, Image)
Else
Exit Sub
End If
End Sub
Codigo del Boton Agregar Nuevo Cargo.

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles


Button1.Click
'Generando código para el nuevo cargo
Dim codi As String
Dim cmd As New SqlCommand("select max(CodCargo) from Cargo",
MODCONEXION.Conexion)
Conexion.Open()
codi = cmd.ExecuteScalar
codi = Format(Val(codi) + 1, "00000")
Conexion.Close()
' Solicitando el nombre del nuevo cargo
Dim nombre As String
nombre = InputBox("Ingrese Nombre de nuevo cargo:", "Agregando Nuevo Cargo")
If nombre.Length < 4 Then
MsgBox("Debe ingresar mínimo 4 caracteres", MsgBoxStyle.Critical,
"Error")
Exit Sub
Else

Dim rpta As MsgBoxResult


rpta = MsgBox("Esta seguro que desea agregar el nuevo cargo :" & Chr(13)
& Chr(10) & "codigo: " & codi & Chr(13) & Chr(10) & _
"Nombre: " & nombre, MsgBoxStyle.YesNo + MsgBoxStyle.Question,
"Confirmación")
If rpta = vbYes Then
AgregaCargo(codi, nombre)
Else
Exit Sub
End If
End If
End Sub

Codigo del Boton Buscar del Tooltrips .


Private Sub tsbBuscar_Click(sender As Object, e As EventArgs) Handles
tsbBuscar.Click
Select Case sender.name
Case "tsbBuscar"
Dim strDato As String
Dim fila As Integer
Dim dv As New DataView
strDato = InputBox("Ingrese codigo del Empleado: ", "Buscar")
dv.Table = objDataSet.Tables("Empleado")
dv.Sort = "CodEmpleado"
fila = dv.Find(strDato)
If fila = -1 Then
MessageBox.Show("Codigo del Empleado no Existe", "Cuidado")
Exit Sub

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

End If
posicion = fila
CargarDatos()
Case "tsbbuscaravanzado"
MessageBox.Show("Proximamente será implementado", "Busqueda
Avanzada",
MessageBoxButtons.OK, MessageBoxIcon.Information)
End Select
End Sub

Proceda a Diseñar el Siguiente Formulario FrmFactura:


a) Deberá agregar los controles necesarios para el diseño del siguiente formulario y establezca las
propiedades según se observa.

b) El ToolStrip, es decir la barra de Herramientas (nuevo, guardar, etc..) deberá agregar los objetos
y establecer los nombres según se observa a continuación:

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

Creación de los procedimientos almacenados.

Procedimiento agregar Factura.

Create procedure agregarfactura


(
@NomFac varchar(5),
@FechaF datetime,
@Subtotal float,
@Totaligv float,
@TotalFac float,
@Codcliente varchar(5),
@CodEmpleado varchar(5),
@Estado bit
)
as
begin transaction
INSERT INTO Factura
(NomFac,FechaF,Subtotal,Totaligv,TotalFac,Codcliente,CodEmpleado,Estado)
VALUES
(@NomFac,@FechaF,@Subtotal,@Totaligv,@TotalFac,@Codcliente,@CodEmpleado,@Estado)
if @@error=0
Commit Transaction
else
Rollback Transaction

Procedimiento agregar Detalle.

Create procedure agregardetalle


(
@NomFac varchar(5),
@CodArticulo varchar(5),
@CantidaA int,
@importe numeric
)
as
Begin Transaction
INSERT INTO Detalle (NomFac,CodArticulo,CantidaA,importe)
VALUES (@NomFac,@CodArticulo,@CantidaA,@importe)
if @@error=0
Commit Transaction
else
Rollback Transaction

Procedimiento actualizar stok..

Create procedure actualizarStock

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

(
@CodArticulo varchar(5),
@StokA int
)
as
update Articulo set
StokA=@StokA
where CodArticulo=@CodArticulo

AGREGAR EL CODIGO NECESARIO PARA EL FORMULARIO FRMFACTURA


Biblioteca de Clase:

Option Compare Text


Imports System.Data
Imports System.Data.SqlClient

En la Sección de Declaraciones Generales escriba:

Dim daFactura As SqlDataAdapter


Dim dadetalle As SqlDataAdapter
Dim daEmpleado As SqlDataAdapter
Dim daCliente As SqlDataAdapter
Dim daArticulo As SqlDataAdapter
Dim objDataSet As New DataSet
Dim flag As Integer
Dim resultado As Integer
Dim strNroFac As String
Dim fil As Integer
Dim objDataRow As DataRow

Dim posicion As Integer


Dim nart As Byte

Código del Procedimiento Form_Load (Formulario)

Private Sub Facturacion_Load(sender As Object, e As EventArgs) Handles MyBase.Load


Dim stremp, strcli As String
stremp = "SELECT
NombreEmp,ApellidoE,CodEmpleado,DireccE,SexoE,Telefono,Observacion,CodCargo,Activo,N
ombreEmp + " & _
"' '" & " + ApellidoE AS nomape FROM Empleado"

strcli = "SELECT CodCliente,NombreC,ApellidoC,DirC,RucC,NombreC+ " & _


"' '" & " + ApellidoC AS nombres FROM Cliente"

Conexion.Open()
daFactura = New SqlDataAdapter("select * from Factura", Conexion)
dadetalle = New SqlDataAdapter("select * from Detalle", Conexion)
daEmpleado = New SqlDataAdapter(stremp, Conexion)
daCliente = New SqlDataAdapter(strcli, MODCONEXION.Conexion)
daArticulo = New SqlDataAdapter("select * from Articulo", Conexion)

' objDataSet = New DataSet()


daFactura.Fill(objDataSet, "Factura")
dadetalle.Fill(objDataSet, "Detalle")
daEmpleado.Fill(objDataSet, "Empleado")

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

daCliente.Fill(objDataSet, "Cliente")
daArticulo.Fill(objDataSet, "Articulo")
' relacionar las dos tablas del dataset por campo común
' relacionar las dos tablas del dataset por campo común
objDataSet.Relations.Add("Factura_detalle", _
objDataSet.Tables("Factura").Columns("NomFac"), _
objDataSet.Tables("Detalle").Columns("NomFac"))
'
Conexion.Close()
llenarcombos()
'
posicion = (objDataSet.Tables("Factura").Rows.Count - 1)
CargarDatos()
'
ActivarControl(False)
ActivarBoton(True)
Me.DataGridView1.ReadOnly = True
End Sub

Cree el siguiente procedimiento de usuario cargar datos:

Private Sub CargarDatos() ' ya esta


Try
objDataRow = objDataSet.Tables("Factura").Rows(posicion)
lblnumfac.Text = objDataRow("NomFac")
TextBox1.Text = objDataRow("CodCliente")
TextBox2.Text = objDataRow("CodEmpleado")
DateTimePicker1.Value = objDataRow("FechaF")
TextBox2.Text = objDataRow("Subtotal")
TextBox2.Text = objDataRow("Totaligv")
TextBox2.Text = objDataRow("TotalFac")
ComboBox1.SelectedValue = objDataRow("CodCliente")
ComboBox2.SelectedValue = objDataRow("CodEmpleado")
If objDataRow("Estado") = True Then lblestado.Text = Nothing :
tsbEliminar.Enabled = True
If objDataRow("Estado") = False Then lblestado.Text = "FACTURA ANULADA"
tsbEliminar.Enabled = False
' Mostrar Posición en el ToolStripLabel
Me.tslRegistro.Text = "Registro: " & posicion + 1 & " de " &
objDataSet.Tables("Factura").Rows.Count
EnlazaGrilla()
Catch exc As Exception
MessageBox.Show(exc.Message)
End Try
End Sub

Cree el siguiente procedimiento Enlazar Grilla.

Private Sub EnlazaGrilla()


' Declarando variables a utilizar
Dim miDr As SqlDataReader
Dim strSQL As String = "Select * from Detalle where NomFac='" &
lblnumfac.Text & "'"
Dim miDt As New DataTable
Dim Cm As SqlCommand
' Establecemos la conexión con la base de datos
Cm = New SqlCommand(strSQL, Conexion)
'

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

Conexion.Open()
' Ejecutamos la sentencia SQL
miDr = Cm.ExecuteReader
' Borramos el contenido del DataTable
miDt.Clear()
' Cargamos los resultados en el objeto DataTable
miDt.Load(miDr, LoadOption.OverwriteChanges)
DataGridView1.Columns.Clear()
DataGridView1.DataSource = miDt
Conexion.Close()
End Sub
Cree los procedimiento para llenar los combobox.

Private Sub llenarcombos()


' Conexion.Open()
Call desconectarcombos()
' Enlazando el combo de cliente
ComboBox1.DataBindings.Add(New System.Windows.Forms.Binding("SelectedValue",
Me.objDataSet, "Factura.CodCliente"))
ComboBox1.DataSource = Me.objDataSet.Tables("Cliente")
ComboBox1.DisplayMember = "NombreC"
ComboBox1.ValueMember = "CodCliente"
ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList

' enlazando el combo de empleado


ComboBox2.DataBindings.Add(New System.Windows.Forms.Binding("SelectedValue",
Me.objDataSet, "Factura.CodEmpleado"))
ComboBox2.DataSource = Me.objDataSet.Tables("Empleado")
ComboBox2.DisplayMember = "NombreEmp"
ComboBox2.ValueMember = "CodEmpleado"
ComboBox2.DropDownStyle = ComboBoxStyle.DropDownList
End Sub

Private Sub desconectarcombos()


ComboBox1.DataBindings.Clear()
ComboBox2.DataBindings.Clear()
End Sub
Cree los procedimiento para limpiar controles

Private Sub LimpiarControles()


Dim ctrl As Control
For Each ctrl In Me.Controls
If TypeOf ctrl Is TextBox Then ctrl.Text = ""
Next
ComboBox1.Text = ""
ComboBox2.Text = ""
End Sub

Cree los procedimiento para actualizar

Private Sub Actualizar()


objDataSet.Clear()
daFactura.Fill(objDataSet, "Factura")
dadetalle.Fill(objDataSet, "Detalle")
daEmpleado.Fill(objDataSet, "Empleado")
daCliente.Fill(objDataSet, "Cliente")
daArticulo.Fill(objDataSet, "Articulo")

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

End Sub
Private Sub ActivarBoton(ByVal est As Boolean)
Dim oitem As Windows.Forms.ToolStripItem
For Each oitem In ToolStrip1.Items
If TypeOf oitem Is ToolStripButton Then
oitem.Enabled = est
End If
Next
tsbGuardar.Enabled = Not est
tsbCancelar.Enabled = Not est
End Sub
Cree los procedimiento para Activar controles

Private Sub ActivarControl(ByVal est As Boolean)


Dim ctrl As Control
For Each ctrl In Me.Controls
If TypeOf ctrl Is GroupBox Then ctrl.Enabled = est
If TypeOf ctrl Is DateTimePicker Then ctrl.Enabled = est
If TypeOf ctrl Is Button Then ctrl.Enabled = est
Next
End Sub

Cree los procedimiento Generar código.

Private Sub GeneraCodigo()


Dim cmd As New SqlCommand("select max(NomFac) from Factura", Conexion)
Conexion.Open()
strNroFac = cmd.ExecuteScalar
Conexion.Close()
lblnumfac.Text = Format(Val(strNroFac) + 1,"00000")
End Sub

Cree los procedimiento Totalizar.

Public Sub totalizar()


Dim i As Integer, st As Double
For i = 0 To nart
st = st + CDbl(Me.DataGridView1.Item(3, i).Value)
Next
Me.TextBox3.Text = Format(st, "#######.00")
Me.TextBox4.Text = Format(CDbl(Me.TextBox3.Text) * 0.19, "#######.00")
Me.TextBox5.Text = Format(CDbl(Me.TextBox3.Text) + CDbl(Me.TextBox4.Text),
"#######.00")
End Sub

Cree los procedimiento desplazar.

Private Sub Desplazar(ByVal op As Integer)


Select Case op
Case 1
posicion = 0
CargarDatos()
Case 2
If posicion = 0 Then

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

MessageBox.Show("Primer Registro", "", 0,


MessageBoxIcon.Information)
Else
posicion -= 1
CargarDatos()
End If
Case 3
If posicion = (objDataSet.Tables("Factura").Rows.Count - 1) Then
MessageBox.Show("Último Registro", "", 0,
MessageBoxIcon.Information)
Else
posicion += 1
CargarDatos()
End If
Case 4
posicion = (objDataSet.Tables("Factura").Rows.Count - 1)
CargarDatos()
End Select
End Sub

Programe el ToolStrip1 en el Evento ItemClicked

Private Sub ToolStrip1_ItemClicked(sender As Object, e As


ToolStripItemClickedEventArgs) Handles ToolStrip1.ItemClicked
Select Case e.ClickedItem.Name
' Actualización
Case "tsbNuevo" ' Botón Nuevo
Nuevo()
Case "tsbGuardar" ' Botón Guardar
Guardar()
Case "tsbCancelar" ' Botón Cancelar
cancelar()
Case "tsbEliminar" ' Botón Eliminar
Dim rpta As MsgBoxResult
rpta = MsgBox("Esta seguro que desea Anular la Factura Nro.: " &
lblnumfac.Text, MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Confirmación")
If rpta = vbYes Then AnularFactura(lblnumfac.Text, 0)
Case "tsbBuscar" ' Botón Salir
buscar()
Case "tsbSalir" ' Botón Salir
Me.Close()
Case "tsbPrimero" ' Ir a al Primero
Desplazar(1)
Case "tsbAnterior" ' Ir al Anterior
Desplazar(2)
Case "tsbSiguiente" ' Ir al Siguiente
Desplazar(3)
Case "tsbUltimo" ' Ir al Último
Desplazar(4)
End Select
End Sub

Cree el procedimiento Nuevo.

Private Sub Nuevo()

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

flag = 1
ActivarControl(True)
Desplazar(4)
ActivarBoton(False)
LimpiarControles()
GeneraCodigo() ' llamar al proc. para generar Nro. Factura
Me.DataGridView1.DataSource = Nothing
End Sub

Cree el procedimiento Nuevo.

Private Sub Guardar()


Dim oper As String, estado As Boolean
Dim cmF As New SqlCommand()
Dim cmD As New SqlCommand()
Dim cmA As New SqlCommand()
'conexion de comandos
cmF.Connection = Conexion
cmD.Connection = Conexion
cmA.Connection = Conexion
If flag = 1 Then ' Nuevo
'asignando procedimientos almacenados
cmF.CommandType = CommandType.StoredProcedure
cmF.CommandText = "AgregarFactura"
cmD.CommandType = CommandType.StoredProcedure
cmD.CommandText = "AgregarDetalle"
cmA.CommandType = CommandType.StoredProcedure
cmA.CommandText = "ActualizarStock"
oper = " insertados: "
Else ' Editar
cmF.CommandType = CommandType.StoredProcedure
cmF.CommandText = "ModificarFactura"
cmD.CommandType = CommandType.StoredProcedure
cmD.CommandText = "ModificarDetalle"
oper = " modificados: "
End If
Try
'Para toda factura nueva el estado es activo
estado = True
cmF.Parameters.Add(New SqlParameter("@NomFac", SqlDbType.VarChar))
cmF.Parameters.Add(New SqlParameter("@FechaF", SqlDbType.DateTime))
cmF.Parameters.Add(New SqlParameter("@Subtotal", SqlDbType.Float))
cmF.Parameters.Add(New SqlParameter("@Totaligv", SqlDbType.Float))
cmF.Parameters.Add(New SqlParameter("@TotalFac", SqlDbType.Float))
cmF.Parameters.Add(New SqlParameter("@Codcliente", SqlDbType.VarChar))
cmF.Parameters.Add(New SqlParameter("@CodEmpleado", SqlDbType.VarChar))
cmF.Parameters.Add(New SqlParameter("@Estado", SqlDbType.Bit))
cmF.Parameters("@FechaF").Value =
Me.DateTimePicker1.Value.ToShortTimeString
cmF.Parameters("@NomFac").Value = Me.lblnumfac.Text
cmF.Parameters("@Subtotal").Value = Me.TextBox3.Text

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

cmF.Parameters("@Totaligv").Value = Me.TextBox4.Text
cmF.Parameters("@TotalFac").Value = Me.TextBox5.Text
cmF.Parameters("@Codcliente").Value = Me.TextBox1.Text
cmF.Parameters("@CodEmpleado").Value = Me.TextBox2.Text
cmF.Parameters("@Estado").Value = estado
Conexion.Open()
resultado = cmF.ExecuteNonQuery

'Para detalle
Dim i As Integer

cmD.Parameters.Add(New SqlParameter("@NomFac", SqlDbType.VarChar))


cmD.Parameters.Add(New SqlParameter("@CodArticulo", SqlDbType.VarChar))
cmD.Parameters.Add(New SqlParameter("@CantidaA", SqlDbType.Money))
cmD.Parameters.Add(New SqlParameter("@importe", SqlDbType.Money))

For i = 0 To nart - 1

cmD.Parameters("@NomFac").Value = Me.DataGridView1.Item(0, i).Value


cmD.Parameters("@CodArticulo").Value = Me.DataGridView1.Item(1, i).Value
cmD.Parameters("@CantidaA").Value = Me.DataGridView1.Item(2, i).Value
cmD.Parameters("@importe").Value = Me.DataGridView1.Item(3, i).Value
resultado = cmD.ExecuteNonQuery
Next

'actualiza el stock
Dim strdato1 As String
Dim fila1, x As Integer
Dim dv1 As New DataView()
Dim objDatarow As DataRow
Dim stock, nuevostock As Double
cmA.Parameters.Add(New SqlParameter("@CodArticulo", SqlDbType.VarChar))
cmA.Parameters.Add(New SqlParameter("@StokA", SqlDbType.VarChar))

For i = 0 To nart - 1
strdato1 = Me.DataGridView1.Item(1, i).Value
dv1.Table = objDataSet.Tables("Articulo")
dv1.Sort = "@CodArticulo"
fila1 = dv1.Find(strdato1)
If fila1 = -1 Then
MsgBox("no existe")
Else
objDatarow = objDataSet.Tables("Articulo").Rows(fila1)
stock = objDatarow("StokA")
nuevostock = stock - Val(Me.DataGridView1.Item(2, i).Value)
cmA.Parameters("@CodArticulo").Value = Me.DataGridView1.Item(1,
i).Value
cmA.Parameters("@StokA").Value = nuevostock
x = cmA.ExecuteNonQuery
End If
Next
Catch exc As Exception
MessageBox.Show(exc.Message)
End Try
Conexion.Close()
Actualizar()
ActivarControl(False)

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

ActivarBoton(True)
EnlazaGrilla()
Desplazar(1)
End Sub

Cree el procedimiento cancelar.

Public Sub cancelar()


Conexion.Open()
objDataSet.RejectChanges()
Conexion.Close()
Desplazar(2)
ActivarControl(False)
ActivarBoton(True)
EnlazaGrilla()
End Sub

Cree el procedimiento anular o eliminar .

Private Sub AnularFactura(ByVal codi As String, ByVal estado As Boolean)


Dim objComando As New SqlCommand
objComando.Connection = Conexion
objComando.CommandType = CommandType.Text
objComando.CommandText = "UPDATE Factura SET NomFac=@NomFac,Estado=@Estado
WHERE NomFac=@NomFac"
Try
'Agregando Parametros
objComando.Parameters.Add(New SqlParameter("@NomFac",
SqlDbType.VarChar))
objComando.Parameters.Add(New SqlParameter("@Estado", SqlDbType.Bit))
'asignando valores a parametros
objComando.Parameters("@NomFac").Value = codi
objComando.Parameters("@Estado").Value = estado
Conexion.Open()
resultado = objComando.ExecuteNonQuery
Actualizar()
Conexion.Close()
MessageBox.Show(resultado & " Factura Anualda", "", 0,
MessageBoxIcon.Information)
Desplazar(1)
Catch exc As Exception
MessageBox.Show(exc.Message)
End Try
End Sub

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

Cree el procedimiento Buscar .

Private Sub buscar()


Dim strDato As String
Dim fila As Integer
Dim dv As DataView
strDato = InputBox("Ingrese numero de factura", "Buscar")
strDato = Format(Val(strDato), "00000")
dv = objDataSet.Tables("Factura").DefaultView
dv.Sort = "NomFac"
fila = dv.Find(strDato)
If fila = -1 Then
MessageBox.Show("Numero de factura no existe", "Cuidado")
Exit Sub
End If
posicion = fila : CargarDatos()
End Sub

Agrege el código en combobox cliente

Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles


ComboBox1.SelectedIndexChanged
If flag = 1 Then
Me.TextBox1.Text = Me.ComboBox1.SelectedValue
End If
End Sub

Agregue el código en combobox Empleado

Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles


ComboBox2.SelectedIndexChanged
If flag = 1 Then
Me.TextBox2.Text = Me.ComboBox2.SelectedValue
End If
End Sub

Agregue el código en el Boton Elegir Articulo

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles


Button1.Click
Dim buscar As New BuscarArticulo
If buscar.ShowDialog() = Windows.Forms.DialogResult.Cancel Then
nart = ncompras
totalizar()
End If
End Sub

diseñe la siguiente interfaz de la siguiente manera.

mports System.Data
Imports System.Data.SqlClient
Public Class BuscarArticulo
Dim strcampo As String
Dim objDataAdapter As SqlDataAdapter
Dim objDataSet As DataSet
Dim sqlstr, oper As String
Dim cod_art, des_art As String, pre_art, imp_art As Double
Dim can_art, sto_art As Integer, f As Byte

Private Sub BuscarArticulo_Load(sender As Object, e As EventArgs) Handles


MyBase.Load
TxtBuscar.Clear()
TxtBuscar.Enabled = False
DataGridView1.ReadOnly = True
NumericUpDown1.Minimum = 0
End Sub

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

Private Sub RadioButton1_Click(sender As Object, e As EventArgs) Handles


RadioButton1.Click
Select Case sender.name
Case "RadioButton1"
strcampo = "CodArticulo"
oper = " Codigo "
Case "RadioButton1"
strcampo = "DesArt"
oper = " Nombre "
End Select
Me.lblTitulo.Text = "ingrese " & oper & " a buscar"
Me.DataGridView1.DataSource = Nothing
TxtBuscar.Enabled = True
TxtBuscar.Clear()
TxtBuscar.Focus()
lblEncontrados.Text = ""
End Sub

Agregue el código en el Boton comprar articulo


Private Sub cmdComprar_Click(sender As Object, e As EventArgs) Handles
cmdComprar.Click
If Me.TxtImporte.Text.Length = 0 Or Val(Me.TxtImporte.Text) < 1 Then
MsgBox("no se ha calculado el importe a pagar..")
Exit Sub
End If

Dim rpta As String


rpta = MsgBox("Esta seguro que desea comprar", MsgBoxStyle.YesNo +
MsgBoxStyle.Question, "Confirma Compra")

If rpta = vbNo Then Exit Sub

If f = 0 Then PreparaGrillaFactura()
ncompras = f + 1
Facturacion.DataGridView1.Item(0, f).Value = Facturacion.lblnumfac.Text
Facturacion.DataGridView1.Item(1, f).Value = cod_art
Facturacion.DataGridView1.Item(2, f).Value = can_art
Facturacion.DataGridView1.Item(3, f).Value = imp_art
rpta = MsgBox("Desea comprar otro artículo", MsgBoxStyle.YesNo +
MsgBoxStyle.Question, "Artículos")
If rpta = vbYes Then
f += 1
Else
Facturacion.totalizar()
Me.Dispose()
End If

End Sub
Procedimiento prepara grilla.

Private Sub PreparaGrillaFactura()


Facturacion.DataGridView1.Columns.Add("NomFac", "NomFac.Factura")
Facturacion.DataGridView1.Columns.Add("CodArticulo", "CodArticulo.Artículo")
Facturacion.DataGridView1.Columns.Add("CantidaA", "Cantidad")
Facturacion.DataGridView1.Columns.Add("Importe", "Importe")
Facturacion.DataGridView1.Rows.Add(4)
End Sub

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

Private Sub cmdCancelar_Click(sender As Object, e As EventArgs) Handles


cmdCancelar.Click
factura.cancelar()
Me.Dispose()
End Sub

Private Sub NumericUpDown1_ValueChanged(sender As Object, e As EventArgs)


Handles NumericUpDown1.ValueChanged
If NumericUpDown1.Value > sto_art Then
MsgBox("La cantidad ingresada no debe ser mayor al stock del artículo")
End If
can_art = CInt(NumericUpDown1.Value)
imp_art = CDbl(Format(pre_art * CDbl(NumericUpDown1.Value), "#######.00"))
TxtImporte.Text = imp_art
End Sub

Boton Buscar

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles


Button1.Click
Dim strSQL As String
Dim total As Integer
strSQL = "SELECT * FROM Articulo WHERE " & Trim(strcampo) & " LIKE '" &
Trim(Me.TxtBuscar.Text) & "%'"
If TxtBuscar.Text = "" Then
TxtBuscar.Clear() : TxtBuscar.Focus()
DataGridView1.DataSource = Nothing
Exit Sub
End If
objDataAdapter = New SqlDataAdapter(strSQL, Conexion)
Conexion.Open()
objDataSet = New DataSet()
objDataAdapter.Fill(objDataSet, "Articulo")
Conexion.Close()
total = Me.objDataSet.Tables("Articulo").Rows.Count
If total > 0 Then
Me.DataGridView1.DataSource = objDataSet
Me.DataGridView1.DataMember = "Articulo"
lblEncontrados.Text = "Se encontraron " & Str(total) & " articulos"
Else
lblEncontrados.Text = "No se econtro el articulo...."
End If
End Sub

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.


UNIVERSIDAD AUTONOMA DE CHINANDEGA

Private Sub DataGridView1_DoubleClick(sender As Object, e As EventArgs) Handles


DataGridView1.DoubleClick
NumericUpDown1.Value = 0
TxtImporte.Clear()
Dim fil As Integer

fil = DataGridView1.CurrentRow.Index
cod_art = Me.DataGridView1.Item(0, fil).Value
des_art = Me.DataGridView1.Item(1, fil).Value
pre_art = CDbl(Me.DataGridView1.Item(2, fil).Value)
sto_art = CInt(Me.DataGridView1.Item(3, fil).Value)
lblSeleccion.Text = "Artículo: " & des_art & ", Cantidad:"
NumericUpDown1.Maximum = sto_art
End Sub
End Class

IV año de sistemas Asignatura: Facultativa II Catedratico:Ing.Juan Ramon Osabas S.

También podría gustarte