Consulta vb y access2000

krizall
06 de Abril del 2004
hola a todos, espero puedan ayudarme, mi problema es el siguiente:
tengo una tabla en access llamada Modificada que tiene los siguientes campos
clave,descrip,producto,marca,precio_min,precio1,precio2,precio_publico,existencia,min.. y otros mas
pero estos son los que manejo en la consulta
el caso es que tengo un procedimiento que recoge la clave, descripcion y el precio_publico de un listview
ahora en base a esos datos tengo que seleccionar el precio_min, Precio1, precio1 y precio_Publico
bueno, se supone que esta informacion biene directamente de la base de datos y la tabla en cuestion.. el problema es que cuando selecciono un producto me tiene que mandar un mensaje en un inputbox con la lista de los cuatro precios y que podamos escoger uno de ellos.. bueno, se hace doble click en el listview, se busca el producto que tiene los datos y se supone que me tiene que mandar los precios, y no lo hace,... bueno si pero hab eces solo manda 0 0 0 0 puros ceros... y la verdad no se donde esta el problema.. bueno les mando el codigo...

Public Sub Venta(ByVal Clav As String, ByVal Desc As String, ByVal Pre As Currency)
Dim S As String
S = "select clave,DESCRIP,Producto,precio_min,precio1,precio2,[precio_publico],existencia,min from MODIFICADA where clave='" & Clav & "' and DESCRIP= '" & Desc & "' and precio_publico=" & Pre & ""
AbrirConn (Path)
ConsultarRs (S)
If Not rs.EOF Then
Vpro = rs!Producto
VExistencia = rs!Existencia
VpM = rs!precio_min
Vp1 = rs!Precio1
Vp2 = rs!Precio2
VpP = rs!precio_publico
VMin = rs!Min
End If
CerrarRsConn
Load FrmVenta
With FrmVenta.LvwImp.ListItems
If .Count = 0 Then
Nuevo:
PreciosDisponibles VpM, Vp1, Vp2, VpP
If VPU = 0 Then
MsgBox "El Precio de Venta No es Valido"
If .Count = 0 Then
Unload FrmVenta
End If
Exit Sub
ElseIf Cargado = False Then
Cargado = True
FrmVenta.Show
FrmVenta.WindowState = 1
End If
Set Ind = .Add(, , 1)
Ind.SubItems(1) = Clav
Ind.SubItems(2) = Vpro & ", " & Desc
Ind.SubItems(3) = Format(VPU / 1.15, "$ ###,###,##0.00")
Ind.SubItems(4) = Format(VPU / 1.15, "$ ###,###,##0.00")
GoTo Vaciar
ElseIf .Count > 0 Then
With FrmVenta
For I = 0 To .List2.ListCount - 1
If Clav = .List1.List(I) And Vpro = .List5.List(I) And Desc = .List2.List(I) And VpM = .List6.List(I) Then
Num = FrmVenta.LvwImp.ListItems(I + 1) + 1
Importe = .List3.List(I)
With FrmVenta.LvwImp
.StartLabelEdit
.ListItems(I + 1).Text = Num
.ListItems(I + 1).SubItems(3) = Format(Importe / 1.15, "$ ###,###,##0.00")
.ListItems(I + 1).SubItems(4) = Format((Importe * Num) / 1.15, "$ ###,###,##0.00")
End With
.List4.List(I) = .List4.List(I) - 1
VerificarExiste .List4.List(I), VMin
GoTo Actua
Exit Sub
ElseIf I = .List2.ListCount - 1 Then
GoTo Nuevo
End If
Next I
End With
End If
End With
Vaciar:
With FrmVenta
.List1.AddItem Clav
.List5.AddItem Vpro
.List2.AddItem Desc
.List3.AddItem Format(VPU, "$ ###,###,##0.00")
.List6.AddItem VpM
VExistencia = VExistencia - 1
.List4.AddItem VExistencia
VerificarExiste VExistencia, VMin
End With
Actua:
VentaTotal
With FrmVenta
.Text5 = Format(Suma, "$ ###,###,##0.00")
.Text6 = Format(Porciento, "$ ###,###,##0.00")
.Text7 = Format(TotalVent, "$ ###,###,##0.00")
.Label1.Caption = "Elementos Listados: " & .LvwImp.ListItems.Count
End With
VPU = 0
End Sub



Private Sub PreciosDisponibles(P1 As Currency, P2 As Currency, P3 As Currency, P4 As Currency)

Dim Titulo As String
Dim Mensaje As String
Dim Respuesta As String
Dim OtraRes As String
Mensaje = "Seleccione el Numero que Representa el Precio de Venta:" & vbCrLf
Mensaje = Mensaje & "1: " & P1 & vbCrLf
Mensaje = Mensaje & "2: " & P2 & vbCrLf
Mensaje = Mensaje & "3: " & P3 & vbCrLf
Mensaje = Mensaje & "4: " & P4 & vbCrLf
Mensaje = Mensaje & "5: Otro"
Titulo = "Precios de Venta Disponibles"
Retro:
Respuesta = InputBox(Mensaje, Titulo, "4")
If Not IsNumeric(Respuesta) Then
If Respuesta = "" Then
Exit Sub
Else
MsgBox "Solo se Admiten los Numeros del 1 al 5", vbInformation
GoTo Retro
End If
End If
Select Case Respuesta
Case 1
VPU = P1
Case 2
VPU = P2
Case 3
VPU = P3
Case 4
VPU = P4
Case 5
GoTo OtroPrecio
Case Is > 5
MsgBox "Solo se Admiten los Numeros que Figuran en la Lista"
GoTo Retro
End Select
Exit Sub
OtroPrecio:
OtraRes = InputBox("Introduzca el Precio de Venta", "Introducir Precio", "0")
If OtraRes = "" Then
Exit Sub
Else
If Not IsNumeric(OtraRes) Then
MsgBox "Solo se admiten Numeros"
GoTo OtroPrecio
Else
VPU = OtraRes
End If
End If

End Sub

estos son los dos procedimientos implicados...
alguien sabel cual es el error??? porque yo no...
pues es logico que una al buscar una clave y descripcion que cargaste de la bd tenga que encontrartelo y mostrarte los resultados..?? pero no lo hace
es mas mando un msgbox s para verificar que la consulta tenga los datos correctos y si los tiene pero cuando ejecuto el Consultarrs(s) y hago esto
if not rs.eof then
end if
me pasa por alto esta instruccion y no me recoge los valores y eso que tanto la clave como la descripcion existen en la base de datos...
bueno, espero me puedan ayudar...
atte:

basilio hernandez castillo

phileas fogg
06 de Abril del 2004
si gustas mandame el codigo y la BD y con gusto lo checko aunque al parecer tu error puede estar en la consulta si no pues al tener el codigo te dire

bye