Extraer campos de una consulta mediante recordset
Publicado por David (10 intervenciones) el 17/08/2017 12:02:43
Hola a todos, no tengo mucha experiencia en visual y todo lo que he echo hasta ahora ha sido a base de parches que he ido leyendo y practicando, pero ahora me encuentro con un problema del cual no sé salir por lo que necesito vuestra ayuda.
Estoy creando un recordset para extraer todos los campos de dirección de e-mail que provienen de una consulta que he creado con el fin de crear campañas de productos y seleccionar a los clientes que les quiero enviar el correo.
El tema es que al final de todo y después de muchas horas he conseguido ejecutarlo pero escribiendo manualmente en el criterio de la consulta el nº de la campaña, pero si le pongo como criterio del campo [Forms]![Campaña]![Ndecampaña] no funciona, os paso el código:
Opción 1:
Opción 2:
La opción 1 me funciona bien, me captura la variable A todos los e-mails de la consulta.
La opción 2; siendo el mismo criterio de la consulta (36) no me funciona y el error que me muestra con la opción 2 es el 3061, Pocos parámetros. Se esperaba 1.
El tema es que quiero tenerlo automatizado para que cada vez que genere una nueva campaña escoja los e-mails que ya seleccionado para esta campaña.
Gracias de antemano,
Estoy creando un recordset para extraer todos los campos de dirección de e-mail que provienen de una consulta que he creado con el fin de crear campañas de productos y seleccionar a los clientes que les quiero enviar el correo.
El tema es que al final de todo y después de muchas horas he conseguido ejecutarlo pero escribiendo manualmente en el criterio de la consulta el nº de la campaña, pero si le pongo como criterio del campo [Forms]![Campaña]![Ndecampaña] no funciona, os paso el código:
1
2
3
4
5
Dim rs As Recordset
Dim A ' Variable donde se deben de copiar todas las direcciones de correo separado por ;
Dim B ' Variable con el número de la campaña
B = 36
Opción 1:
1
Set rs = CurrentDb.OpenRecordset("Select EmailAddress From Consulta3 Where IDCampaign=36")
1
Set rs = CurrentDb.OpenRecordset("Select EmailAddress From Consulta3 Where IDCampaign=B")
1
2
3
4
5
6
If rs.RecordCount = 0 Then Exit Sub
Do Until rs.EOF
If A <> "" Then A = A & "; "
A = A & rs![EmailAddress]
rs.MoveNext
Loop
La opción 1 me funciona bien, me captura la variable A todos los e-mails de la consulta.
La opción 2; siendo el mismo criterio de la consulta (36) no me funciona y el error que me muestra con la opción 2 es el 3061, Pocos parámetros. Se esperaba 1.
El tema es que quiero tenerlo automatizado para que cada vez que genere una nueva campaña escoja los e-mails que ya seleccionado para esta campaña.
Gracias de antemano,
Valora esta pregunta
0