Foros del Web » Programando para Internet » ASP Clásico »

Enviar formulario a access y correo a la vez

Estas en el tema de Enviar formulario a access y correo a la vez en el foro de ASP Clásico en Foros del Web. Hola, A ver si alguien me puede ayudar. Desearia que al enviar un formulario, al mismo tiempo se guardaran los resultados en un access y ...
  #1 (permalink)  
Antiguo 31/03/2006, 01:12
 
Fecha de Ingreso: marzo-2006
Mensajes: 1
Antigüedad: 19 años
Puntos: 0
Enviar formulario a access y correo a la vez

Hola,

A ver si alguien me puede ayudar.

Desearia que al enviar un formulario, al mismo tiempo se guardaran los resultados en un access y se enviara por correo.

Hasta donde yo se, que es poco, lo he consegido hacer por separado.

<form action="pagina.asp"> por un lado y <form action="mailto:..."> por el otro

Pero com puedo hacerlo al mismo tiempo, que al darle a enviar haga las dos cosas a la vez?

Gracias,

Un saludo

Juli
  #2 (permalink)  
Antiguo 31/03/2006, 02:51
Avatar de angel_dope  
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 22 años, 4 meses
Puntos: 8
Pues lo más sencillo sería que en "página.asp" una vez hayas insertado los datos necesarios en la base de datos, pongas a continuación el código necesario para enviar un correo (con cdonts por ejemplo) de esta manera puedes darle el formato que quieras al email (incluso en html para incluir imagenes, tipos de letra etc etc) y enviar en ese email los datos del formulario como mejor te parezca.

Sería algo parecido a esto:

[php]
<!--#include file="xelupload.asp"-->
<%
Dim up, fich
set up = new xelUpload
up.Upload()

For each fich in up.Ficheros.Items

'Para guardarlo
' Con el nombre de fichero original:
fich.Guardar Server.MapPath("./download/")
' Con otro nombre:
' fich.GuardarComo nombrefichero, Server.MapPath("rutavirtual")
'----------------------------------------------------------------
' Almacenar datos en base de datos
'Abrimos una conexión a una base de datos
Dim oConn, rs, SQL

set oConn = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.Recordset")

'Nos conectamos con un DSN
oConn.Open "DSN=CalidadLab"

'Y abrimos la tabla Datos
SQL = "SELECT * FROM LABORATORY_REPOSITORY"

'Abrimos el Recordset con cerrojo 2 (adLockPessimiestic)
'que permite modificaciones

rs.Open SQL, oConn, 0, 2

'Añadimos un nuevo registro
rs.AddNew

'rs.Fields("description") = objUpload.Form("description")
rs.Fields("description") = up.Form("description")
rs.Fields("title") = up.Form("title")
rs.Fields("version") = up.Form("version")

'Guardamos el contenido del fichero en la base de datos:
'el nombre del fichero, su tipo
rs.Fields("file") = fich.Nombre
'rs.Fields("contenido") = objFich.TipoContenido

'y los datos binarios
'objFich.GuardarBD rs.Fields("datos")

rs.Update
rs.Close


'Limpiamos objetos
set oFich = nothing
set objUpload = nothing
'rs.Close
set rs = nothing
oConn.Close
set oConn = nothing

'ENVIAR CORREO
' CDO mail object
Set objCDOMail = Server.CreateObject("CDONTS.NewMail")

' CDO mail setttings
with objCDOMail
.Body = "La Base de Datos del Sistema de Gestión de Calidad de Laboratorio ha sido actualizada. Se ha añadido el fichero "& fich.nombre
.Subject = "Sistema de Gestión de Calidad de Laboratorio"
.From = "[email protected]"
.Bcc = "[email protected]"
'.Cc = strCC
.MailFormat = 0
'.AttachFile ThisFile
.Send
end with

' destroy object, free memory
set objCDOMail = nothing


'-------------------------------------------------------------
Next

'Limpiamos objeto
set up = nothing


%>
<%Response.Redirect("Opciones.asp")%>
<title>Archivo Insertado</title>
<body bgcolor="#FFFFCC">
[php]

La única diferencia es que en este codigo, además subia un archivo al servidor (por lo que los valores del formulario se recogen de forma distinta) solo tendrías que cambiar eso y ya te serviría.

Salu2
__________________
Vayamos por Partes :: Jack el Destripador
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:42.