Access - Guardar registro actual, borrar filtro y pasar al siguiente registro

 
Vista:
sin imagen de perfil
Val: 40
Ha aumentado su posición en 3 puestos en Access (en relación al último mes)
Gráfica de Access

Guardar registro actual, borrar filtro y pasar al siguiente registro

Publicado por Painzer (19 intervenciones) el 17/01/2019 18:23:12
Hola a todos.

Tengo un formulario al cual accedo desde otro que me ejecuta un filtro sobre este (según que seleccione en el anterior). Necesito que al darle al botón siguiente me pase al siguiente registro al actual. Hasta ahora solo he conseguido que al darle al botón me quite el filtro y me va al primer registro...

Aquí mi código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Siguiente_Registro_Click()
If Me.FilterOn = True Then
    Dim finca As String
    Dim rst As DAO.Recordset
    id= Me.ID
 
    Me.FilterOn = False
    Set rst = Me.RecordsetClone
    rst.FindFirst "[ID]=" & id
End If
 
If Me.FilterOn = False Then
    DoCmd.GoToRecord , , acNext
End If
End Sub

Muchas gracias de antemano.
Un saludo,
Jesús.
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
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Guardar registro actual, borrar filtro y pasar al siguiente registro

Publicado por Norberto (753 intervenciones) el 18/01/2019 14:01:13
Hola:

Después de la línea 9 pones lo siguiente:

1
    Me.Bookmark = rst.Bookmark

Un saludo,

Norberto.
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: 40
Ha aumentado su posición en 3 puestos en Access (en relación al último mes)
Gráfica de Access

Guardar registro actual, borrar filtro y pasar al siguiente registro

Publicado por Painzer (19 intervenciones) el 18/01/2019 18:57:57
Buenas Norberto!

Un placer que seas el primero en ayudarme.

Ya lo tenía puesto antes, pero tampoco iba. Lo he vuelto a poner y sigue sin funcionar..

Un saludo,
Jesús.
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

Guardar registro actual, borrar filtro y pasar al siguiente registro

Publicado por Anonimo (1 intervención) el 18/01/2019 20:16:45
Lo que se desea no es el registro actual, al parecer se desea el siguiente al actual (con el filtro aplicado).

Si la 'línea 9' no da un error, se habrá localizado el registro en la copia oculta (mas claro 'en la copia de la copia oculta' ).

Si se localizo:
.- el clone y el actual serán el mismo
.- en el clone se avanza uno (si existe, pues el actual podría ser el ultimo)
.- este seria el siguiente que se buscaba y ese Bookmark o ID es el que se tiene que guardar para utilizar mas tarde

Al quitar el filtro el cambio en el origen de datos exige que se comience en el primero (o en el ultimo si asi se le impone), es el momento de utilizar el dato guardado para localizar en el clone 'el registro guardado antes' y tras ello sincronizar el formulario con el clone.
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: 40
Ha aumentado su posición en 3 puestos en Access (en relación al último mes)
Gráfica de Access

Guardar registro actual, borrar filtro y pasar al siguiente registro

Publicado por Painzer (19 intervenciones) el 19/01/2019 17:35:34
No entendí nada jaja
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
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Guardar registro actual, borrar filtro y pasar al siguiente registro

Publicado por Norberto (753 intervenciones) el 28/01/2019 15:05:58
Hola:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub Siguiente_Registro_Click()
    Dim Id As String
    Dim rst As DAO.Recordset
    If Me.FilterOn = True Then
        Id = Me.ID
 
        Me.FilterOn = False
        Set rst = Me.RecordsetClone
        rst.FindFirst "[ID]=" & Id 'Si el campo ID es númerico
        If Not rst.EOF Then rst.MoveNext
        Me.Bookmark = rst.Bookmark
    Else
        DoCmd.GoToRecord , , acNext
    End If
    Set rst = Nothing
 
End Sub

Lo he probado y funciona.

Un saludo,

Norberto.
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