Lo puedes hacer de muchas formas, todo depende de como tengas construida la base.
Voy a suponer cosas:
Supongamos que tienes una tabla Activos con Idactivo, Activo, fecha, yo que se, etc. Añádele un campo Enviado(Sí/No)
Supongamos que en la base tienes un formulario de inicio, que es el que aparece al abrirla,.
En el evento Al cargar o en el evento Al abrir puedes poner
If dcount("activo","activos","fecha=date() and enviado=0")>=1 then
dim respuesta as integer
Respuesta=msgbox("Nenico, tienes informes por enviar.¿Los quieres mandar ahora?", vbyesno+ vbcritical"Que conste que te avisé, luego no digas")
if respuesta=vbyes then
docmd.openreport"nombre del informe",acpreview,,"fecha=date() and enviado=0"
elseif respuesta=vbno then
lo que quieres que hagas al decirle que no
end if
end if
Como te decía, al no saber como la tienes construida, en algún evento, por ejemplo de un botón cerrar, pones el mismo código o algo asi como
...
if respuesta =vbyes then
Docmd. Cancelevent
Para que en el informe te ponga siempre un número correlativo
Supongamos que te aparecen los campos Activo, fecha, yoquesé,...
A la derecha de yoquesé añádele un cuadro de texto independiente y en sus propiedades-datos-origen de control le pones
=1
Y en suma continua elige sobre todo
Así, independientemente de que muestre 10 registros como 200 te los numerará correlativamente.
Y por último, una vez que hayas hecho con el informe lo que tengas que hacer, en el mismo evento en que le has dicho algo puedes añadirle
docmd.setwarnings false
docmd.runsql"update Activos set enviado=-1 where enviado=0 and fecha=Date()"
Es decir, que una vez que se haya hecho lo que sea con el informe, que te marque como Si enviados aquellos registros de la tabla Activos en que Enviado no esté marcado(no) y que sean frescos(los del día del sistema).