Envío de mail por Access y código vba
En una tabla (con campo Id como índice numérico) de prueba tengo un formulario y también una consulta que extrae un informe (aquí están los datos que pretendo enviar), con el siguiente código:
Private Sub Comando_Click()
Dim dbs As Database
Dim qdfNew As QueryDef
Dim rst As DAO.Recordset
Dim strSql As String
Dim Correo As String
Dim Id As Long
Set dbs = CurrentDb
strSql = "SELECT * FROM Tabla"
Set rst = CurrentDb.OpenRecordset(strSql, dbOpenDynaset)
If rst.EOF = False Then
rst.MoveLast
rst.MoveFirst
Do Until rst.EOF
dbs.QueryDefs.Delete ("Consulta")
identificador = rst!Id
Set qdfNew = dbs.CreateQueryDef("Consulta", _
"SELECT * FROM Tabla WHERE Tabla. Id = & identificador )
Correo = rst!Email
DoCmd.SendObject acSendReport, "Informe1", acFormatSNP, Correo, , , _
"Asunto: Envio de Informe ", , False
rst.MoveNext
Loop
End If
Dbs. Close
Rst. Close
End Sub
La tabla origen contiene un registro con los mails de los destinatarios para enviar los campos que seleccione a través de un informe. Previo a ello un formulario con botón "onclick" para que sea enviado. El origen del informe es una consulta.
En cada registro viene un mail. Cada mail -enviado por outlook - debe recibir solamente su registro.
El fallo siempre me viene en esta línea:
Set qdfNew = dbs.CreateQueryDef("Consulta", _
"SELECT * FROM Tabla WHERE Tabla. Id = " & identificador)
No doy con ello. En principio es una prueba para adaptarlo a otra tabla más compleja.
Alguien puede echarme un cable.
Gracias ¡ Y Saludos.