grabar resultados en file

05/01/2006 - 07:50 por Jorge Vega | Informe spam
Saludos a todos, quisiera ver si alguien me puede brindar una ayuda.

Tengo un cuestionario el cuál envía los datos que captura a otra página asp
la cuál primero verifica que vengan todas las respuestas y luego las graba
en una bd, pero quisiera que grabe todas las respuestas a la vez en un
archivo tipo xls/doc/xml/txt en el disco duro del cliente.

La verdad que no tengo ni idea de como poder hacer esto, por eso recurro a
uds para que me puedan orientar.

Adjunto parte del codigo que tengo para ver si me pueden ayudar, de antemano
muchas gracias

<%
SUB errorFormulario(Ferror)
%>
<HTML>
<HEAD><TITLE>ERROR</TITLE></HEAD>
<BODY>
<img src="img/Logo_MH.jpg" width="136" height="122">
<p>
<%=Ferror%>
<p></p><FORM METHOD="POST" ACTION="CUESTIONARIO.asp">
<% FOR EACH item IN Request.Form %>
<br><INPUT name="<%=item%>" type="hidden"
value="<%=Server.HTMLEncode(Request.Form(item))%>">
<%NEXT%>
<p>
</FORM>
</BODY>
</HTML>
<%
Response.End
END SUB
'Recupera los campos del formulario
cedula=TRIM(Request.Form("cedula"))
respuesta1=TRIM(Request.Form("respuesta1"))
respuesta2=TRIM(Request.Form("respuesta2"))
respuesta3=TRIM(Request.Form("respuesta3"))

'Verifica los campos requeridos
IF respuesta1 ="" then
errorFormulario"No seleccionó su respuesta a la pregunta 1."
END IF'
IF respuesta2 ="" then
errorFormulario"No proporcionó su respuesta a la pregunta 2."
END IF
IF respuesta3 ="" then
errorFormulario"No proporcionó su respuesta a la pregunta 3."
END IF
%>

<%
Dim Conexion, Tabla
Set Conexion=Server.CreateObject("ADODB.Connection")
Set Tabla=Server.CreateObject("ADODB.Recordset")
Conexion.Open "Driver={Microsoft Access Driver (*.mdb)};" & "Dbq=" &
Server.MapPath("control.mdb") & "; Password=XXXX"
Dim Temp
Temp="Select * from resultadosWeb where UCase(cedula)='" &
UCase(Request("cedula")) & "' and UCase(respuesta1)='"&
Ucase(Request("respuesta1")) & "' and UCase(respuesta2)='"&

Ucase(Request("respuesta2")) &"'"
Tabla.Open Temp, Conexion,2,3,1
If Tabla.BOF and Tabla.EOF then
Tabla.AddNew
Tabla("cedula")=Request("cedula")
Tabla("respuesta1")=Request("respuesta1")
Tabla("respuesta2")=Request("respuesta2")
Tabla("respuesta3")=Request("respuesta3")
Tabla.Update
%>
<img src="img/Logo_MH.jpg" width="136" height="122">
<br>
<br>
<font face="Tahoma" size="2"><b><i>Se enviaron correctamente los datos.

</i></b></font>
<br>
<br>
Gracias por proporcionar la información!
<br>
<input type="button" name="imprimir" value="Imprimir este reporte"
onclick="window.print();">
<%
Else
Response.Write "Usted ya proporcionó las respuestas anteriormente. "
End if
Tabla.Close
Conexion.Close
%>

<HTML>
<head><title><Gracias></title></head>
<body>
<b>
</body>
</HTML>
 

Leer las respuestas

#1 Dani Castillo
05/01/2006 - 09:25 | Informe spam
Hola!
En el cliente de por si no vas a poder grabar nada automaticamente, no con
asp, ten en cuenta que si se pudiera hacer eso seria un paraiso para los
virus, podrias grabar cualquier cosa (ya que un .exe no deja de ser un
fichero) en el cliente e infectarlo de cualquier virus o troyano... asi que
por motivos de seguridad no se permite guardar nada en el cliente de forma
automatica

de todas formas si que puedes hacer que el fichero de respuestas se envie al
cliente para que lo guarde si quiere y donde quiera (con un mensaje de
"descarga" como si se bajara un fichero del servidor) añadiendo esto como
primeras lineas de un fichero asp:

<% Response.ContentType = "text/plain"
Response.AddHeader( "Content-Disposition", "attachment;
filename=respuesta.txt") %>

todo lo que escribas en response se interpreta como un fichero en el cliente
a descargar

otra opcion seria enviarselo por email claro




"Jorge Vega" escribió en el mensaje
news:O%
Saludos a todos, quisiera ver si alguien me puede brindar una ayuda.

Tengo un cuestionario el cuál envía los datos que captura a otra página
asp
la cuál primero verifica que vengan todas las respuestas y luego las graba
en una bd, pero quisiera que grabe todas las respuestas a la vez en un
archivo tipo xls/doc/xml/txt en el disco duro del cliente.

La verdad que no tengo ni idea de como poder hacer esto, por eso recurro a
uds para que me puedan orientar.

Adjunto parte del codigo que tengo para ver si me pueden ayudar, de
antemano
muchas gracias

<%
SUB errorFormulario(Ferror)
%>
<HTML>
<HEAD><TITLE>ERROR</TITLE></HEAD>
<BODY>
<img src="img/Logo_MH.jpg" width="136" height="122">
<p>
<%=Ferror%>
<p></p><FORM METHOD="POST" ACTION="CUESTIONARIO.asp">
<% FOR EACH item IN Request.Form %>
<br><INPUT name="<%=item%>" type="hidden"
value="<%=Server.HTMLEncode(Request.Form(item))%>">
<%NEXT%>
<p>
</FORM>
</BODY>
</HTML>
<%
Response.End
END SUB
'Recupera los campos del formulario
cedula=TRIM(Request.Form("cedula"))
respuesta1=TRIM(Request.Form("respuesta1"))
respuesta2=TRIM(Request.Form("respuesta2"))
respuesta3=TRIM(Request.Form("respuesta3"))

'Verifica los campos requeridos
IF respuesta1 ="" then
errorFormulario"No seleccionó su respuesta a la pregunta 1."
END IF'
IF respuesta2 ="" then
errorFormulario"No proporcionó su respuesta a la pregunta 2."
END IF
IF respuesta3 ="" then
errorFormulario"No proporcionó su respuesta a la pregunta 3."
END IF
%>

<%
Dim Conexion, Tabla
Set Conexion=Server.CreateObject("ADODB.Connection")
Set Tabla=Server.CreateObject("ADODB.Recordset")
Conexion.Open "Driver={Microsoft Access Driver (*.mdb)};" & "Dbq=" &
Server.MapPath("control.mdb") & "; Password=XXXX"
Dim Temp
Temp="Select * from resultadosWeb where UCase(cedula)='" &
UCase(Request("cedula")) & "' and UCase(respuesta1)='"&
Ucase(Request("respuesta1")) & "' and UCase(respuesta2)='"&

Ucase(Request("respuesta2")) &"'"
Tabla.Open Temp, Conexion,2,3,1
If Tabla.BOF and Tabla.EOF then
Tabla.AddNew
Tabla("cedula")=Request("cedula")
Tabla("respuesta1")=Request("respuesta1")
Tabla("respuesta2")=Request("respuesta2")
Tabla("respuesta3")=Request("respuesta3")
Tabla.Update
%>
<img src="img/Logo_MH.jpg" width="136" height="122">
<br>
<br>
<font face="Tahoma" size="2"><b><i>Se enviaron correctamente los datos.

</i></b></font>
<br>
<br>
Gracias por proporcionar la información!
<br>
<input type="button" name="imprimir" value="Imprimir este reporte"
onclick="window.print();">
<%
Else
Response.Write "Usted ya proporcionó las respuestas anteriormente. "
End if
Tabla.Close
Conexion.Close
%>

<HTML>
<head><title><Gracias></title></head>
<body>
<b>
</body>
</HTML>



Preguntas similares