Access - Problema con envio de correo

 
Vista:
sin imagen de perfil
Val: 29
Ha aumentado su posición en 4 puestos en Access (en relación al último mes)
Gráfica de Access

Problema con envio de correo

Publicado por Malyto (24 intervenciones) el 11/11/2016 13:24:32
Estimados, haber si me pueden ayudar con esto..
1.- Tengo un formulario con unos textbox donde elijo la fecha ( es un textbox al que le he puesto como Formato "Fecha Corta".
2.- Una vez seleccionada la fecha mediante un Boton ejecuto el codigo adjunto, el cual me permite visualizar unos informes que dependen de la fecha seleccionada y posteriormente enviarlos por correo automaticamente
3.- todo esto lo realiza correctamente, pero una vez que se ejecuta la accion y el foco vuelve al formulario, seme desactivan la opcion de seleccionar la fecha en el tetxbox, pudiendo solamente si escribo con el teclado la fecha.
4.- les comento que en ese mismol formulario tengo otros textbox con el formato fecha corta y estos tambie se bloquean.
5.- Probe comentando la linea que envia el correo ............... msgOne.Send y asi no seme bloquean estos textbox, pero obviamente no envia el correo.Alguien tendra idea que puede ser?

Aca el codigo, ojala me puedan ayudar:

Private Sub btnInfoDiario_Click()
On Error GoTo 0
'Exportamos el informe a la carpeta donde está la BD en formato PDF
Dim ruta As String 'miInforme As String
ruta = Application.CurrentProject.Path & "\"
miInforme = ruta & "Informe.pdf"
miInforme1 = ruta & "Informe1.pdf"
txtDesFecha = txtFechaDesde
DoCmd.OpenReport "InfoPagosDiarios", acViewPreview, consPagosDiario, "(fechaPago = #" & Format(txtFechaDesde, "mm-dd-yyyy") & "#) and (" & "Doctor = 'zzzzzzzzzzzz' or Doctor = 'yyyyyyyyyy')", acWindowNormal
'DoCmd.OutputTo acOutputReport, "InfoPagosDiarios", acFormatPDF, miInforme, False
DoCmd.OpenReport "InfoPagosDiarios1", acViewPreview, consPagosDiario, "(fechaPago = #" & Format(txtFechaDesde, "mm-dd-yyyy") & "#) and (" & "Doctor <> 'yyyyyyyy' and Doctor <> 'zzzzzzzzzz')", acWindowNormal
'DoCmd.OutputTo acOutputReport, "InfoPagosDiarios1", acFormatPDF, miInforme1, False

'Aca enviamos el correo
'Definimos dos constantes, donde introduciremos la cuenta de correo, el password y el smtp
Const miMail As String = "[email protected]"
Const miPass As String = "password"
Const miSmtp As String = "smtp.googlemail.com"
'Definimos las variables
Dim elAsunto As String, elMsg As String
Dim mailA As String, mailCC As String, mailCCO As String
'Inicializamos las variables
elAsunto = "Informe Pago Diario Automatico " & Date
elMsg = " Este Correo es generado Automaticamente, cuando se genera un informe de PAGO DIARIO, por favor no responder este correo. "
mailA = "[email protected]"
'Configuramos el bloque CDO
Dim cdoConfig
Dim msgOne
Set cdoConfig = CreateObject("CDO.Configuration")
With cdoConfig.Fields
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = miSmtp
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = miMail
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = miPass
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Update
End With
'Configuramos el mensaje
Set msgOne = CreateObject("CDO.Message")
Set msgOne.Configuration = cdoConfig
msgOne.To = mailA
msgOne.CC = mailCC
msgOne.BCC = mailCCO
msgOne.From = miMail
msgOne.Subject = elAsunto
msgOne.TextBody = elMsg
'Configuramos el adjunto
Dim miAdjunto As String
miAdjunto = "file://" & miInforme
If Not IsMissing(miInforme) Then
msgOne.AddAttachment (miAdjunto)
End If
Dim miAdjunto1 As String
miAdjunto1 = "file://" & miInforme1
If Not IsMissing(miInforme1) Then
msgOne.AddAttachment (miAdjunto1)
End If
MsgBox "Se enviara el correo", vbInformation, "CORRECTO"
msgOne.Send ' esta linea bloquea los campos
'Avisamos de que el envío ha ido bien
MsgBox "Mensaje enviado con éxito", vbInformation, "CORRECTO"
'Eliminamos el informe de nuestra carpeta
Kill miInforme1
Kill miInforme


DoCmd.Close acReport, "InfoPagosDiarios", acSaveNo
DoCmd.Close acReport, "InfoPagosDiarios1", acSaveNo
'DoCmd.OpenReport "InfoPagosDiarios", acViewPreview, consPagosDiario, "(fechaPago = #" & Format(txtFechaDesde, "mm-dd-yyyy") & "#) and (" & "Doctor = 'zzzzzzzzzzzzi' or Doctor = 'Dr. xxxxxxxxx')", acDialog
'DoCmd.OpenReport "InfoPagosDiarios1", acViewPreview, consPagosDiario, "(fechaPago = #" & Format(txtFechaDesde, "mm-dd-yyyy") & "#) and (" & "Doctor <> 'zzzzzzzzzzz' and Doctor <> 'Dr. xxxxxxxxxxxxx')", acDialog

End Sub


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
sin imagen de perfil
Val: 29
Ha aumentado su posición en 4 puestos en Access (en relación al último mes)
Gráfica de Access

Problema con envio de correo

Publicado por Luis (24 intervenciones) el 11/11/2016 18:41:58
Aca va mi codigo mejor identado.. no se usar bien esto.. jejej sorry

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Private Sub btnInfoDiario_Click()
On Error GoTo 0
'Exportamos el informe a la carpeta donde está la BD en formato PDF
Dim ruta As String 'miInforme As String
ruta = Application.CurrentProject.Path & "\"
miInforme = ruta & "Informe.pdf"
miInforme1 = ruta & "Informe1.pdf"
txtDesFecha = txtFechaDesde
DoCmd.OpenReport "InfoPagosDiarios", acViewPreview, consPagosDiario, "(fechaPago = #" & Format(txtFechaDesde, "mm-dd-yyyy") & "#)  and (" & "Doctor = 'xxxxxxxxxxxxx' or Doctor = 'zzzzzzzzzzzzzzzzzz')", acWindowNormal
'DoCmd.OutputTo acOutputReport, "InfoPagosDiarios", acFormatPDF, miInforme, False
DoCmd.OpenReport "InfoPagosDiarios1", acViewPreview, consPagosDiario, "(fechaPago = #" & Format(txtFechaDesde, "mm-dd-yyyy") & "#)  and (" & "Doctor <> 'xxxxxxxxxxxxx' and Doctor <> 'zzzzzzzzzzzzzzzzzz')", acWindowNormal
'DoCmd.OutputTo acOutputReport, "InfoPagosDiarios1", acFormatPDF, miInforme1, False
 
                'Aca enviamos el correo
                'Definimos dos constantes, donde introduciremos la cuenta de correo, el password y el smtp
                Const miMail As String = "correo0@gmail.com"
                Const miPass As String = "password"
                Const miSmtp As String = "smtp.googlemail.com"
                    'Definimos las variables
                Dim elAsunto As String, elMsg As String
                Dim mailA As String, mailCC As String, mailCCO As String
                    'Inicializamos las variables
                elAsunto = "Informe Pago Diario Automatico " & Date
                elMsg = "   Este Correo es generado Automaticamente, cuando se genera un informe de PAGO DIARIO, por favor no responder este correo. "
                mailA = "correo1@gmail.com"
                    'Configuramos el bloque CDO
                Dim cdoConfig
                Dim msgOne
                Set cdoConfig = CreateObject("CDO.Configuration")
                With cdoConfig.Fields
                    .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
                    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
                    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = miSmtp
                    .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = miMail
                    .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = miPass
                    .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
                    .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
                    .Update
                End With
                    'Configuramos el mensaje
                Set msgOne = CreateObject("CDO.Message")
                Set msgOne.Configuration = cdoConfig
                msgOne.To = mailA
                msgOne.CC = mailCC
                msgOne.BCC = mailCCO
                msgOne.From = miMail
                msgOne.Subject = elAsunto
                msgOne.TextBody = elMsg
                    'Configuramos el adjunto
                Dim miAdjunto As String
                miAdjunto = "file://" & miInforme
                If Not IsMissing(miInforme) Then
                    msgOne.AddAttachment (miAdjunto)
                End If
                Dim miAdjunto1 As String
                miAdjunto1 = "file://" & miInforme1
                If Not IsMissing(miInforme1) Then
                    msgOne.AddAttachment (miAdjunto1)
                End If
                MsgBox "Se enviara el correo", vbInformation, "CORRECTO"
                'msgOne.Send
                    'Avisamos de que el envío ha ido bien
                MsgBox "Mensaje enviado con éxito", vbInformation, "CORRECTO"
                    'Eliminamos el informe de nuestra carpeta
                Kill miInforme1
                Kill miInforme
 
 
DoCmd.Close acReport, "InfoPagosDiarios", acSaveNo
DoCmd.Close acReport, "InfoPagosDiarios1", acSaveNo
'DoCmd.OpenReport "InfoPagosDiarios", acViewPreview, consPagosDiario, "(fechaPago = #" & Format(txtFechaDesde, "mm-dd-yyyy") & "#)  and (" & "Doctor = 'xxxxxxxxxxxxx' or Doctor = 'zzzzzzzzzzzzzzzzzz')", acDialog
'DoCmd.OpenReport "InfoPagosDiarios1", acViewPreview, consPagosDiario, "(fechaPago = #" & Format(txtFechaDesde, "mm-dd-yyyy") & "#)  and (" & "Doctor <> 'xxxxxxxxxxxxx' and Doctor <> 'zzzzzzzzzzzzzzzzzz')", acDialog
 
End Sub
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