Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: ton 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