Autor Tema: Enviar Archivos PDF por Correo Ayuda!!!  (Leído 2288 veces)

0 Usuarios y 1 Visitante están viendo este tema.

ton

  • Bit
  • Mensajes: 9
  • Reputación: +0/-0
    • Ver Perfil
Enviar Archivos PDF por Correo Ayuda!!!
« en: Abril 08, 2015, 03:23:13 pm »
Hola que tal Amigos

Necesito de su valiosa Ayuda, hago el siguiente proceso:

1.- Leo una tabla de bd, y lo almaceno en un recordet set (contiene un campo correo electronico).
2.- Recorro el Record Set con un do while. y por cada registro genero un reporte un PDF y lo almaceno.
3.- Envio por correo el PDF creado.
4.- Sigo el Paso 2 con el siguiente registro, hasta terminar.

El problema es que, aveces lo hace tan rapído (me crea todos los pdfs), Sale del ciclo, y no alcanzo a enviar todos los documentos por correo, ó al reves aveces tarda el proceso en crear y almacenar el PDF.  (en el proceso del envio es donde se toma unos segundos) pongo doevents, pero aun asi no me termina de enviar todos los correos.

En el Active Reports después de exportarlo puse tambien DoEvents :(


Private Sub Form_Load()
Dim rsMails As New ADODB.Recordset
Dim sSQL As String
   
    sSQL = "SELECT * FROM CLIENTES"
    rsMails.Open sSQL, cnDB, adOpenForwardOnly, adLockReadOnly, adCmdText
   
    Do While Not rsMails.EOF
        email = rsMails!cORREO
        Address = email       
        Me.MousePointer = vbHourglass
        dtpDesde.Value = Format(Now, "dd/MM/yyyy")
        dtpHasta.Value = Format(Now, "dd/MM/yyyy")
   
        GeneraReporte
   
        rsMails.MoveNext
    Loop
    rsMails.Close
   
    Set rsMails = Nothing
   
End Sub


Private Sub GeneraReporte()
Dim Reporte As New arReporte
Dim sSQL As String
Dim i As Integer

    Me.Label1.Caption = "Realizando Validación..."
    Me.Label1.Caption = "Ejecutando Reporte..."
   
    dtpDesde = DateAdd("d", -8, dtpDesde.Value)
   
    With Reporte
        Set .dc.Connection = cnDB
         sSQL = "exec ReportClientes '" & Format(dtpDesde, "yyyyMMdd") & "','" & Format(dtpHasta, "yyyyMMdd") & "',0," & Sucursal & ",'Sin Pagar'"
        .dc.Source = sSQL
        .lblFechas.Caption = "Reporte Clientes " & Format(dtpDesde, "dd/MMM/yyyy") & " al " & Format(dtpHasta, "dd/MMM/yyyy")
        .TipoReporte = 1
        .Show
        .Hide
    End With
   
    DoEvents

    MDIMain.SendMail Trim$(lstTo.List(i)), "Reporte facturas:" & Format(dtpDesde, "dd/MMM/yyyy") & "", "Reporte Clintes sin pagar", " & ArchReporte & ".pdf"
    MDIMain.salir
     
    Set Reporte = Nothing

End Sub