Access - mensaje de listbox

 
Vista:
sin imagen de perfil

mensaje de listbox

Publicado por Ever (10 intervenciones) el 21/09/2015 17:36:07
hola!! tengo un problema en mi formulario de ventas. la cuestion es esta, al momento de presionar el boton "marcar producto" se ejecuta el codigo que traslada los datos de la tabla productos y los asigna a los ListBox pero me da un mensaje que dice "no se encontro el elemento en esta coleccion", a ver si me ayudan
Formulario-ventas
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

mensaje de listbox

Publicado por Enrique Heliodoro (1664 intervenciones) el 22/09/2015 00:23:26
¿Y? ....

Con esos datos no ha lugar a deducir nada, no solo hay que decir 'lo que falla', sino también 'lo que y como' se esta haciendo lo que se hace.

En principio se esta intentando hacer algo con un objeto que no esta/existe en donde se le busca (porque se llama de otra forma o simplemente esta en otro sitio)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

mensaje de listbox

Publicado por Ever (10 intervenciones) el 22/09/2015 00:45:36
este es el codigo del boton a ver si encuentras el error Maestro:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
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
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

mensaje de listbox

Publicado por Enrique Heliodoro (1664 intervenciones) el 22/09/2015 02:04:14
Y se 'para' en la línea ??????
(porque cuando un código se para lo hace en una línea determinada : 'la del error' )
Y ya en esa línea se verifican las variables activas (puede ser algo tan tonto como que se pase del índice en un bucle)

A ese código le sobran variables (por ejemplo esta: Dim codBarraProd As String)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar