Seleccionar sólo último registro de una tabla en form

Hola, te comento la inquietud que tengo. Tengo un subformulario que hace referencia a una tabla (comentarios), en esta tabla hay 3 campos (fecha, nombre, comentario). Lo que a mi me interesaría es lograr que en el subformulario en cuestión solamente aparezca el último registro.
Una posibilidad es mediante el campo fecha, la otra es que le agregue a los 3 campos un cuarto que sea el id y autonumérico. Pero claro, no sé cual seria la instrucción para que aparezca sólo el último registro.
Saludos y gracias!

1 respuesta

Respuesta
1
Puedes poner en la propiedad filtro del formulario lo siguiente:
Fecha in (select max(fecha) from comentarios)
Y después activar los filtros del formulario.
No me ha funcionado. Me dice que no se puede aplicar el filtro porque los registros están bloqueados.
Pero pongo todos los registros sin bloquear, sólo registro activo o registro modificado y no funciona.
No entiendo que te de ese problema, habría que verlo en la base de datos.
Otra forma posible es que pongas el siguiente código en el subformulario:
Private Sub Form_Current()
    If Me.Recordset.RecordCount > 0 Then
        ' Si hay registros... nos vamos al último (sino no hacemos nada)
        DoCmd. GoToRecord acDataForm, Me. Name, acLast
    End If
End Sub
Con ese código, cada vez que se active un registro del subformulario se moverá automáticamente al último registro.
Disculpa que siga molestando, pero no me ha funcionado.
Al poner el código, cuando abro el formulario (con el subformulario en cuestión) no muestra el ultimo registro. Sí me lo muestra cuando abro solamente el subformulario, pero no es lo que preciso. O sea, el código sì funciona, el problema que es que no lo hace cuando se abre dentro del formulario principal.
Al principio me tiraba error pero era porque decía que no estaba abierta la tabla comentarios, después se la puse también como origen de registro al formulario principal y no salltò más el error.
Gracias de nuevo!
Saludos
Envíame una copia comprimida en "zip" de la base de datos (versión anterior a la 2007) a mi correo: [email protected]
Si ocupa más de 1 mega, me envías el fichero a [email protected] y un aviso a mixmail (no suelo consultar mucho hotmail).
Por cierto, en el correo ponme tu nick de aquí porque luego no sé de quien es cada cosa.
Por lo que he podido ver, el "docmd.gotorecord" no funciona bien cuando se trata de subformularios. No entiendo porqué, pero es así.
He visto que puedes hacer lo mismo con "me.recordset.movelast", y sí funciona en los subformularios.
Te envío por correo la base de datos con un par de formularios/subformularios.
Por cierto, el "id" de la tabla de trabajadores estaba definido como texto y como número en la de comentarios. He cambiado el campo a numérico.
Perfecto!
Con ese me anduvo perfecto.
No abrí el mail, pero modifique lo que me dijiste, también lo de los id.
Gracias! Genial lo tuyo.
Saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas