Enviar correo electrónico de forma automática

Quisiera saber si hay alguna forma de que cuando yo valla a cerrar mi base de datos antes de que la cierre haya un código que me envíe al correo los valores del movimiento diario del día

Me explico

Digamos yo tengo un formulario que se llama arqueo de caja y en ese formulario están los valores de cuanto entro en el día y también cuanto salio

Yo quisiera por medio de un código programar que al cerrar el formulario el código antes de cerrarlo me envíe un correo no se con la información de cuanto entro es posible y si es posible me gustaría si me pudieran dar un ejemplo de como hacerlo muchas gracias compañeros

1 respuesta

Respuesta
2

Vamos a suponer que en el formulario tienes un control llamado FechaArqueo y otro que se llame Email

Con la tabla origen del formulario haces un informe, al que llamaré, para el ejemplo, Arqueo. En el evento Al hacer clic de un botón puedes poner

DoCmd.OpenReport "Arqueo", acViewReport, , "fechaarqueo=#" & Me.fechaarqueo & "#"
DoCmd.SendObject acReport, "arqueo", "PDFFormat(*.pdf)", "" & Me. Email & "", "", "", "Arqueo diario", "Este ha sido el movimiento", True, ""

¿icue dónde en que parte del código pongo mi email?

Ya me funciono icue pero tengo una pregunta hay forma de hacerlo de modo que se envíe sin que haya que darle enviar? 

Como algo interno del mismo sistema es que lo usa otra persona entonces la idea seria que fuera algo interno 

El problema del evento Al cerrar de un formulario es que es muy restrictivo, permite muy pocas cosas. Por eso te decía que anularas el botón Cerrar(X) que traen de fábrica los formularios y le pongas uno hecho por tí. Ahí sí le puedes decir que haga lo que sea, cierre el informe y luego cierre el formulario.

No si pero es que cuando lee el código que me diste abre el correo en la ventana para enviar el correo y hay que darle enviar entonces no se si se pudiera hacer sin que se abra 

Con respecto a lo de enviar tengo que decirte que nunca he usado el Outlook, pero sé que, al menos en el Outlook Express que venía antes con el Office, había la posibilidad de enviar inmediatamente.

¡Gracias! Gracias icue me funciono muchas gracias 

Icue tengo un inconveniente espero me puedas ayudar en el botón donde esta el código que me diste ya esta para que abra el correo y la persona solo le de enviar pero si la persona no lo envía pues aparece sendobject cancelado y deja el informe abierto no lo imprime como puedo hacer para que cuando no le de enviar aparezca un cuadro que diga el informe no fue enviado inténtelo denuevo y vuelva y abra el correo listo para enviar espero me hayas entendido 

La verdad, no lo entiendo. Si el propio interesado ha cerrado el outlook para no enviar el correo, ¿para qué voy a preguntarle si lo quiere mandar?. En todo caso pregúntale ante de pulsar el botón si está seguro de querer mandarlo. Para que no te aparezca el aviso de cancelado y que el informe se cierre puedes poner, en el evento Al hacer clic del botón

Private Sub Comando14_Click()
On Error GoTo Comando14_Click_Err
DoCmd.OpenReport "clientes", acPreview, , "pais=""Alemania"""
DoCmd.SendObject acReport, "Clientes", "PDFFormat(*.pdf)", "", "", "", "", "", True, ""
Comando14_Click_Exit:
    Exit Sub
Comando14_Click_Err:
    Response = acDataErrContinue
    DoCmd.Close acReport, "clientes"
    Resume Comando14_Click_Exit
End Sub

¡Gracias! No es que al final de código tu pusiste true pero no pasaba nada y yo le cambie por click y hay si lo envía sin abrir l cuadro de mensaje del Outlook pero sale otro que dice que al quien quiere enviar un correo en mi nombre y da dos obciones de denegar o permitir pero siempre sale esto no se como hacer para UE no salga no se si sepas 

Lo de True es para que antes de enviarlo mires por si por equivocación has puesto algún error. Si te fías completamente de la otra persona o bien lo quitas o pones False. Pero imagínate que por error, me envías un correo en que me dices que me vas a regalar un coche. Lo escrito, escrito está.(Por cierto me gustan los Ferrari)

De lo otro no te puedo responder, ya que soy Administrador, único usuario, etc. Pero por si te sirve de algo yo tengo

Jajaja no tampoco tengo plata para un Ferrari jajaja pero ya entendí lo que me dices y si tienes razón aunque el correo lo envía el correo de la empresa al mio personal para darme las cifras reales del día entonces no hay problema jejejejw

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas