Private Sub cmdMarcarProd_Click()
On Error GoTo err:
'variable de conexion a tabla productos
Dim rs As DAO.Recordset
Dim sql As String
'datos del producto
Dim codBarraProd As String
Dim precioProd As Double
Dim descripcionProd As String
Dim cantArticulos As Integer
Dim precioTot As Double
'datos de la venta
Dim tvc As Integer 'contador de ventas
Dim tac As Integer 'contador de articulos
Dim contadorLista As Integer
'inicilizacion de valores
codBarraProd = Me.txtCodArt.Value
'consulta de productos por codigo de barras
sql = "SELECT * FROM PRODUCTOS WHERE Codigo_Barras ='" & codBarraProd & "'"
'se ejecuta consulta en la base de datos actual
Set rs = CurrentDb.OpenRecordset(sql)
If rs.BOF And rs.EOF Then
MsgBox "Verifique codigo de barra, Producto no Existe", vbOKOnly, "No Exite Codigo"
Else
precioProd = rs![Precio_Venta]
descripcionProd = rs![Des_Producto]
'imptoProducto = rs!iva
End If
'poblar lstBoxs
Me.lstDesc.AddItem (descripcionProd)
Me.lstCant.AddItem (Me.txtCantArt.Value)
Me.lstPrecUni.AddItem (precioProd)
precioTot = Me.txtCantArt.Value * precioProd
Me.lstPrecTot.AddItem (precioTot)
'poblar estructura de datos
contadorLista = lstDesc.ListCount
With artVendido(contadorLista)
.idprod = rs!Id_Producto
.desc = rs!descripcionProd
.cant = Me.txtCantArt.Value
.prec_uni = precioProd
.pre_tot = precioTot
End With
'totalizar venta
TotalVenta = 0
For tvc = 1 To contadorLista
TotalVenta = TotalVenta + artVendido(tvc).pre_tot
Next tvc
Me.lblCantArt.Caption = contadorArticulos
'totalizar cantidad de articulos
contadorArticulos = 0
For tac = 1 To contadorLista
contadorArticulos = contadorArticulos + artVendido(tac).cant
Next tac
Me.lblCantArt.Caption = contadorArticulos
'Imprime en pantalla el total acumulado
Me.lblTotal.Caption = Format(TotalVenta, "L.#,###.00")
'regresa a 1 la cantidad de articulos
Me.txtCantArt.Value = 1
'borra el codigo de barra y espera uno nuevo
Me.txtCodArt.Value = ""
Me.txtCodArt.SetFocus
'cierra conexion
rs.Close
Set rs = Nothing
Exit Sub
err:
MsgBox err.Description