Envió de Correo en formulario Access

Tengo creado un formulario creado, lo que requiero si se puede hacer es

Que al momento de hacer un registro, me envié un correo apenas lo guarde o lo registre

Que debo hacer para este proceso

1 respuesta

Respuesta
1

Se puede hacer de mil formas. Lo mejor sería que pusieras una imagen del formulario para saber, entre otras cosas

1º ¿Está el nombre de la persona a la que se lo quieres enviar en el formulario o en una tabla?

2º ¿Esta su email?, por lo mismo

3º ¿Se lo vas a enviar como archivo adjunto o simplemente el mensaje de que ese registro ya está guardado?

4º. En caso de que sea como adjunto, ¿envías el formulario o un informe?

5º ¿Tienes qué guardar constancia de que se lo has enviado en alguna carpeta o no hace falta?

Etc.

ok te entiendo  , respondo a las preguntas 

1:  si el correo esta en una tabla  y el nombre también  la tabla se llama usuarios

2: el correo esta en el formulario  (como se ve en la imagen )

3: por el momento me gustaría  que se enviara solo un texto,  de que se creo un registro a nombre del vendedor que esta en el formulario , y si se puede poner el titulo  ejemplo:  Asunto: titulo del formulario   cuerpo (se creo un registro de Garantías del Vendedor - Pepito Perez)  algo así 

por otro lado me gustaría si se puede es que cada vez que el registro tenga una actualización se envié el correo nuevamente pero diciendo (hubo una actualización en el registro numero 52) algo así 

5: por ahora no 

los correos que manejamos son de Office 365

No veo donde está el botón Enviar, aunque no sería necesario ya que la instrucción la puedes poner en cualquier evento. Vamos a suponer que en cuadro de texto donde aparece el nombre del Cliente se llama así, Cliente y donde aparece el email se llama Correo

Para el caso de que sea sólo el mensaje( ya le cambias tu el mensaje)

DoCmd.SendObject acSendNoObject, , "RichTextFormat(*.rtf)", "" & Me. Email & "",,, "Remitiendo una facturita de nada", "Si no la pagas tendré que hacerte una visita y parecerá un accidente & ", True

En el caso de que hicieras una modificación en el registro, en el evento, la instrucción podrías ponerla en el evento Después de actualizar del formulario( pero como te decía, la puedes poner en cualquier otro evento). Por ejemplo, supongamos que tengo el formulario Clientes tal que

Ahora le voy a cambiar el número de recibo

En cuanto cierro el formulario( como, digamos, ya se ha actualizado)

En este caso, el código sería

Private Sub Form_AfterUpdate()
DoCmd.SendObject acSendNoObject, , "RichTextFormat(*.rtf)", "" & Email & "", , , "Modificación de recibo " & "" & Me.Recibo & "", "Que sepas que te he modificado el recibo", True
End Sub

Por eso te decía que se puede hacer de muchas formas. Si pones exactamente el mensaje que quieres enviarle, se puede mejorar tanto el asunto como el mensaje, que aquí lo he puesto muy breve. O por ejemplo, si quieres ser muy amable antes de "visitarlo"

En este caso el código sería

Private Sub Form_AfterUpdate()
DoCmd.SendObject acSendNoObject, , "RichTextFormat(*.rtf)", "" & Email & "", , , "Modificación de recibo " & "" & Me.Recibo & "", "Estimado amigo : " & "" & Me.Cliente & "" & " Que sepas que te he modificado el recibo", True
End Sub

O si quisieras que el mensaje ocupara varias líneas, etc.

gracias por la informacion 

pero la idea es que el correo se envié en segundo plano (que el usuario no sepa que se envió el correo) , que no allá necesidad de que se abra el programa (outlook) 

creo que para eso se necesita configurar los servidores SMTP (smtp.office365.com)

como seria el proceso . para activar este servicio 

Gracias por la Ayuda

No es necesario, basta con suprimir lo de True. Esa palabra lo que quiere decir es que te lo muestre antes de enviarlo.

También depende de como tengas configurado el Outlook de Office. Personalmente, aunque no lo uso, le tengo puesto lo de Enviar inmediatamente.

Sobre el Office 365 no te puedo decir nada, ya que, aunque venía instalado cuando compre el ordenador, me faltó tiempo para quitarlo. No me gustó nada, no me gusta y no me gustará.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas