Aquí va la pregunta "disparo"

Con el comando DoCmd. SendObject acReport envio un objeto a traves de correo electronico.
En mi caso envío un informe utilizando el outlook, según le expongo:
DoCmd. SendObject acReport, "Documento_a_enviar", "FormatoSnapshot(*.snp)", "[email protected]", "[email protected]", "", "Documento a enviar", "Adjunto le envio el documento a enviar", False, ""
La pregunta es la siguiente:
¿Podría esta comando coger los distintos correos de una consulta por ejemplo donde uno de los campos sea correos electrónicos?
Ejemplo:
DoCmd.SendObject acReport, "Documento_a_emviar", "FormatoSnapshot(*.snp)", "[Consulta1].[Correo]", "[Consulta1].[Correo]", "", "Documento a enviar", "Adjunto le envio el documento a enviar", False, ""
Igual no se puede...

1 respuesta

Respuesta
1
Me temo que no puedes hacerlo tal como indicas.
Una opción seria abrir un recordset sobre la consulta y lanzar tantos SendObject como registros.
Otra opción es abrir igualmente el recordset y añadir todos los destinatarios en una cadena de texto para incluirla en el argumento adecuado. Eso puede tener una limitación de tamaño.
Xavi
La primera opción me seduce bastante si logro mis fines.
¿Me puedes decir como se hace? O darme un ejemplo o bien un link a algún ejemplo.
Gracias Xavi
Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset("Consulta1")
' se supone que esa consulta ya tiene todos los registros a los que quieres enviar el correo
If rst.EOF Then
  ' está vacia.
  rst.Close
  Set rst = Nothing
  Exit Sub
End If
While Not rst.EOF
  DoCmd. SendObject acReport, "Documento _a_enviar", "FormatoSnapshot(*.snp)", rst! Correo,, "Documento a enviar", "Adjunto le envío el documento a enviar", False, ""
  rst.MoveNext
Wend
MsgBox "Proceso finalizado", vbInformation, "AVISO"
rst.Close
Set rst = Nothing
Escrito del tirón...

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas