Access - ENVIAR ADJUNTO DESDE FORMULARIO

   
Vista:

ENVIAR ADJUNTO DESDE FORMULARIO

Publicado por MARIA JOSE majo1272@hotmail.com (14 intervenciones) el 15/04/2015 15:16:25
Buenas, estoy un poco verde en vba y necesito ayuda urgente. Quiero enviar el/los datos adjuntos de una tabla desde un formulario, es decir, tengo un documento para cargar un camión y quiero enviárselo a mi proveedor.

Para enviar forms e informes utilizo este código y funciona (con el Outlook no puedo ya que a pesar de tenerlo instalado me falta una librería)

DoCmd.SendObject ObjectType:=acSendReport, _
ObjectName:="Ieldocumento de carga", _
OutputFormat:=acFormatPDF, _
To:="majo1272@hotmail,com", _
Subject:="CARGA CAMION", _
MessageText:=BODY, _
EditMessage:=True

Me falta adjuntar el campo de "datos adjuntos" que tengo en el formulario pero no hay manera.

Necesito ayuda de forma MUY URGENTE

Agradecería cualquier intento.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Norberto

ENVIAR ADJUNTO DESDE FORMULARIO

Publicado por Norberto (432 intervenciones) el 17/04/2015 09:43:29
Hola.

No entiendo qué es lo que te falta. El comando SendObject envía como archivo adjunto el informe que mencionas en ObjectName. En tu caso Ieldocumento de carga . ¿Qué es lo que quieres adjuntar si no es este informe?

Un saludo,

Norberto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ENVIAR ADJUNTO DESDE FORMULARIO

Publicado por MARIA JOSE (14 intervenciones) el 17/04/2015 09:59:25
Efectivamente con los informes, formularios etc no tengo problema. Pero lo que necesito es enviar un campo de una tabla que es del tipo "dato adjunto". Me explico un poco más. Tengo un listado de cargas a realizar en varios sitios que viene de la tabla "Hoja de Ruta Detalle". En esta tabla tengo un campo llamado "Archivo" donde pretendo subir un documento tipo doc. o pdf. para poder indicar cómo cargar la mercancía que recojo en cada sitio. Es decir, para cada sitio de carga puedo adjuntar uno o varios archivos.

Lo que necesito en enviar un correo (que será masivo pero con esto ya me apañaré) a cada lugar de carga y mandar dicho documento como un archivo adjunto. Lo que quiero es adjuntar al correo el archivo que tengo en el campo "Archivo" del tipo datos adjuntos.

¿Ahora mejor? Es un poco complicado de explicar. De todas maneras muchas gracias por el interés.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Norberto

ENVIAR ADJUNTO DESDE FORMULARIO

Publicado por Norberto (432 intervenciones) el 23/04/2015 14:07:04
Ok.

Te has explicado perfectamente. En este caso lo que tendrías que hacer es usar automatización de Outlook o CDO.

En el primer caso, debes añadir la referencia Microsoft Outlook xx.x Object Library. La forma de mandar el mensaje sería la siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub EnviarPorOutlook()
    Dim myItem As Outlook.MailItem
 
    Set myItem = Outlook.CreateItem(olMailItem)
    With myItem
        .To = "emaildeprueba@noexiste.net"
        .Subject = "Instrucciones de funcionamiento"
        .Body = "Estimados señores:" & vbCrLf & vbCrLf & _
                "Adjunto les enviamos las instrucciones de funcionamiento." & vbCrLf & vbCrLf & _
                "Atentamente," & vbCrLf & vbCrLf & _
                 "Departamento de atención al cliente"
 
        .Attachments.Add "Aquí tendrás que ver cómo adjuntar el archivo del campo"
        'Y aquí viene el problema con Outlook
        .Send 'Si usas el método .Send, Outlook te va a obligar a que valides a mano
        'el envío. Para ello te mostrará un cuadro de diálogo con el botón Sí
        'desactivado que se activará pasados unos segundos, lo cual es un engorro
        'para un envío masivo
    End With
 
End Sub

La otra opción es usar CDO. CDO te permite enviar un email directamente, sin usar Outlook ni ningún otro programa. En este caso, deberás incluir la referencia Microsoft CDO for Windows xxxx Library. Al no usar Outlook, debemos indicar no sólo los datos del destinatario, sino también, los de nuestra cuenta de correo: servidor, puerto, usuario... Un inconveniente es que los emails enviados no se quedan en ninguna bandeja de Outlook, pero si usas la misma cuenta que la que tengas en él, al menos no perderás las devoluciones.

Como su uso es un poco más complejo, te adjunto una BdD de muestra y a ver si de una manera o de otra, consigues lo que necesitas.

Un saludo,

Norberto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

ENVIAR ADJUNTO DESDE FORMULARIO

Publicado por MARIA JOSE (14 intervenciones) el 23/04/2015 15:52:30
Muchísimas gracias por la información. Después de lo que me has explicado creo que lo mejor será utilizar outllook ya que es el que se gasta en la empresa. No sé cómo pero con tu código me va el outllook. Sólo me fata como tu dices saber como adjuntar el campo de "datos adjuntos". De momento se me ha puesto un poco borde y no para de cascar errores pero ya se reduce el problema.

Por cierto ¿alguien sabe si es posible enviar un objeto y adjuntar el campo de "datos adjuntos" a la vez?

Lo tengo crudito

Muchas gracias de nuevo y un saludo. La BdD de muestra muy chula.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar