Upload
jameszx
View
870
Download
2
Embed Size (px)
Citation preview
Formulario de Registro de Boleta de Venta
CODIFICACIÓN
En el espacio principal del formulario:
Option ExplicitDim cn As ADODB.ConnectionDim rsVentas As ADODB.RecordsetDim rsDetalle As ADODB.RecordsetDim rsArticulos As ADODB.RecordsetDim codigo As StringDim regreso As Integer
En el formulario mismo:
Private Sub Form_Load() Set cn = New ADODB.Connection Set rsVentas = New ADODB.Recordset With cn .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "Data Source=d:\sisventas\data\ventas.mdb" .Open End With rsVentas.Open "select * from ventas", cn, adOpenStatic, adLockOptimistic If rsVentas.RecordCount >= 1 Then rsVentas.MoveLast End If cNum_mov = Right(String(5, "0") &
Trim(Str(Val(rsVentas.Fields("num_mov")) + 1)), 6) rsVentas.Close Dim cTip_doc As String cTip_doc = "B"
rsVentas.Open "select * from ventas Where tip_doc like'" + Trim(cTip_doc) & "%" & "' order by num_doc", cn, adOpenStatic, adLockOptimistic
If rsVentas.RecordCount >= 1 Then rsVentas.MoveLast End If 'genera automaticamente el codigo de la factura incrementando 1 txtNum_bol = Right(String(5, "0") & Trim(Str(Val(rsVentas.Fields("num_doc"))
+ 1)), 6) 'muestra automaticamente la factura actual txtFec_emi.Text = Date Exit SubEnd Sub
En el botón de Cmdcliente:
Private Sub cmdcliente_Click() frmVen_cli.ShowEnd Sub
En el botón Agregar:
Private Sub cmdAgregar_Click() frmVen_art.ShowEnd Sub
En el botón Quitar:
Private Sub cmdQuitar_Click()Dim enc As IntegerDim asub As Currencyenc = lvwVenta.SelectedItem.IndexDim y, borrado As Integerborrado = 0'Guardar de nuevo los datos que no fueron borradosFor y = 1 To cont
If y = enc Then codigo = xCod_art(y) regreso = xCantidad(y) xCod_art(y) = xCod_art(y + 1) xDescripcion(y) = xDescripcion(y + 1) xCantidad(y) = xCantidad(y + 1) xPrecio(y) = xPrecio(y + 1) xSubtotal(y) = xSubtotal(y + 1) borrado = 1 End If If borrado = 1 Then xCod_art(y) = xCod_art(y + 1) xDescripcion(y) = xDescripcion(y + 1) xCantidad(y) = xCantidad(y + 1) xPrecio(y) = xPrecio(y + 1) xSubtotal(y) = xSubtotal(y + 1) End IfNext ycont = cont - 1lvwVenta.ListItems.ClearFor y = 1 To cont Dim nuevo As ListItem Set nuevo = lvwVenta.ListItems.Add(, , xCod_art(y)) nuevo.SubItems(1) = xDescripcion(y) MsgBox xDescripcion(y) nuevo.SubItems(2) = xCantidad(y) nuevo.SubItems(3) = xPrecio(y) nuevo.SubItems(4) = xSubtotal(y) asub = asub + xSubtotal(y)Next y 'Calcula el subtotal, IGV y total Static subt As Currency txtSubTotal.Text = asub txtIgv.Text = Val(txtSubTotal.Text) * 0.19 txtTotal.Text = Val(txtSubTotal.Text) + Val(txtIgv.Text) 'Ubicar con el posicion correspondiente para guardar el stock Set rsArticulos = New Recordset rsArticulos.Open "select * from articulos", cn, adOpenStatic, adLockOptimistic rsArticulos.MoveFirst rsArticulos.Find "cod_art='" & codigo & " ' " rsArticulos.Fields("stock") = rsArticulos.Fields("stock") + regreso rsArticulos.UpdateEnd Sub
En el botón Guardar:
Private Sub cmdGrabar_Click() 'Guardar los datos en la tabla Ventas rsVentas.AddNew rsVentas.Fields("num_mov") = cNum_mov rsVentas.Fields("tip_mov") = "S" rsVentas.Fields("tip_doc") = "B" rsVentas.Fields("num_doc") = txtNum_bol.Text rsVentas.Fields("cod_cli") = txtCod_cli.Text rsVentas.Fields("fec_emi") = txtFec_emi.Text rsVentas.Fields("cod_ven") = txtCod_ven.Text rsVentas.Update 'Guardar los datos en la tabla detalle Set rsDetalle = New Recordset rsDetalle.Open "select * from detalle", cn, adOpenStatic, adLockOptimistic Dim x As Integer For x = 1 To cont With rsDetalle .AddNew .Fields("num_mov") = txtNum_bol.Text .Fields("cod_art") = xCod_art(x) .Fields("cantidad") = xCantidad(x) .Fields("precio") = xPrecio(x) .Update End With Next x cmdGrabar.Enabled = False cmdQuitar.Enabled = False cmdAgregar.Enabled = False cont = 0 Unload Me Exit SubEnd Sub
En el botón Cmdvendedor:
Private Sub cmdVendedor_Click() frmVen_ven.ShowEnd Sub
En el botón Cerrar:
Private Sub Command1_Click() EndEnd Sub
Formulario de Mantenimiento de Clientes
CODIFICACIÓN
En el espacio principal de formulario
Public nNew As IntegerOption ExplicitDim cn As ADODB.ConnectionDim rsClientes As ADODB.Recordset
En el formulario mismo
Private Sub Form_Load() Set cn = New ADODB.Connection Set rsClientes = New ADODB.Recordset With cn .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "Data Source=d:\sisventas\data\ventas.mdb" .Open End With rsClientes.ActiveConnection = cn rsClientes.Open "Select * from clientes", cn, adOpenStatic, adLockOptimistic llenacontroles llenalista nNew = 1End Sub
En el botón nuevo
Private Sub cmdNuevo_Click() frmMan_cli.Width = 9210 limpia desactivaBotones activatext If rsClientes.RecordCount = 0 Then txtCod_cli = "C0001" Else rsClientes.MoveLast txtCod_cli.Text = "C" & Right("0000" &
Trim(Str(Val(Right(rsClientes.Fields("cod_cli"), 4)) + 1)), 4) End If txtApe_cli.SetFocus nNew = 1End Sub
En el botón modificar
Private Sub cmdModificar_Click() Dim cCod_cli As String cCod_cli = ListView1.SelectedItem.Text rsClientes.MoveFirst rsClientes.Find "cod_cli='" + Trim(cCod_cli) + "'" desactivaBotones
activatext llenacontroles txtApe_cli.SetFocus nNew = 2 frmMan_cli.Width = 9210End Sub
En el botón Eliminar
Private Sub cmdEliminar_Click() Dim cCod_cli As String cCod_cli = ListView1.SelectedItem.Text rsClientes.MoveFirst rsClientes.Find "cod_cli='" + Trim(cCod_cli) + "'" Dim res As String res = MsgBox("Está seguro de eliminar al cliente:" + Chr(13) +
rsClientes.Fields("ape_cli") & ", " & rsClientes.Fields("nom_cli"), vbQuestion + vbYesNo + vbDefaultButton2, "Eliminación del Cliente")
If res = 6 Then rsClientes.Delete rsClientes.MoveFirst llenalista End IfEnd Sub
En el botón Salir
Private Sub cmdCerrar_Click() Unload MeEnd Sub
Otros dentro de la codificación
Private Sub limpia() txtApe_cli.Text = "" txtNom_cli.Text = "" txtDni.Text = "" txtTelefono.Text = "" txtDireccion.Text = "" txtMail.Text = ""End Sub
Private Sub desactivaBotones() cmdNuevo.Enabled = False cmdModificar.Enabled = False cmdEliminar.Enabled = False cmdCerrar.Enabled = False cmdGuardar.Enabled = True cmdCancelar.Enabled = TrueEnd Sub
Private Sub activaBotones() cmdNuevo.Enabled = True cmdModificar.Enabled = True cmdEliminar.Enabled = True cmdCerrar.Enabled = True cmdGuardar.Enabled = False cmdCancelar.Enabled = FalseEnd Sub
Private Sub activatext() txtApe_cli.Locked = False txtNom_cli.Locked = False txtDni.Locked = False txtTelefono.Locked = False txtDireccion.Locked = False txtMail.Locked = FalseEnd Sub
Private Sub desactivatext() txtApe_cli.Locked = True txtNom_cli.Locked = True txtDni.Locked = True txtTelefono.Locked = True txtDireccion.Locked = True txtMail.Locked = TrueEnd Sub
Private Sub cmdCancelar_Click() activaBotones desactivatext frmMan_cli.Width = 5850End Sub
Private Sub llenacontroles() If rsClientes.EOF Then Exit Sub End If If rsClientes.BOF Then Exit Sub If IsNull(rsClientes("cod_cli")) Then txtCod_cli.Text = ""
Else txtCod_cli.Text = rsClientes.Fields("cod_cli") End If If IsNull(rsClientes("ape_cli")) Then txtApe_cli.Text = "" Else txtApe_cli.Text = rsClientes.Fields("ape_cli") End If If IsNull(rsClientes("nom_cli")) Then txtNom_cli.Text = "" Else txtNom_cli.Text = rsClientes.Fields("nom_cli") End If If IsNull(rsClientes("telefono")) Then txtTelefono.Text = "" Else txtTelefono.Text = rsClientes.Fields("telefono") End If If IsNull(rsClientes("dni")) Then txtDni.Text = "" Else txtDni.Text = rsClientes.Fields("dni") End If If IsNull(rsClientes("direccion")) Then txtDireccion.Text = "" Else txtDireccion.Text = rsClientes.Fields("direccion") End If If IsNull(rsClientes("mail")) Then txtMail.Text = "" Else txtMail.Text = rsClientes.Fields("mail") End IfEnd Sub
Public Sub SoloNumeros(KeyAscii As Integer) Select Case KeyAscii Case 8, 46 Case Is < 48, Is > 57 KeyAscii = 0 End SelectEnd Sub
Private Sub txtApe_cli_LostFocus() txtApe_cli.Text = UCase(txtApe_cli)End Sub
Private Sub txtnom_cli_LostFocus() txtNom_cli.Text = UCase(txtNom_cli)End Sub
Private Sub txtdni_KeyPress(KeyAscii As Integer) Call SoloNumeros(KeyAscii)End Sub
Private Sub txtTelefono_KeyPress(KeyAscii As Integer) Call SoloNumeros(KeyAscii)End Sub
Private Sub llenalista() ListView1.ListItems.Clear Dim nuevo As ListItem Dim i As Integer For i = 1 To rsClientes.RecordCount Set nuevo = frmMan_cli.ListView1.ListItems.Add(, ,
rsClientes.Fields("cod_cli")) nuevo.SubItems(1) = rsClientes.Fields("ape_cli") & ", " &
rsClientes.Fields("nom_cli") nuevo.SubItems(2) = rsClientes.Fields("dni") rsClientes.Move (1) Next iEnd Sub
Private Sub txtBus_Change() Dim cBus As String cBus = txtBus.Text Set rsClientes = New Recordset rsClientes.Open "select * from clientes where ape_cli like'" + Trim(cBus) &
"%" & "'", cn, adOpenStatic, adLockOptimistic llenalistaEnd Sub