Nunca me lo había planteado.. muy buena pregunta... La verdad es que no es nada complicado... No me indicas si el texto a remitir y el destinatario lo tendrás en una tabla o bien lo guardaremos en una variable... Yo creo que es mejor crearse una tabla... Nombre Tabla: tblMail Campos: Id (Autonumérico), Destinatario (Texto), Asunto (Texto), Mensaje (Memo), UltimaFecha (Fecha) Creamos una función en un módulo independiente... Function EnviarMail() Dim dbs as database dim rst as recordset On Error goto EnviarMail_Error 'Verificar si se trata del martes if datepart("w",Date())=vbTuesday then set dbs=Currentdb set rst=dbs.OpenRecordset("tblMail") if rst.RecordCount then if rst!UltimaFecha <>Date() then 'Aún no se ha pasado el mail DoCmd.SendObject , , , rst!Destinatario , , , rst!Asunto, rst!Mensaje, False rst.Edit rst!UltimaFecha=Date() rst.Update End if end if end if EnviarMail_Exit: On error resume next rst.close : dbs.Close Exit function EnviarMail_Error: msgbox err.number & " " & err.description,vbcritical resume EnviarMail_Exit End Function Atención! Esta función NO REMITE AUTOMÁTICAMENTE EL MAIL.. sino que abre el programa asociado para el correo electrónico llenando todos los campos y esperando que el usuario confirme el envío del mail.. Ahora únicamente faltaría crear una macro llamada forzosamente AUTOEXEC En Acción indica EjecutarCódigo y en Nombre de Función escribe textualmente y sin las comillas "EnviarMail()" Esto provocará que cada vez que se inicie la base de datos se ejecute la función, que verificará si se trata del martes, y si existe algún registro para enviar el mail... también comprobará que no haya sido remitido el mismo día.. Espero haberte sido de ayuda.. Saludos. Jordi Pérez i Madern Mataró (Barcelona)