Visual Basic - InputBox en la Recordset

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 55
Ha aumentado su posición en 10 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

InputBox en la Recordset

Publicado por Cristian (19 intervenciones) el 19/05/2021 00:33:57
Hola, buenas a todos, alguien sabe como solucionar este problema:

Tengo una Datagrid ya Cargada con sus Datos y al querer buscar con un InputBox campo clave "busca" no logro identificar por que la Recordset no me está llamando a la consulta del InputBox, , tengo cargado en módulos "Global RsTablaCtrlValores As New ADODB.Recordset" estoy usando SQL 14 mas VBa Pro.6.0

aquí esta la linea

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub CmdBuscar_Click()
busca = InputBox(" Ingrese el nombre del campo a buscar ", "buscar")
If busca = "" Then Exit Sub
 
With RsTablaCtrlValores
    .Requery
    .Find "NombreProducto = ' " & Trim(busca) & " ' "
 
If .EOF Then    ====> aquí me indica que es verdadero
    MsgBox " No se encontró Ningún Producto con este Nombre"   ===> yo se, que existe. Me manda al Msgbox
    Exit Sub
Else
            TxtNombreRegistrarProductos.Text = GrillaCtrlValores.Columns(1).Text
            TxtDetalleRegistrarProductos.Text = GrillaCtrlValores.Columns(2).Text
            TxtPrecioCostoRegistrarProductos.Text = GrillaCtrlValores.Columns(3).Text
            TxtPrecioVentaRegistrarProductos.Text = GrillaCtrlValores.Columns(4).Text
            Label2.Caption = GrillaCtrlValores.Columns(0).Text
            End If
End With
End Sub


Nuevamente agradeciendo su tiempo.
Muchas Gracias
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
Val: 355
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

InputBox en la Recordset

Publicado por raul (160 intervenciones) el 19/05/2021 15:31:49
Un poco de logica hermano. Tu buscaste en el recordset el valor que querias OK [o sea el recordset se ha pocicionado en el valor que encontró]

1- Si no se actualiza la Grilla esta conserva la ultima posición [AdsolutePosition o BOOKMARK]
2- O sea que tienes una grilla y un recordset desfazados...

Soluciones

1- modificas este trozo de codigo

1
2
3
4
5
TxtNombreRegistrarProductos.Text = RsTablaCtrlValores.fields(1)
TxtDetalleRegistrarProductos.Text = RsTablaCtrlValores.fields(2)
TxtPrecioCostoRegistrarProductos.Text = RsTablaCtrlValores.fields(3)
TxtPrecioVentaRegistrarProductos.Text = RsTablaCtrlValores.fields(4)
Label2.Caption = RsTablaCtrlValores.fields(0)

2 - Antepones esta linea despues de el 'ELSE'

1
GrillaCtrlValores.refresh
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
Val: 55
Ha aumentado su posición en 10 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

InputBox en la Recordset

Publicado por cristian (19 intervenciones) el 20/05/2021 03:20:10
Hola Raul, si claro Realicé los cambios y sigue exactamente con el mismo problema ...me manda al msgbox ..!
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
Val: 55
Ha aumentado su posición en 10 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

InputBox en la Recordset

Publicado por Cristian (19 intervenciones) el 20/05/2021 21:49:54
Solucionado era mas fácil y simple de lo que pensaba mil gracias hermano. Saludos
solución
Do While Not .EOF
........exit Do
move nex
loop
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