Beruflich Dokumente
Kultur Dokumente
-1-
-2-
Tabla clientes
TABLA ventas
Detalle de ventas
-3-
Categoria
6 tablas
Creando diagrama new database diagrama
-4-
-5-
VIDEO 2 16 minutos
Generar el esquema del sistema
Usaremos carpetas
Presentaciones formularios
Resorces imgenes
Lgica las clases
Datos una base para conectar los datos y la funciones
Clase conexin
-6-
-7-
-8-
-9-
MsgBox(ex.Message)
Return False
End Try
End Function
Protected Function desconectado() As Boolean
Try
If cnn.State = ConnectionState.Open Then
cnn.Close()
Return True
Else
Return False
End If
Catch ex As Exception
MsgBox(ex.Message)
Return False
End Try
End Function
End Class
Crear todas las funciones para ese cliente
Clase cliente
Imports System.Data.SqlClient
Public Class fcliente
Inherits conexion
Dim cmd As New SqlCommand ' para peticiones para base de datos
Public Function mostrar() As DataTable
Try
conectado()
cmd = New SqlCommand("mostrar_cliente")
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = cnn ' tiene acceso a la cadena conexion por que hereda
If cmd.ExecuteNonQuery Then
Dim dt As New DataTable
' permite crear una tabla en memoria para guardar todos los registros de
' la tabla cliente
Dim da As New SqlDataAdapter(cmd) ' adaptador
da.Fill(dt) ' rellena con la variable dt
Return dt ' retorna dt
Else
Return Nothing ' no retorn nada
End If
Catch ex As Exception
MsgBox(ex.Message)
Return Nothing
Finally
desconectado()
End Try
End Function
End Class
Creacion de procedimientos
Crear procedimiento mostrar cliente en el visual estudio 2012
- 10 -
- 11 -
Elimine el procedimiento
- 12 -
Aparece
- 13 -
- 14 -
- 15 -
- 16 -
- 17 -
End Get
Set(ByVal value)
dni = value
End Set
End Property
'constructores
Public Sub New()
' constructor en blanco
End Sub
Public Sub New(ByVal idcliente As Integer, ByVal nombres As String, ByVal apellidos
As String, ByVal direccion As String, ByVal telefono As String, ByVal dni As String)
gidcliente = idcliente
gnombres = nombres
gapellidos = apellidos
gdireccion = direccion
gtelefono = telefono
gdni = dni
' para guardar los campos en los metodos
End Sub
End Class
- 18 -
Return apellidos
End Get
Set(ByVal value)
apellidos = value
End Set
End Property
Public Property gdireccion
Get
Return direccion
End Get
Set(ByVal value)
direccion = value
End Set
End Property
Public Property gtelefono
Get
Return telefono
End Get
Set(ByVal value)
telefono = value
End Set
End Property
Public Property gdni
Get
Return dni
End Get
Set(ByVal value)
dni = value
End Set
End Property
'constructores
Public Sub New()
End Sub
Public Sub New(ByVal idcliente As Integer, ByVal nombres As String, ByVal apellidos
As String, ByVal direccion As String, ByVal telefono As String, ByVal dni As String)
gidcliente = idcliente
gnombres = nombres
gapellidos = apellidos
gdireccion = direccion
gtelefono = telefono
gdni = dni
End Sub
End Class
Crear procedimientos almacenados en la base de datos que permitan registrar
los datos que envie
Procedimiento almacenado insertar cliente
ALTER proc insertar_cliente
@nombre varchar (50),
@apellidos varchar (50),
- 19 -
- 20 -
Else
Return False
End If
Catch ex As Exception
MsgBox(ex.Message)
Return False
Finally
desconectado()
End Try
End Function
End Class
Abrir el formulario fcliente
Herrmienta que me permite captura algunos errors error provider
- 21 -
- 22 -
- 23 -
18
- 24 -
- 25 -
- 26 -
End Sub
Private Sub datalistado_CellContentClick(ByVal sender As System.Object, ByVal e
As System.Windows.Forms.DataGridViewCellEventArgs) Handles
datalistado.CellContentClick
' e variable que recoge el indice
If e.ColumnIndex = Me.datalistado.Columns.Item("Eliminar").Index Then
Dim chkcell As DataGridViewCheckBoxCell =
Me.datalistado.Rows(e.RowIndex).Cells("Eliminar")
' extrae la fila d ela columna elimanr
chkcell.Value = Not chkcell.Value
End If
End Sub
Private Sub txtapellidos_Validating(ByVal sender As Object, ByVal e As
System.ComponentModel.CancelEventArgs) Handles TxtApellidos.Validating
If DirectCast(sender, TextBox).Text.Length > 0 Then
Me.ErrorIcono.SetError(sender, "")
Else
Me.ErrorIcono.SetError(sender, "Ingrese los apellidos del cliente porfavor, este
datos es obligatorio")
End If
End Sub
Private Sub btneditar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnEditar.Click
Dim result As DialogResult ' resultado de un dialogo
result = MessageBox.Show("Realmente desea editar los datos del cliente?",
"MOdificando registros", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)
If result = DialogResult.OK Then
If Me.ValidateChildren = True And txtnombre.Text <> "" And txtapellidos.Text <>
"" And txtdireccion.Text <> "" And txttelefono.Text <> "" And txtdni.Text <> "" And
txtidcliente.Text <> "" Then
Try
Dim dts As New vcliente
Dim func As New fcliente
dts.gidcliente = txtidcliente.Text
dts.gnombres = txtnombre.Text
dts.gapellidos = txtapellidos.Text
dts.gdireccion = txtdireccion.Text
dts.gtelefono = txttelefono.Text
dts.gdni = txtdireccion.Text
If func.editar(dts) Then ' envia los datos del cliente al objeto vcliente
MessageBox.Show("cliente correctamente", "MOdificando registros",
MessageBoxButtons.OK, MessageBoxIcon.Information)
mostrar()
limpiar()
Else
MessageBox.Show("cliente no fue modifcado intente de nuevo",
"MOdificando registros", MessageBoxButtons.OK, MessageBoxIcon.Error)
mostrar()
limpiar()
End If
- 27 -
Catch ex As Exception
MsgBox(ex.Message)
End Try
Else
MessageBox.Show("Falta ingresar algunos datos", "MOdificando registros",
MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End If
End Sub
Private Sub btnguardar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnGuardar.Click
If Me.ValidateChildren = True And txtnombre.Text <> "" And txtapellidos.Text <> ""
And txtdireccion.Text <> "" And txttelefono.Text <> "" And txtdni.Text <> "" Then
Try
Dim dts As New vcliente ' instancio al objeto dts
Dim func As New fcliente ' todas las funciones de la clase fcliente
dts.gnombres = txtNombre.Text ' le envio dts.nombres
dts.gapellidos = txtapellidos.Text
dts.gdireccion = txtdireccion.Text
dts.gtelefono = txttelefono.Text
dts.gdni = txtdireccion.Text
If func.insertar(dts) Then
MessageBox.Show("cliente registrado correctamente", "Guardando
registros", MessageBoxButtons.OK, MessageBoxIcon.Information)
mostrar()
limpiar()
Else
MessageBox.Show("cliente no fue registrado intente de nuevo",
"Guardando registros", MessageBoxButtons.OK, MessageBoxIcon.Error)
mostrar()
limpiar()
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
Else
MessageBox.Show("Falta ingresar algunos datos", "Guardando registros",
MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End Sub
Private Sub datalistado_CellClick(ByVal sender As Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles datalistado.CellClick
txtidcliente.Text = datalistado.SelectedCells.Item(1).Value
txtnombre.Text = datalistado.SelectedCells.Item(2).Value
txtapellidos.Text = datalistado.SelectedCells.Item(3).Value
txtdireccion.Text = datalistado.SelectedCells.Item(4).Value
txttelefono.Text = datalistado.SelectedCells.Item(5).Value
txtdni.Text = datalistado.SelectedCells.Item(6).Value
BtnEditar.Visible = True ' oculta y muestra los botones
btnguardar.Visible = False
End Sub
- 28 -
- 29 -
- 30 -
- 31 -
datalistado.Columns.Item("Eliminar").Visible = False
If dt.Rows.Count <> 0 Then
datalistado.DataSource = dt
txtbuscar.Enabled = True
datalistado.ColumnHeadersVisible = True
inexistente.Visible = False
Else
datalistado.DataSource = Nothing
txtbuscar.Enabled = False
datalistado.ColumnHeadersVisible = False
inexistente.Visible = True
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
btnNuevo.Visible = True
BtnEditar.Visible = False
buscar()
End Sub
Private Sub buscar()
Try
Dim ds As New DataSet
ds.Tables.Add(dt.Copy)
Dim dv As New DataView(ds.Tables(0))
dv.RowFilter = cboCampo.Text & " like '" & txtbuscar.Text & "%'"
If dv.Count <> 0 Then
inexistente.Visible = False
datalistado.DataSource = dv
ocultar_columnas()
Else
inexistente.Visible = True
datalistado.DataSource = Nothing
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub ocultar_columnas()
datalistado.Columns(1).Visible = False
End Sub
Private Sub txtnombre_Validating(ByVal sender As Object, ByVal e As
System.ComponentModel.CancelEventArgs) Handles txtNombre.Validating
If DirectCast(sender, TextBox).Text.Length > 0 Then
Me.erroricono.SetError(sender, "")
Else
Me.erroricono.SetError(sender, "Ingrese el nombre de la categora porfavor,
este datos es obligatorio")
End If
End Sub
- 32 -
- 33 -
- 34 -
- 35 -
- 36 -
- 37 -
- 38 -
- 39 -
- 40 -
- 41 -
- 42 -
fecha_venta = value
End Set
End Property
Public Property gtipo_documento
Get
Return tipo_documento
End Get
Set(ByVal value)
tipo_documento = value
End Set
End Property
Public Property gnum_documento
Get
Return num_documento
End Get
Set(ByVal value)
num_documento = value
End Set
End Property
Public Sub New()
End Sub
Public Sub New(ByVal idventa As Integer, ByVal idcliente As Integer, ByVal
fecha_venta As Date, ByVal tipo_documento As String, ByVal num_documento As
String)
gidventa = idventa
gidcliente = idcliente
gfecha_venta = fecha_venta
gtipo_documento = tipo_documento
gnum_documento = num_documento
End Sub
End Class
CLASE DETALLE VENTA
Public Class vdetalle_venta
Dim iddetalle_venta, idventa, idproducto As Integer
Dim cantidad, precio_unitario As Double
Public Property giddetalle_venta
Get
Return iddetalle_venta
End Get
Set(ByVal value)
iddetalle_venta = value
End Set
End Property
Public Property gidventa
Get
- 43 -
Return idventa
End Get
Set(ByVal value)
idventa = value
End Set
End Property
Public Property gidproducto
Get
Return idproducto
End Get
Set(ByVal value)
idproducto = value
End Set
End Property
Public Property gcantidad
Get
Return cantidad
End Get
Set(ByVal value)
cantidad = value
End Set
End Property
Public Property gprecio_unitario
Get
Return precio_unitario
End Get
Set(ByVal value)
precio_unitario = value
End Set
End Property
Public Sub New()
End Sub
Public Sub New(ByVal iddetalle_venta As Integer, ByVal idventa As Integer, ByVal
idproducto As Integer, ByVal cantidad As Double, ByVal precio_unitario As Double)
giddetalle_venta = iddetalle_venta
gidventa = idventa
gidproducto = idproducto
gcantidad = cantidad
gprecio_unitario = precio_unitario
End Sub
End Class
CLASE FVENTA parecido a fcliente
Imports System.Data.SqlClient
Public Class fventa
Inherits conexion
Dim cmd As New SqlCommand
Public Function mostrar() As DataTable
Try
conectado()
- 44 -
- 45 -
conectado()
cmd = New SqlCommand("editar_venta")
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = cnn
cmd.Parameters.AddWithValue("@idventa", dts.gidventa)
cmd.Parameters.AddWithValue("@idcliente", dts.gidcliente)
cmd.Parameters.AddWithValue("@fecha_venta", dts.gfecha_venta)
cmd.Parameters.AddWithValue("@tipo_documento", dts.gtipo_documento)
cmd.Parameters.AddWithValue("@num_documento", dts.gnum_documento)
If cmd.ExecuteNonQuery Then
Return True
Else
Return False
End If
Catch ex As Exception
MsgBox(ex.Message)
Return False
Finally
desconectado()
End Try
End Function
Public Function eliminar(ByVal dts As vventa) As Boolean
Try
conectado()
cmd = New SqlCommand("eliminar_venta")
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = cnn
cmd.Parameters.Add("@idventa", SqlDbType.NVarChar, 50).Value =
dts.gidventa
If cmd.ExecuteNonQuery Then
Return True
Else
Return False
End If
Catch ex As Exception
MsgBox(ex.Message)
Return False
End Try
End Function
End Class
FDETALLE VENTA
Imports System.Data.SqlClient
Public Class fdetalle_venta
Inherits conexion
Dim cmd As New SqlCommand
- 46 -
- 47 -
cmd.Parameters.AddWithValue("@idproducto", dts.gidproducto)
cmd.Parameters.AddWithValue("@cantidad", dts.gcantidad)
cmd.Parameters.AddWithValue("@precio_unitario", dts.gprecio_unitario)
If cmd.ExecuteNonQuery Then
Return True
Else
Return False
End If
Catch ex As Exception
MsgBox(ex.Message)
Return False
Finally
desconectado()
End Try
End Function
Public Function eliminar(ByVal dts As vdetalle_venta) As Boolean
Try
conectado()
cmd = New SqlCommand("eliminar_detalle_venta")
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = cnn
cmd.Parameters.Add("@iddetalle_venta", SqlDbType.NVarChar, 50).Value =
dts.giddetalle_venta
If cmd.ExecuteNonQuery Then
Return True
Else
Return False
End If
Catch ex As Exception
MsgBox(ex.Message)
Return False
End Try
End Function
Public Function aumentar_stock(ByVal dts As vdetalle_venta) As Boolean
Try
conectado()
cmd = New SqlCommand("aumentar_stock")
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = cnn
cmd.Parameters.AddWithValue("@idproducto", dts.gidproducto)
cmd.Parameters.AddWithValue("@cantidad", dts.gcantidad)
If cmd.ExecuteNonQuery Then
Return True
Else
Return False
End If
Catch ex As Exception
MsgBox(ex.Message)
Return False
Finally
desconectado()
End Try
- 48 -
End Function
Public Function disminuir_stock(ByVal dts As vdetalle_venta) As Boolean
Try
conectado()
cmd = New SqlCommand("disminuir_stock")
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = cnn
cmd.Parameters.AddWithValue("@idproducto", dts.gidproducto)
cmd.Parameters.AddWithValue("@cantidad", dts.gcantidad)
If cmd.ExecuteNonQuery Then
Return True
Else
Return False
End If
Catch ex As Exception
MsgBox(ex.Message)
Return False
Finally
desconectado()
End Try
End Function
End Class
Video 12 46.59 minutos
Mantenimiento a la tabla venta y tabla detalle de venta
Parte grafica modificar proemiento r mostrar ventas
DETALLE de venta Frm detalle venta 12.55
Agrema frm venta
Copiamos el diseo para frmventa del frm cliente
Son tablas relacionadas
9.14 no se puede eliminar directamente una ventas primero hay que elimnar los
detalles de la venta por lo tanto se suprime el boton eliminar
CODIGO DE FRMVENTA
Public Class frmventa
Private dt As New DataTable
Private Sub frmventa_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
mostrar()
End Sub
Public Sub limpiar()
btnguardar.Visible = True
btneditar.Visible = False
txtidventa.Text = ""
txtidcliente.Text = ""
txtnum_documento.Text = ""
txtnum_documento.Text = ""
txtidventa.Text = ""
End Sub
Private Sub mostrar()
Try
Dim func As New fventa
dt = func.mostrar
datalistado.Columns.Item("Eliminar").Visible = False
If dt.Rows.Count <> 0 Then
datalistado.DataSource = dt
txtbuscar.Enabled = True
datalistado.ColumnHeadersVisible = True
inexistente.Visible = False
Else
datalistado.DataSource = Nothing
txtbuscar.Enabled = False
datalistado.ColumnHeadersVisible = False
inexistente.Visible = True
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
btnNuevo.Visible = True
BtnEditar.Visible = False
buscar()
End Sub
Private Sub buscar()
Try
Dim ds As New DataSet
ds.Tables.Add(dt.Copy)
Dim dv As New DataView(ds.Tables(0))
dv.RowFilter = cboCampo.Text & " like '" & txtbuscar.Text & "%'"
If dv.Count <> 0 Then
inexistente.Visible = False
datalistado.DataSource = dv
ocultar_columnas()
Else
- 49 -
- 50 -
inexistente.Visible = True
datalistado.DataSource = Nothing
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub ocultar_columnas()
datalistado.Columns(1).Visible = False
datalistado.Columns(2).Visible = False
End Sub
Private Sub btnnuevo_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnNuevo.Click
limpiar()
mostrar()
End Sub
Private Sub btnguardar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnGuardar.Click
If Me.ValidateChildren = True And txtidventa.Text <> "" And txtidcliente.Text <> ""
And txtNum_Documento.Text <> "" Then
Try
Dim dts As New vventa
Dim func As New fventa
dts.gidcliente = txtidventa.Text
dts.gfecha_venta = txtfecha.Text
dts.gtipo_documento = cbtipo_documento.Text
dts.gnum_documento = txtNum_Documento.Text
If func.insertar(dts) Then
MessageBox.Show("Venta registrada correctamente vamos aadir
productos", "Guardando registros", MessageBoxButtons.OK,
MessageBoxIcon.Information)
mostrar()
limpiar()
cargar_detalle()
Else
MessageBox.Show("venta no fue registrada intente de nuevo",
"Guardando registros", MessageBoxButtons.OK, MessageBoxIcon.Error)
mostrar()
limpiar()
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
Else
MessageBox.Show("Falta ingresar algunos datos", "Guardando registros",
MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End Sub
Private Sub datalistado_CellClick(ByVal sender As Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles datalistado.CellClick
txtidventa.Text = datalistado.SelectedCells.Item(1).Value
- 51 -
txtidventa.Text = datalistado.SelectedCells.Item(2).Value
txtidcliente.Text = datalistado.SelectedCells.Item(3).Value
txtfecha.Text = datalistado.SelectedCells.Item(5).Value
cbtipo_documento.Text = datalistado.SelectedCells.Item(6).Value
txtnum_documento.Text = datalistado.SelectedCells.Item(7).Value
btneditar.Visible = True
btnguardar.Visible = False
End Sub
Private Sub datalistado_CellContentClick(ByVal sender As System.Object, ByVal e
As System.Windows.Forms.DataGridViewCellEventArgs) Handles
datalistado.CellContentClick
If e.ColumnIndex = Me.datalistado.Columns.Item("Eliminar").Index Then
Dim chkcell As DataGridViewCheckBoxCell =
Me.datalistado.Rows(e.RowIndex).Cells("Eliminar")
chkcell.Value = Not chkcell.Value
End If
End Sub
Private Sub btneditar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnEditar.Click
Dim result As DialogResult
result = MessageBox.Show("Realmente desea editar los datos de la venta?",
"MOdificando registros", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)
If result = DialogResult.OK Then
If Me.ValidateChildren = True And txtidcliente.Text <> "" And
txtNum_Documento.Text <> "" And txtidventa.Text <> "" Then
Try
Dim dts As New vventa
Dim func As New fventa
dts.gidventa = txtidventa.Text
dts.gidcliente = txtidventa.Text
dts.gfecha_venta = txtfecha.Text
dts.gtipo_documento = cbtipo_documento.Text
dts.gnum_documento = txtNum_Documento.Text
If func.editar(dts) Then
MessageBox.Show("venta MOdificada correctamente", "MOdificando
registros", MessageBoxButtons.OK, MessageBoxIcon.Information)
mostrar()
limpiar()
Else
MessageBox.Show("Venta no fue modifcada intente de nuevo",
"MOdificando registros", MessageBoxButtons.OK, MessageBoxIcon.Error)
mostrar()
limpiar()
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
Else
- 52 -
- 53 -
Me.erroricono.SetError(sender, "")
Else
Me.erroricono.SetError(sender, "Ingrese el nmero de comprobante, este dato
es obligatorio")
End If
End Sub
End Class
FORMULARIO DETALLE VENTAS
- 54 -
Else
datalistado.DataSource = Nothing
datalistado.ColumnHeadersVisible = False
inexistente.Visible = True
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
btnNuevo.Visible = True
buscar()
End Sub
Private Sub buscar()
Try
Dim ds As New DataSet
ds.Tables.Add(dt.Copy)
Dim dv As New DataView(ds.Tables(0))
dv.RowFilter = "idventa='" & txtidventa.Text & "'"
If dv.Count <> 0 Then
inexistente.Visible = False
datalistado.DataSource = dv
ocultar_columnas()
Else
inexistente.Visible = True
datalistado.DataSource = Nothing
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub ocultar_columnas()
datalistado.Columns(1).Visible = False
datalistado.Columns(2).Visible = False
datalistado.Columns(3).Visible = False
End Sub
Private Sub btnnuevo_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)
limpiar()
mostrar()
End Sub
Private Sub txtbuscar_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs)
buscar()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim result As DialogResult
result = MessageBox.Show("Realmente desea quitar los artculos de la venta?",
"Eliminando registros", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)
- 55 -
- 56 -
End If
If txtcantidad.Value = 0 Then
btnGuardar.Visible = 0
Else
btnGuardar.Visible = 1
End If
End Sub
Private Sub btnguardar_Click_1(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnGuardar.Click
If Me.ValidateChildren = True And txtidproducto.Text <> "" And txtcantidad.Text <>
"" And txtprecio_unitario.Text <> "" Then
Try
Dim dts As New vdetalle_venta
Dim func As New fdetalle_venta
dts.gidventa = txtidventa.Text
dts.gidproducto = txtidproducto.Text
dts.gcantidad = txtcantidad.Text
dts.gprecio_unitario = txtprecio_unitario.Text
If func.insertar(dts) Then
If func.disminuir_stock(dts) Then
End If
MessageBox.Show("Artculo fue aadido correctamente a la venta",
"Guardando registros", MessageBoxButtons.OK, MessageBoxIcon.Information)
mostrar()
limpiar()
Else
MessageBox.Show("Artculo fue aadido correctamente a la venta intente
de nuevo", "Guardando registros", MessageBoxButtons.OK, MessageBoxIcon.Error)
mostrar()
limpiar()
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
Else
MessageBox.Show("Falta ingresar algunos datos", "Guardando registros",
MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End Sub
Private Sub cbeliminar_CheckedChanged_1(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles cbeliminar.CheckedChanged
If cbeliminar.CheckState = CheckState.Checked Then
datalistado.Columns.Item("Eliminar").Visible = True
Else
datalistado.Columns.Item("Eliminar").Visible = False
End If
End Sub
- 57 -
- 58 -
- 59 -
- 60 -
- 61 -
- 62 -
- 63 -
- 64 -
frmComporbante
reporte productos
- 65 -
- 66 -
- 67 -
Clase fbackup
Procedimiento almacenado
Backup de base de datos
- 68 -
HERRAmientas
New query nueva consulta
Video 16 10 minutos
Instalador de visual basic
Backup completo
Descargar el sql sever 2008 1946
Restaurar .3.40 con sqlserver
Cambiar base de datos con la nueva base de datos
6.23 instalador de sitema de ventas
- 69 -
- 70 -
- 71 -
- 72 -
- 73 -
- 74 -
- 75 -
- 76 -
https://www.youtube.com/user/jcarlosad7
- 77 -
- 78 -