Access - Destinatarios de mail desde una consulta

 
Vista:

Destinatarios de mail desde una consulta

Publicado por TatirusRex (4 intervenciones) el 14/09/2006 16:03:53
Hola:
Amigos foristas, les escribo porque estoy trantando de resolver esta cuestión.

Tengo una tabla que tiene datos de gente y un campo donde está la DirecciondeMail de ellos.
En un formulario me aparece un listado de esta gente (si cumplen ciertos criterios) y tengo que mandarles un mail a todos estos.
Tengo un botón con la función --- DoCmd.SendObject acSendQuery, "Nombre del Objeto", "Formato de salida", [TO],[CC], etc.

Como puedo hacer para que en la parte de los destinatarios [TO] tome los valores del campo DirecciondeMail de todos los registros listados?

Yo estuve probando definiendo:
Dim DESTINATARIOS as String

DoCmd.SendObject acSendQuery, "Nombre del Objeto", "Formato de salida", DESTINATARIOS ,[CC], etc.

pero no me doy cuenta como puedo hacer para que esa cadena de texto (DESTINATARIOS englobe todos los valores de los registros seleccionados en ese momento.

Desde ya muchas gracias
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 Alejandro

Enviar correos a múltiples destinatarios desde registros seleccionados en un formulario

Publicado por Alejandro (4142 intervenciones) el 25/07/2023 22:05:44
Para enviar correos a múltiples destinatarios utilizando las direcciones de correo electrónico de los registros seleccionados en un formulario, puedes seguir estos pasos:

1. Definir una función para obtener las direcciones de correo electrónico:
Crea una función que recorra los registros seleccionados en el formulario y genere una cadena de texto con las direcciones de correo electrónico separadas por punto y coma (;).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Function ObtenerDestinatarios() As String
    Dim rst As Recordset
    Dim destinatarios As String
 
    ' Obtener el recordset del formulario
    Set rst = Me.RecordsetClone
 
    ' Inicializar la cadena de destinatarios
    destinatarios = ""
 
    ' Recorrer los registros seleccionados en el formulario
    Do While Not rst.EOF
        ' Agregar la dirección de correo electrónico del registro actual a la cadena de destinatarios
        destinatarios = destinatarios & rst("DirecciondeMail") & ";"
        rst.MoveNext
    Loop
 
    ' Eliminar el último punto y coma (;) de la cadena
    If Len(destinatarios) > 0 Then
        destinatarios = Left(destinatarios, Len(destinatarios) - 1)
    End If
 
    ' Cerrar el recordset
    rst.Close
    Set rst = Nothing
 
    ' Devolver la cadena de destinatarios
    ObtenerDestinatarios = destinatarios
End Function

2. Utilizar la función en el código del botón:
En el código del botón para enviar el correo, llama a la función `ObtenerDestinatarios` para obtener la cadena de direcciones de correo electrónico y úsala como valor para el parámetro `[TO]` en la función `DoCmd.SendObject`.

1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub btnEnviarCorreo_Click()
    Dim destinatarios As String
 
    ' Obtener la cadena de destinatarios utilizando la función
    destinatarios = ObtenerDestinatarios()
 
    If Len(destinatarios) > 0 Then
        ' Enviar el correo con la cadena de destinatarios obtenida
        DoCmd.SendObject acSendQuery, "Nombre del Objeto", "Formato de salida", destinatarios, [CC], etc.
    Else
        MsgBox "No hay destinatarios para enviar el correo.", vbExclamation
    End If
End Sub

Con este enfoque, la función `ObtenerDestinatarios` recorrerá los registros seleccionados en el formulario y generará una cadena con todas las direcciones de correo electrónico. Luego, el botón enviará el correo utilizando la cadena de destinatarios obtenida.

Recuerda adaptar el código según los nombres reales de los campos y formularios en tu base de datos.

Espero que esta solución te sea de ayuda para enviar correos a múltiples destinatarios desde los registros seleccionados en el formulario. ¡Buena suerte!
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