Hasta donde yo sé no es posible hacerlo directamente como pides. Sin embargo, sí puedes hacer una "trampa" y colarle el gol a Access :)
Haz la prueba en una copia de tu BD porque no lo he testeado: me lo he inventado sobre la marcha.
Lo primero que necesitamos es capturar qué título le vamos a dar al informe. Para ello declaramos una variable y cogemos el valor del campo del formulario, que voy a suponer que se llama [Title], si no he interpretado mal tu mensaje.
Eso se haría con:
Dim miTitulo as string
miTitulo = nz(me.Title.value,"")
Para evitarnos errores si el campo título está vacío vamos a añadir otra línea que nos lo deje con un nombre casi igual al original. Esa línea sería:
If miTitulo="" then miTitulo="informe_mensajeria"
A continuación vamos a coger el informe llamado "informemensajería" y lo vamos a copiar, poniéndole el título que nos interesa:
DoCmd. CopyObject, miTitulo, acReport, "informemensajeria"
Seguidamente lo enviamos utilizando tu código, al que sólo habría que cambiarle una palabra (la marcada en negrita), así:
DoCmd.SendObject acSendReport, miTitulo, "pdf", DLookup("[Dirección de correo electrónico]", "Empleados", "[Id]=" & Nz(Destinatario, 0)), "", "", Replace("Entrada mensajería de |", "|", Nz(Title, "")), IIf(Form.Title.TextFormat = 1, PlainText(Destinatario), [Cuerpomensaje]), True, ""
Finalmente borramos el informe que hemos copiado, de la siguiente manera:
DoCmd. DeleteObject acReport, miTitulo
Y listos!
El código entero quedaría así:
...
Dim miTitulo as string
miTitulo = nz(me.Title.value,"")
If miTitulo="" then miTitulo="informe_mensajeria"
DoCmd.CopyObject , miTitulo, acReport, "informemensajeria"
DoCmd.SendObject acSendReport, miTitulo, "pdf", DLookup("[Dirección de correo electrónico]", "Empleados", "[Id]=" & Nz(Destinatario, 0)), "", "", Replace("Entrada mensajería de |", "|", Nz(Title, "")), IIf(Form.Title.TextFormat = 1, PlainText(Destinatario), [Cuerpomensaje]), True, ""
DoCmd. DeleteObject acReport, miTitulo
...
Insisto, hazlo sobre una copia de tu BD porque se están creando y borrando objetos de la BD y, aunque en principio no se tocan en ningún momento los objetos originales, por eso de ser precavido mejor haz la prueba en una copia.
Ya me dirás si te ha funcionado.
Estaba buscando hacer justo eso y me quedo perfecto el código que explicaste, ¿sin embargo tengo una consulta como podría hacértela llegar Neckkito? Gracias ! - Seru Senna
Utiliza este foro: http://bit.ly/ForoNkSv Hay mucha gente que sabe y, si no soy yo, seguramente recibirás una respuesta satisfactoria. Saludos - Neckkito Nck