Utilizo codigo para localizar un registro pero luego el dataset no funciona

Tengo el siguiente código de búsqueda en un botón, muestro a continuación:

Private Sub cmd_busqueda_Click()
If Me.Txtbusqueda <> "" Then ' si no está vacio nuestro cuadro de texto
Me.RecordSource = "select * from t_datosjugador where nombre like '*" & Me.Txtbusqueda & "*'"
End If
If IsNull(Me.Txtbusqueda) Then ' si esta vacio el cuadro de texto
MsgBox "DEBE INGRESAR UN TEXTO PARA INICIAR LA BÚSQUEDA", vbOKOnly, "ATENCION"
Me.Txtbusqueda.SetFocus ' devuelve el enfoque al cuadro de texto
End If

If Me.RecordsetClone.RecordCount = 0 Then ' si no encuentra nada
'If Me.RecordsetClone = 0 Then ' si no encuentra nada
MsgBox "NO SE ENCONTRÓ EL TEXTO BUSCADO", vbOKOnly, "AVISO"
End If
Exit Sub

End Sub

Pero luego que finaliza la busqueda y encuentre el registro los botones de movimiento no me funcionan:

Boton de previo: Me. Recordset. MovePrevious ó

Boton de siguiente: me.recordset.movenext

2 respuestas

Respuesta
2

¿Por qué no usas GotoRecord para moverte?

Para ir al anterior: DoCmd. GotoRecord,, acPrevious

Para ir al siguiente: DoCmd. GotoRecord,, acNext

Hizo el mismo efecto, gracias por tu ayuda

¿Y no será que solo encuentra una coincidencia con el valor buscado? Otra explicación no le encuentro, a no ser que tengas otro código por ahí que le afecta te en algo...

Respuesta
1

Te voy a aportar una idea. ¿Por qué complicar el código cuando se puede hacer más sencillo? Ya habrá tiempo para complicarlo.

Basta con que pongas en el evento Después de actualizar del cuadro de texto donde escribes la cadena que debe "buscar"

Private Sub Texto126_AfterUpdate()
If DCount("*", "clientes", "pais like  ""*""&'" & Me.Texto126 & "'&""*""") >= 1 Then
DoCmd.OpenForm "clientes", , , "pais like  ""*""&'" & Me.Texto126 & "'&""*"""
Else
MsgBox "No hay registros que cumplan esa condición", vbOKOnly + vbInformation, "Otra vez será, hoy no"
DoCmd.CancelEvent
End If
End Sub

Y te ahorras, el botón, ya que si no escribes nada aunque pongas el cursor en el cuadro de texto y pulses Enter, como no se ha actualizado, mal te va a buscar algo. Y si escribes algo entonces si puede empezar a buscar.

También te ahorras lo de me. Recordsetclone, etc

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas