[RESUELTO] Ocultar campos al mandarlos por correo (PDF) desde un formulario

Dudas sobre Tablas, Consultas, Formularios, Informes...
mar7632
Nivel 2
Mensajes: 29
Registrado: Vie Ene 11, 2019 1:25 pm

[RESUELTO] Ocultar campos al mandarlos por correo (PDF) desde un formulario

Mensajepor mar7632 » Vie Ene 11, 2019 2:06 pm

Hola a tod@s,

Llevo desde octubre aprendiendo sobre Access, poco a poco voy mejorando mis conocimientos y más o menos me estoy apañando. Estoy agradecido por la gente que sigue colaborando en este foro, porque con sus dudas/respuestas ayudan muchísimo a la hora de resolver el típico imprevisto que siempre aparece. Sobre todo, quería agradecer los temas que han sido creados por Neckkito.

Dicho esto, tengo una duda. Os pongo en contexto:

Tengo un formulario en donde se rellenan unos datos técnicos, que posteriormente van a ser enviados en forma de PDF por correo (Outlook). Entre los campos que hay que completar están: fecha_entDT y fecha_salDT (tipo de dato:fecha/hora).

Hasta aquí no hay problema, pero la gracia es que a la hora de enviar el formulario por PDF, que no se vean esos dos campos que antes he mencionado. Que permanezcan ocultos/ no visibles para la persona que va a recibir el correo. (No los tiene que ver bajo ningún concepto :lol: )

(Para mandar el correo: previamente utilizo un filtro en donde selecciono el registro del formulario que me interesa, posteriormente voy a la PESTAÑA -> "Datos Externos" -> "Enviar por correo electrónico" -> pdf* -> aceptar y enviar)

He estado investigando por este foro y por otros. He encontrado que una posible opción es usar la expresión "Visible" mediante VBA, pero no sé muy bien cómo implementarlo. O tal vez, no hace falta el uso de código...

Mi nivel de uso de VBA de una escala de 1 (no sé nada de nada) a 10 (experto) es de 2-3. :lol: . Además, agradecería si la respuesta tuviera todo tipo de detalle. Pues mi nivel no es que sea muy alto.

Espero que me podáis ayudar, muchas gracias de antemano,

Un saludo.
Última edición por mar7632 el Mié Ene 16, 2019 10:29 am, editado 2 veces en total.

pitxiku
VIP
Reto02
Mensajes: 215
Registrado: Sab Sep 30, 2017 6:23 pm

Re: Ocultar campos al mandarlos por correo (PDF) desde un formulario

Mensajepor pitxiku » Vie Ene 11, 2019 6:35 pm

Una posibilidad es crear un informe con los datos que quieres que se vean en el pdf, y enviar este informe en vez del formulario.

Para que Access sepa cuál es el registro que quieres mandar, puedes indicarlo en la consulta que uses como base del informe, o a la hora de abrirlo:

- https://support.office.com/es-es/articl ... ef4880b50b
- http://www.accessyexcel.com/access-como ... ormulario/
- https://docs.microsoft.com/es-es/office ... -or-report

mar7632
Nivel 2
Mensajes: 29
Registrado: Vie Ene 11, 2019 1:25 pm

Re: Ocultar campos al mandarlos por correo (PDF) desde un formulario

Mensajepor mar7632 » Vie Ene 11, 2019 7:16 pm

Gracias por responder Pitxiku y por los enlaces, les echaré un vistazo más a fondo.

Si no he entendido mal, ¿La idea está que al acabar de rellenar todos los campos del registro "A" (por poner un ejemplo), mediante una macro se abra solamente el registro "A" en un informe y de ahí enviarlo por correo en formato PDF?

- En el caso de ser así. ¿La macro creada sería: seleccionando el formulario entero -> Hoja de propiedades -> "Evento" -> "Después de actualizar" -> Macro ------> seleccionar "AbrirInforme" ?

- Por el contrario, si no es como he comentado. ¿Cómo sería?

Gracias de antemano :D .

pitxiku
VIP
Reto02
Mensajes: 215
Registrado: Sab Sep 30, 2017 6:23 pm

Re: Ocultar campos al mandarlos por correo (PDF) desde un formulario

Mensajepor pitxiku » Sab Ene 12, 2019 4:02 pm

Vamos por partes:

- "[…]mediante una macro se abra solamente el registro "A" en un informe y de ahí enviarlo por correo en formato PDF?" -> Sí, esa es la idea. Crear un informe con un diseño que quieras/necesites, y que sólo tenga los campos que quieres que vea el destinatario. Y ya puestos, que sólo tenga el registro que estás viendo en el formulario. P.D.: Si necesitas que el pdf tenga más registros, también se puede hacer.

- "[…]¿La macro creada sería:[…]? -> Todo depende de cómo y cuándo quieras ejecutar la macro. Puede ser en el evento que indicas, pero eso hará que se ejecute siempre que crees/actualices un registro. También puedes colocar un botón en el formulario, y asignarle a ese botón la macro. Así, sólo enviarás el correo cuando pulses el botón. O puedes tener las 2 opciones: siempre que actualices el registro, más cuando pulses el botón. O puede ser en otra situación distinta: eso lo debes decidir tú.

En cuanto a las acciones de macro, puede ser algo así:

Imagen

Que viene a decir:

1. Si el registro está siendo modificado, primero se guarda para evitar que el informe no muestre los datos actualizados.
2. Abrir el informe de nombre "Clientes" (cámbialo por el tuyo), en vista preliminar, oculto (sólo necesitamos enviarlo, no verlo), y filtrado por el campo [Id]. El filtro deberás ajustarlo a los nombres reales del campo clave en el informe, y del control/cuadro de texto/lo que tengas en el formulario para ver el valor del campo clave.
3. Envía el informe por correo, en formato pdf. Si lo necesitas, puedes indicar título, cuerpo del mensaje, destinatarios, …
4. En la macro falta cerrar el informe una vez enviado, y un control de errores. Para lo primero, revisa la acción CerrarVentana; y para lo segundo, si no lo usas, será Access quien te avise de los errores. Si no, siempre puedes usar la acción AlOcurrirError y las relacionadas con ella:

- https://support.office.com/es-es/articl ... 9289d81913

mar7632
Nivel 2
Mensajes: 29
Registrado: Vie Ene 11, 2019 1:25 pm

Re: Ocultar campos al mandarlos por correo (PDF) desde un formulario

Mensajepor mar7632 » Sab Ene 12, 2019 6:30 pm

El lunes haré las pruebas en la BBDD, con todo lo que me has sugerido. Ya te diré.

Muchas gracias por el tiempo. :D

mar7632
Nivel 2
Mensajes: 29
Registrado: Vie Ene 11, 2019 1:25 pm

Re: Ocultar campos al mandarlos por correo (PDF) desde un formulario

Mensajepor mar7632 » Lun Ene 14, 2019 10:03 am

Buenos días,

Gracias Pitxuki, he realizado las pruebas y me sale lo que necesitaba. Tal vez haya que perfeccionar el procedimiento para que sea más intuitivo para la gente que va a usar la BBDD.

Te quería comentar un mensaje que me sale a la hora de ejecutar la macro y quería saber si es correcto o no, el cual es el siguiente (además, aprovecho para enseñarte la estructura de la macro :) ) :

Muchas gracias,
Adjuntos
dudasACCESS1.PNG
dudasACCESS2.PNG

pitxiku
VIP
Reto02
Mensajes: 215
Registrado: Sab Sep 30, 2017 6:23 pm

Re: Ocultar campos al mandarlos por correo (PDF) desde un formulario

Mensajepor pitxiku » Lun Ene 14, 2019 6:35 pm

El mensaje de error puede ser por el Si de la primera línea (que por cierto, no se ve :lol: ) Si te falla, prueba a quitar la condición, y guarda siempre el registro.

En cuanto a la estructura, una cosa: como has puesto la acción AlOcurrirError al final de la macro, Access sólo lo tendrá en cuenta cuando llegue allí, que es: cuando acabe la macro. Para que el control de errores sea bueno, ponlo antes de las acciones que pueden causar el error, o al principio de la macro.

Y por último, otra cosa: como (casi) nunca lo he usado, siempre me olvido de una cosa: los controles y secciones tienen una propiedad, Mostrar cuando, que permite que se vean siempre, sólo en la pantalla, o sólo al imprimir:

- https://docs.microsoft.com/es-ES/office ... isplayWhen

mar7632
Nivel 2
Mensajes: 29
Registrado: Vie Ene 11, 2019 1:25 pm

Re: Ocultar campos al mandarlos por correo (PDF) desde un formulario

Mensajepor mar7632 » Mié Ene 16, 2019 10:28 am

Ya lo he probado y funciona correctamente, muchas gracias por la ayuda.


Volver a “Objetos Access”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados