Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Agregar Artículos Form
1. Formulario para agregar Artículos
CODIFICACIÓN
En el espacio principal del formulario
Option Explicit
Dim cn As ADODB.Connection
Dim rsArticulos As ADODB.Recordset
En el formulario mismo
Private Sub Form_Load()
Set cn = New ADODB.Connection
Set rsArticulos = New ADODB.Recordset
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=d:sisventasdataventas.mdb"
.Open
End With
rsArticulos.ActiveConnection = cn
rsArticulos.Open "Select * from articulos", cn, adOpenStatic,
adLockOptimistic
llenalista
rsArticulos.MoveFirst
txtCod_art.Text = rsArticulos.Fields("cod_Art")
txtDescripcion.Text = rsArticulos.Fields("descripcion")
txtPrecio.Text = rsArticulos.Fields("precio")
txtSubtotal.Text = Val(txtPrecio) * Val(txtCantidad)
End Sub
2. En El Textbox Del Artículo
Private Sub txtBus_Change()
Dim cBus As String
cBus = txtBus.Text
Set rsArticulos = New Recordset
rsArticulos.Open "select * from articulos where descripcion like'" + Trim(cBus)
& "%" & "'", cn, adOpenStatic, adLockOptimistic
llenalista
End Sub
En el ListView1
Private Sub ListView1_Click()
Dim cCod_art As String
cCod_art = ListView1.SelectedItem.Text
rsArticulos.MoveFirst
rsArticulos.Find "cod_art='" + Trim(cCod_art) + "'"
txtCod_art.Text = rsArticulos.Fields("cod_Art")
txtDescripcion.Text = rsArticulos.Fields("descripcion")
txtPrecio.Text = rsArticulos.Fields("precio")
txtSubtotal.Text = Val(txtPrecio) * Val(txtCantidad)
txtCantidad.SetFocus
End Sub
En el TxtCantidad
Private Sub txtCantidad_Change()
txtSubtotal.Text = Val(txtPrecio) * Val(txtCantidad)
End Sub
3. En el botón aceptar
Private Sub cmdAceptar_Click()
'Ubicar con el la posicion correspondiente para guardar el stock
'de acuerdo a la cantidad ingresada se quitara el valor al stock
Dim cCod_art As String
cCod_art = ListView1.SelectedItem.Text
rsArticulos.MoveFirst
rsArticulos.Find "cod_art='" + Trim(cCod_art) + "'"
rsArticulos.Fields("stock") = rsArticulos.Fields("stock") - Val(txtCantidad.Text)
rsArticulos.Update
'rsArticulos.Refresh
frm_Venta.Show
'Agrega los productos al listview
Dim nuevo As ListItem
Dim Indiceicino As Integer
Set nuevo = frm_Venta.lvwVenta.ListItems.Add(, , txtCod_art.Text)
nuevo.SubItems(1) = txtDescripcion.Text
nuevo.SubItems(2) = txtPrecio.Text
nuevo.SubItems(3) = txtCantidad.Text
nuevo.SubItems(4) = txtSubtotal.Text
'halla el subtotal,igv,total
Static subt As Currency
frm_Venta.txtSubtotal.Text = Val(frm_Venta.txtSubtotal.Text) +
Val(frmVen_art.txtSubtotal.Text)
frm_Venta.txtIgv.Text = Val(frm_Venta.txtSubtotal.Text) * 0.19
frm_Venta.txtTotal.Text = Val(frm_Venta.txtSubtotal.Text) +
Val(frm_Venta.txtIgv.Text)
'Generar las variables auxiliares
'Estas variables almacenara 'temporalmente,como maximo 100 registros
cont = cont + 1
If cont > 10 Then
MsgBox ("No se puede vender mas productos el ultimo Producto no sera
considerado")
Else
xCod_art(cont) = txtCod_art.Text
xDescripcion(cont) = txtDescripcion.Text
xPrecio(cont) = Val(txtPrecio.Text)
xCantidad(cont) = Val(txtCantidad.Text)
xSubtotal(cont) = Val(txtSubtotal.Text)
Unload Me
End If
End Sub
4. En el botón cancelar
Private Sub cmdCancelar_Click()
Unload Me
End Sub
Otras codificaciones en el formulario
Private Sub llenalista()
ListView1.ListItems.Clear
Dim nuevo As ListItem
Dim i As Integer
For i = 1 To rsArticulos.RecordCount
Set nuevo = frmVen_art.ListView1.ListItems.Add(, ,
rsArticulos.Fields("cod_art"))
nuevo.SubItems(1) = rsArticulos.Fields("descripcion")
nuevo.SubItems(2) = rsArticulos.Fields("precio")
rsArticulos.Move (1)
Next i
End Sub
Private Sub txtCantidad_Change()
txtSubtotal.Text = Val(txtPrecio) * Val(txtCantidad)
End Sub