Access - dlast y recordset.movelast

 
Vista:
sin imagen de perfil
Val: 266
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

dlast y recordset.movelast

Publicado por Pablo (328 intervenciones) el 13/03/2023 19:42:48
Acabo de trabajar con la función Dlast y tras muchas vuelta llegué a:
Private Sub Texto41_Click()
Me.Texto41 = DLast("tienda_muestra", "muestras_ordenadas_x_codigo")
Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset("muestras_ordenadas_x_codigo")
rst.MoveLast
Me.Texto42 = rst!tienda_muestra & " de " & rst.RecordCount
rst.Close
Set rst = Nothing
End Sub
Texto41 lo igualo a un dlast de una consulta. Txt41=9
Texto42 lo igualo al último de un recordset basado en la misma consulta. Txt42="7 de 7"
Deberían ser el mismo número!?
txt41=9 y txt42=7, este está bien, el 41 coge el valor del penúltimo registro
No entiendo porque dlast no da 7 también, seguro que hay alguna razón
Alguien podría decirmela
Gracias
Pablo
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

dlast y recordset.movelast

Publicado por Anonimo (3316 intervenciones) el 14/03/2023 02:37:15
DLast es es el ultimo de un conjunto pero ¿por que campo esta ordenado el conjunto de datos?.

Lo mas usual es que sin orden especificado se ordenen por el id si es numérico y si es autonumérico crecen las posibilidades, pero como es 'a capricho de Access' ....

Para saber si falta o no un registro .. se cuentan (o se le pregunta cuantos tiene) y se comparan las respuestas obtenidas.
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 Joan
Val: 414
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

dlast y recordset.movelast

Publicado por Joan (90 intervenciones) el 14/03/2023 12:53:50
Hola,

Puedes probar con estos, siempre pon el Id (autonumérico que tu tengas), para que asegurarte que siempre te dé el último.


1
Nz(DLast("tienda_muestra", "muestras_ordenadas_x_codigo", "Id=" & Me.Id & ""))
1
Nz(DMax("Id", "muestras_ordenadas_x_codigo", "tienda_muestra='" & Me.tienda_muestra & "'"))
1
Nz(Count("tienda_muestra", "muestras_ordenadas_x_codigo", "Id=" & Me.Id & ""))

Puedes combinar los criterios.

Un saludo,
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