¿Cómo lograr que, en visual basic, el contenido de una variable lo considere: una parte texto y otra como el nombre de un campo?
Tengo un formulario creado con Access 2007 en el que he creado un evento después de actualizar para remitir un correo electrónico con la siguiente instrucción:
DoCmd.SendObject acSendNoObject, , acFormatTXT, tblComu_Correos & "; " & tblComu_CorreosInme & varCorreosEnvio, , , "Comunicación " & tblAltBaj_Cau & " de " & tblEmpl_Nom & " " & tblEmpl_Ape, "Prueba de envío de correos con visual", varEnvioAutomatico
El correo lo envía sin ningún problema y, en el asunto del mensaje, el texto que aparece sustituye los nombres de campos por el valor que corresponde.
Sin embargo, para evitar tener que ir a modificar el código del programa siempre que se desee modificar el texto del asunto del mensaje, he creado un formulario vinculado a una tabla de configuración de correo que tiene unos campos de texto en los que la idea sería introducir el texto que debería alimentar la instrucción para enviar los correos electrónicos.
Sin embargo, cuando modifico la instrucción y pongo el siguiente código:
DoCmd.SendObject acSendNoObject,, acFormatTXT, tblComu_Correos & "; " & tblComu_CorreosInme & varCorreosEnvio,,, varAsuntoConfirmado, varMensajeConfirmado, varEnvioAutomatico
donde "varAsuntoConfirmado" es una variable que se alimenta del contenido de la tabla de configuración de correo.
El correo se envía igualmente; pero, en este caso el asunto del mensaje siempre es el literal de la instrucción. Es decir siempre muestra: "Comunicación " & [tblAltBaj_Cau] & " de " & tblEmpl_Nom & " " & tblEmpl_Ape
He hecho diversos intentos cambiando las comillas (") por una comilla simple (') o poniendo dos comillas al principio y al final de la instrucción (""); pero siempre con el mismo resultado.
¿Es posible hacer que, de algún modo, la instrucción de envío de correo no interprete todo el contenido de la variable como texto?