Está en la página 1de 26

http://www.asptutor.com/asp/vart.asp?id=107 http://www.asptutor.com/asp/ejemplosdecodigo.

asp

Un Sistema de postales Virtuales en ASP


Descripcin de la base de datos:

Un Sistema de postales Virtuales en ASP

Como veis, la base de datos es muy sencilla, solo contiene una tabla denominada "postales" y tres campos
id url tema Campo autonumrico que nos hace de identificador de cada imagen Nombre fsico de la imagen (mariposa.gif, avion.jpg,...) El campo tema nos servir para agrupar todas las imgenes de un mismo tipo (paisajes, infantil, ...)

Hasta aqu sencillo verdad?, bueno, pues como veris ahora el cdigo tampoco es complejo. Mdulos de la aplicacin Como dijimos al principio, la aplicacin consta de 3 mdulos:
Ser la pgina de inicio de nuestro sistema de postales. Cumplir una doble funcin, nos va a servir tanto para elegir el tema de la postal (si se entra en ella sin parmetros) como para que el usuario confeccione la postal una vez elegido el tema En este modulo comprobaremos que el usuario ha introducido todos los datos necesarios para el envo, y si es as le mostraremos una previsualizacin de la postal y le daremos la oportunidad de enviarla o volver atrs para corregirla. En este modulo llamaremos a ASPEmail y confeccionaremos y enviaremos la postal

default.asp

confirmapostal.asp

enviarpostal.asp

Mdulos de la aplicacin Apuntes sobre el cdigo: DEFAULT.ASP Como comentamos anteriormente, el cdigo hace una doble funcin, si al capturar la variable tema a travs de request.form("tema") esta esta vaca, mostramos un formulario para poder elegir el tema de la postal, en caso contrario, mostramos todas la imgenes sobre el tema elegido. En las variables urlfoto y urlminiatura guardamos la direccin relativa de los directorios que contienen nuestras imgenes

CONFIRMAPOSTAL.ASP

http://www.asptutor.com/asp/vart.asp?id=107 http://www.asptutor.com/asp/ejemplosdecodigo.asp
En este modulo comprobamos que ninguna de las variables recibidas desde default.asp esta vaca, si alguna lo esta, emitimos un mensaje de error y no mostramos la previsualizacin de la postal. Utilizamos la funcin comentarios=replace(request.form("comentarios"),chr(10),"<br>") para sustituir los saltos de lnea de teclado por etiquetas <br>

Defaul.asp
<html> <head> <title>Envio de E-Postales</title> </head> <body> <%urlfoto="images/" urlminiatura="images/miniaturas/" tema=request.form("tema")%> <center> <div align="center"> <center> <table border="0" width="80%"> <tr> <td width="100%" align="center"><font color="#0000FF" size="5"> Envi de E-Postales</font> <p>&nbsp;</p> </td></tr> <tr> <td width="100%" align="center" bgcolor="#D9F8FF"> <%Set Conna = Server.CreateObject("ADODB.Connection") 'nota: la cadena de conexin debe de ir en una sola lnea, aqui esta cortada por diseo Conna.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\TudirBd\postales.mdb")) set rs=createobject("ADODB.Recordset") if tema="" then sqltxt="SELECT distinct tema from postales" rs.open sqltxt,conna%> <p align="left">Elige un tema para tu postal:</p> <form method="POST" action="default.asp"> <p align="center"><select size="1" name="tema"> <%do while not rs.eof %> <option><%=rs("tema")%></option> <%rs.movenext loop rs.close set rs=nothing%> </select><input type="submit" value="Seleccionar" name="B1"></p> </form> <p><br> <%else sqltxt="SELECT * from postales where tema like '%"&tema&"%' order by id" rs.open sqltxt,conna%> </p> <p align="left"><font color="#0000FF">Tema:</font><font color="#00FFFF"> </font> <%=tema%></p> <p align="left">Elige una imagen para tu postal:</p> <form method="POST" action="confirmapostal.asp"> <table border="0" width="100%" bgcolor="#55B5F1"><tr> <%contador=0 do while not rs.eof contador = contador+1 if contador >3 then contador=1%> </tr><tr>

http://www.asptutor.com/asp/vart.asp?id=107 http://www.asptutor.com/asp/ejemplosdecodigo.asp
<%end if %> <td width="33%" align="center"> <p align="center"><img border="0" src="<%=urlminiatura%><%=rs("url")%>" > <input type="radio" value="<%=rs("id")%>" name="id" checked></td> <%rs.movenext loop rs.close set rs=nothing%> </tr> </table> <p align="left">&nbsp;</p> <table border="1" width="100%" bgcolor="#C0C0C0" bordercolor="#FFFFFF"> <tr> <td width="30%"><font color="#0000FF" size="2">Tu nombre:</font></td> <td width="70%"><input type="text" name="nombre" size="45"></td> </tr> <tr> <td width="30%"><font color="#0000FF" size="2">Tu email:</font></td> <td width="70%"><input type="text" name="email" size="45"></td> </tr> <tr> <td width="30%"><font color="#0000FF" size="2">Nombre de tu amigo:</font></td> <td width="70%"><input type="text" name="amigo" size="45"></td> </tr> <tr> <td width="30%"><font color="#0000FF" size="2">Email de tu amigo:</font></td> <td width="70%"><input type="text" name="emailamigo" size="45"></td> </tr> </table> <p align="left">Que le contamos:</p> <p align="center"><textarea rows="2" name="comentarios" cols="53"></textarea></p> <p align="center"><input type="submit" value="continuar ->" name="B1"></p> </form> <%end if%> </td> </tr> <tr> <td width="100%" align="center">&nbsp;</center> </center> <p align="right"><font size="1"> Cdigo proporcionado por :&nbsp; <a href="http://www.asptutor.com"> <img border="0" src="http://www.asptutor.com/images/asptutor88x31.gif"></a></font></td> </tr> </table> </div> </body> </html>

Confirmapostal.asp
<%if request.form("id")="" then response.redirect "default.asp" end if urlfoto="images/" urlminiatura="images/miniaturas/"%> <html> <head> <title>Envio de E-Postales</title> </head> <body> <div align="center"> <center> <table border="0" width="80%" bgcolor="#D9F8FF"> <tr> <td width="100%"> <%for each v_entrada in request.form

http://www.asptutor.com/asp/vart.asp?id=107 http://www.asptutor.com/asp/ejemplosdecodigo.asp
for indice=1 to request.form(v_entrada).count if request.form(v_entrada)(indice) = "" then mal=1%> <font color="#FF00FF">El campo <%=v_entrada%> no puede estar vacio</font><br> <%end if next next if mal <> 1 then Set Conna = Server.CreateObject("ADODB.Connection") 'nota: la cadena de conexin debe de ir en una sola lnea, aqui esta cortada por diseo Conna.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\TudirBd\postales.mdb")) set rs=createobject("ADODB.Recordset") sqltxt="SELECT * from postales where id="&request.form("id") rs.open sqltxt,conna url=rs("url") rs.close set rs=nothing %> <h3 align="center"><font color="#FF0000">Esta es la postal que vas a enviar</font></h3> <div align="center"> <center> <table border="0" width="500" background="images/rayasgrises.gif"> <tr> <td width="642" colspan="2"> &nbsp; </td> </tr> <tr> <td width="93" bgcolor="#66CCFF">&nbsp;</td> <td width="543">&nbsp; <table border="0" width="100%" cellspacing="5" bgcolor="#FFFFFF"> <tr> <td><img border="0" src="<%=urlfoto%><%=url%>" align="left"></td> <%'cambiamos los saltos de carro por <br> comentarios=replace(request.form("comentarios"),chr(10),"<br>") 'Ponemos la primera letra en mayusculas inicial=ucase(mid(request.form("comentarios"),1,1)) 'Asignamos a la variable comentarios el resto de la cadena comentarios=mid(comentarios,2) %> <td valign="top">&nbsp;<i> <font color="#FF00FF" size="7"> <%=inicial%></font></i><%=comentarios%></td> </tr> <tr> <td width="100%" colspan="2"><font color="#FF0000">De:</font> <a href="mailto:<%=request.form("email")%>"><%=request.form("nombre")%></a><br> <font color="#FF0000">Para:</font> <%=request.form("amigo")%> (<%=request.form("emailamigo")%>)</td> </tr> </table> <p>&nbsp;</p> </td> </tr> </table> </center> </div> &nbsp; <div align="center"> <center> <table border="0" width="50%"> <tr> <td width="50%" valign="top"> <p align="center">No me gusta, quiero corregirla</td> <td width="50%" valign="top"> <p align="center">Me gusta,<br> envala</td> </tr> <tr>

http://www.asptutor.com/asp/vart.asp?id=107 http://www.asptutor.com/asp/ejemplosdecodigo.asp
<td width="50%" valign="top" align="center"> <a href="javascript:window.history.back()"> <img border="0" src="../images/atras.gif"></a></td> <td width="50%" valign="top" align="center"> <form method="POST" action="enviarpostal.asp"> <input type="hidden" name="comentarios" size="20" value="<%=request.form("comentarios")%>"> <input type="hidden" name="nombre" size="20" value="<%=request.form("nombre")%>"> <input type="hidden" name="email" size="20" value="<%=request.form("email")%>"> <input type="hidden" name="amigo" size="20" value="<%=request.form("amigo")%>"> <input type="hidden" name="emailamigo" size="20" value="<%=request.form("emailamigo")%>"> <input type="hidden" name="url" size="20" value="<%=url%>"> <input type="hidden" name="id" size="20" value="<%=request.form("id")%>"> <p><input border="0" src="../images/adelante.gif" name="I1" type="image"></p> </form> &nbsp;</td> </tr> </table> </center> </div> <%else%> <p align="center"><a href="javascript:window.history.back()"> <img border="0" src="../images/atras.gif"></a></p> <%end if%></td> </tr> <tr> <td width="100%">&nbsp; <p align="right"> <font size="1">Cdigo proporcionado por :&nbsp; <a href="http://www.asptutor.com"> <img border="0" src="http://www.asptutor.com/images/asptutor88x31.gif"></a> </font></td> </tr> </table> </center> </div> </body> </html>

Apuntes sobre el cdigo: ENVIARPOSTAL.ASP En las variables urlfoto y urlminiatura guardamos la direccin ABSOLUTA de los directorios que contienen nuestras imgenes. Tener en cuenta que cuando alguien reciba la postal, todas las referencias a objetos de la red (URL's, tanto de imgenes como hipervinculos) que se incluyan en esta debern ser en ABSOLUTO (http://www.tuweb.com/....) , de otra forma no podra visualizarlas Tendris que configurar las variables de ASPEmail con los datos de vuestro servidor.

Enviarpostal.asp

<% id=request.form("id") if id = "" then response.redirect "default.asp" end if urlfoto="http://www.tuweb.com/postales/images/" urlminiatura="http://www.tuweb.com/postales/images/miniaturas/" 'cambiamos los saltos de carro por <br> comentarios=replace(request.form("comentarios"),chr(10),"<br>") 'Ponemos la primera letra en mayusculas inicial=ucase(mid(request.form("comentarios"),1,1)) 'Asignamos a la variable comentarios el resto de la cadena

http://www.asptutor.com/asp/vart.asp?id=107 http://www.asptutor.com/asp/ejemplosdecodigo.asp
comentarios=mid(comentarios,2) strHost = "mail.tuweb.com" Set Mail = Server.CreateObject("Persits.MailSender") Mail.Host = strHost Mail.From = "webmaster@tuweb.com" Mail.FromName = request.form("nombre") Mail.AddReplyTo request.form("email") Mail.AddAddress request.form("emailamigo") titulo=Request.form("Nombre")&" te envia una e-postal" Mail.Subject = titulo Mail.IsHTML = True mensaje="<html><head>" mensaje=mensaje & "<title>Una E-postal para ti</title>"&vbcrlf mensaje=mensaje & " </head><body><div align=center>"&vbcrlf mensaje=mensaje & "<center> "&vbcrlf mensaje=mensaje & "<table border=0 width=652 " mensaje=mensaje & " background=http://www.tuweb.com/images/rayasgrises.gif> "&vbcrlf mensaje=mensaje & " <tr>"&vbcrlf mensaje=mensaje & " <td width=93 bgcolor=#66CCFF>&nbsp;</td>"&vbcrlf mensaje=mensaje & " <td width=543>&nbsp;"&vbcrlf mensaje=mensaje & " <table border=0 cellspacing=5 bgcolor=#FFFFFF>"&vbcrlf mensaje=mensaje & " <tr> <td ><img border=0 src="&urlfoto&request.form("url")&">"&vbcrlf mensaje=mensaje & " <td valign=top>"&vbcrlf mensaje=mensaje & " &nbsp;&nbsp;&nbsp;<i><font color=#FF00FF size=7>" mensaje=mensaje & inicial&"</font></i>"&comentarios&vbcrlf mensaje=mensaje & "</td> </tr>"&vbcrlf mensaje=mensaje & " <tr>"&vbcrlf mensaje=mensaje & "<td colspan=2> "&vbcrlf mensaje=mensaje & " <font color=#FF0000>De:</font>"&vbcrlf mensaje=mensaje & " <a href=mailto:"& request.form("email")&">" mensaje=mensaje & request.form("nombre")&" </a><br>"&vbcrlf mensaje=mensaje & "<font color=#FF0000>Para:</font> "&vbcrlf mensaje=mensaje & request.form("amigo")&"("&request.form("emailamigo")&")"&vbcrlf mensaje=mensaje & " </td> </tr></table><p>&nbsp;</p> </td></tr>"&vbcrlf mensaje=mensaje & " </table>"&vbcrlf mensaje=mensaje & " </center>"&vbcrlf Mail.Body = mensaje Mail.Send

%> <html> <head>

<title>Envio de E-Postales</title> </head> <body> <p align="center">&nbsp;</p> <h3 align="center"><font color="#FF0000">Postal enviada correctamente</font></h3> <p align="center"><a href="default.asp">Enviar otra</a></p> <p align="center">&nbsp; <font size="1">Cdigo proporcionado por :&nbsp; <a href="http://www.asptutor.com"> <img border="0" src="http://www.asptutor.com/images/asptutor88x31.gif"></a> </font> </body> </html>

http://www.asptutor.com/asp/vart.asp?id=107 http://www.asptutor.com/asp/ejemplosdecodigo.asp

Paginacin de resultados Bsica

Paginacin de registros Este ejemplo nos permite paginar en bloques de registros el resultado de una select contra una tabla de nuestra base de datos.

Paginando.asp
<!-- #include file="adovbs.inc" --> <html> <!-- recibimos del formulario la direccin del movimiento y lo guardamos en una variable de sesin para este usuario --> <%xx=request.form("direccion") if xx = "Atras" then session("pagina")=session("pagina")-1 if session("pagina")< 1 then session("pagina")=1 'evitamos el error por reload end if else if xx="Adelante" then session("pagina")=session("pagina")+1 else session("pagina")=1 'primera pasada end if end if%> <head> <title>Paginacin de registros</title> </head> <!-- Montamos la sentencia SQL con los campos a seleccionar --> <%SQLtxt = "SELECT Producto, Cantidad, Precio FROM almacen"%> <body> <!-- Creamos el objeto recordset y le asignamos un tipo de cursor que nos permita movernos por el y asignarle tamaos de pagina --> <%set rs = CreateObject("ADODB.Recordset") rs.CursorType = adOpenstatic %> <!-- abrimos el recordset con la sentencia SQL sobre nuestra base ODBC y le asignamos el tamao de pgina --> <%rs.Open SQLtxt, "DSN=Mibase" rs.pagesize=10 if session("pagina")>rs.pagecount then session("pagina")=rs.pagecount 'evitamos el error de reload end if%> <!-- situamos el cursor en el inicio de la pagina a mostrar y calculamos los valores de inicio y fin para mostrarlos en las cabeceras --> <%rs.absolutepage=session("pagina") inicio=1+(session("pagina")-1)*rs.pagesize fin=inicio+9 if fin > rs.recordcount then fin =rs.recordcount

http://www.asptutor.com/asp/vart.asp?id=107 http://www.asptutor.com/asp/ejemplosdecodigo.asp
end if %> <center><h3>Paginacin de registros</h3></center> <table border="0" width="100%" bgcolor="#C0C0C0"> <tr> <td width="50%" align="center">Registros <font color="#FF0000"><%=inicio%> </font> al <font color="#FF0000"><%=fin%></font> de un total de <font color="#FF0000"><%=rs.recordcount%></font></td> <td width="50%" align="center">Pgina <font color="#FF0000"><%=session("pagina")%> </font> de <font color="#FF0000"><%=rs.pagecount%></font></td> </tr> </table> <br> <table BORDER="1" CELLSPACING="0" BORDERCOLOR="#000000" CELLPADDING="2" width="100%"> <tr> <td BGCOLOR="#C0C0C0"><b>Nombre de producto</b></td> <td BGCOLOR="#C0C0C0"><b>Cantidad por unidad</b></td> <td BGCOLOR="#C0C0C0" align="right"><b>Precio por unidad</b></td> </tr> <!-- montamos el bucle para mostrar los registros --> <% contador=0 Do While contador < rs.pagesize and NOT rs.EOF%> <tr> <td><%= rs("Producto")%></td> <td><%= rs("Cantidad")%></td> <td align="right"><%= FormatCurrency(rs("Precio"))%></td> </tr> <% rs.MoveNext contador=contador+1 Loop %> </table> <div align="center"> <center> <!-- mostramos los botones de adelante y atras segun proceda --> <table border="0" width="38%" height="5"> <tr><%if session("pagina")<> 1 then %> <td width="50%" height="1" align="center"> <form method="POST" action="paginando.asp"> <p><input type="submit" value="Atras" name="direccion"></p> </form> </td><%end if%> <%if session("pagina")< rs.pagecount then%> <td width="50%" height="1" align="center"> <form method="POST" name="paginando.asp"> <p><input type="submit" value="Adelante" name="direccion"></p> </form> </td><%end if%> </tr> </table> </center> </div> <!-- cerramos el recordset --> <%rs.Close%> </body></html>

http://www.asptutor.com/asp/vart.asp?id=107 http://www.asptutor.com/asp/ejemplosdecodigo.asp

Codigo de un Libro de visitas(IV)


Este articulo ha sido ledo 49,375 veces

Un libro de visitas en ASP (IV) Mdulos de la aplicacin: deletereg.asp Este modulo es un formulario simple que nos permite introducir la clave de administracin para borrado de registros (esta palabra clave la tendremos almacena en la tabla "CLAVE" de nuestra base de datos)
<html> <head> <title>Borrado de registro(I)</title> </head> <body> <form method="POST" action="deletereg2.asp"> <div align="center"> <center> <table border="1" width="50%"> <tr> <td width="100%" align="center" bgcolor="#00CCFF"><font color="#FFFFFF">Teclea la clave de administracin</font></td> </tr> <tr> <td width="100%" align="center" bgcolor="#000000"><input type="password" name="clave" size="20"><input type="hidden" name="id" size="20" value="<%=request.querystring("id")%>"></td> </tr> <tr> <td width="100%" bgcolor="#000000"> <p align="center"><input type="submit" value="Enviar" name="B1"></td> </tr> </table> </center> </div> </form> </body> </html>

deletereg2.asp Este modulo recibe la password tecleada en deletereg.asp, la comprueba y borra en registro. Si la clave es erronea da un mensaje, si todo va bien, nos devuelve a la pgina principal del libro de visitas y nos da un mensaje de confirmacin de que todo ha ido bien.
<%if request.form("clave")="" or request.form("id")="" then response.redirect "default.asp"

http://www.asptutor.com/asp/vart.asp?id=107 http://www.asptutor.com/asp/ejemplosdecodigo.asp
end if Const Const Const Const Const Const Const Const adOpenForwardOnly = 0 adOpenKeyset = 1 adOpenDynamic = 2 adOpenStatic = 3 adLockReadOnly = 1 adLockPessimistic = 2 adLockOptimistic = 3 adLockBatchOptimistic = 4

Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\dirdb\librovisitas.mdb")) set rs=createobject("ADODB.Recordset") rs.CursorType = adOpenKeyset rs.LockType = adLockOptimistic sqltxt="select * from clave" rs.open sqltxt,conn if rs("clave")<> request.form("clave") then%> <html> <head> <title>Borrado de registro(II)</title> </head> <body> <div align="center"> <center> <table border="0" width="50%"> <tr> <td width="100%"> <table border="10" width="100%" bgcolor="#FF0000" bordercolor="#000000"> <tr> <td width="100%"> <p align="center"><font color="#FFFFFF">Clave ERRONEA</font></td> </tr> </table> </td> </tr> <tr> <td width="100%"> <p align="center"><a href="javascript:window.history.back()">Intentalo de nuevo</a> </td> </tr> </table> </center> </div> </body> </html> <%else rs.close sqltxt="delete from visitas where id="&request.form("id") conn.execute sqltxt conn.close response.redirect "default.asp?borrado=si" end if%>

Resumen: A que es bastante mas sencillo de lo que parece a primera vista? Como habis visto son solo cuatro mdulos (default.asp, firmar.asp, deletereg.asp y deletereg2.asp) que lo nico que hacen es aplicar lo visto en ejemplos anteriores.

http://www.asptutor.com/asp/vart.asp?id=107 http://www.asptutor.com/asp/ejemplosdecodigo.asp

Para que la cosa quede completa necesitareis las imgenes usadas para que la cosa quede mas bonita, aqu las tenis (descargarlas con el botn derecho): gb_delmsg.gif gb_mail.gif gb_msg.gif gb_www.gif

Bien, ya tenis vuestro propio libro de visitas, tan funcional como el que podeis encontrar en cualquier otro sitio, y adems personalizable con vuestros colores, logotipos, etc. Si esas este cdigo, seria un detalle por tu parte poner alguna referencia a la web que os lo ha proporcionado ;-) Puedes poner un pequeo logotipo de ASPTutor.com cortando y pegando en tu pgina el siguiente cdigo:
<a href="http://www.asptutor.com" target="_blank"><img border="0" src="http://www.asptutor.com/images/asptutor88x31.gif"></a>

Este articulo ha sido ledo 79,521 veces

Un sistema de encuestas

Un sistema de encuestas

Este ejemplo muestra como montar un sistemas de encuestas en nuestra web Lo basamos en una bd que contendr la pregunta y las posibles respuestas a estas, esto nos evitar tocar el cdigo html cada vez que variemos la encuesta. Mantendremos un registro por cada encuesta y un campo en dicho registro indicara cual es la encuesta activa en ese momento. La estructura de la tabla encuestas en la BD Tencuestas es :

http://www.asptutor.com/asp/vart.asp?id=107 http://www.asptutor.com/asp/ejemplosdecodigo.asp

Nuestra aplicacin consta de 2 mdulos principales( encuesta.asp y verencuesta.asp) mas un modulo de visualizacin de todas las encuestas (historico.asp). Adems he incluido el cdigo de 2 mdulos de mantenimiento, que nos servirn para incluir nuevas encuestas desde la web (crearencuesta.htm y crearencuesta.asp). El uso de estos mdulos implica la creacin en la bd de una nueva tabla para el almacenamiento de la clave de creacin de encuestas. Estructura de la tabla clave en la BD Tencuestas

Para mostrar la encuesta en una pgina lo haremos con un include


<!-- #include file="encuesta.asp" -->

Lo que nos permite mostrar la encuesta en cualquier pgina con solo una lnea de cdigo. el aspecto seria el que podeis ver en la pgina principal de www.asptutor.com

Mdulos bsicos del sistema encuesta.asp <%Set Connae = Server.CreateObject("ADODB.Connection") Connae.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/xxxxx/Tencuestas.mdb"))

http://www.asptutor.com/asp/vart.asp?id=107 http://www.asptutor.com/asp/ejemplosdecodigo.asp

set rse=createobject("ADODB.Recordset") sqltxt="SELECT * from encuestas where activa=true" rse.open sqltxt,connae if not rse.EOF then %>

<div align="center"> <center> <table border="1" width="150" bgcolor="#C0C0C0" bordercolor="#0000FF"> <tr> <td width="100%"> <form method="POST" action="encuestas/verencuesta.asp" target="_blank"> <table border="0" width="100%"> <tr> <td width="100%" bgcolor="#0000FF"> <p align="center"><font face="Verdana" size="1" color="#00FFFF"><b><i>Encuesta del mes</i></b></font></td> </tr> <tr> <td width="100%"> <p align="center"><font face="Verdana" size="1"><b><%=rse("pregunta")%></b></font></td> </tr> <%for i = 0 to rse("nopciones")-1 step 1 %> <tr> <td width="100%"><input type="radio" value="<%=i%>" name="opcion" checked> <font face="Verdana" size="1"><%=rse(i)%></font></td> </tr> <%next rse.close%> </table> <p align="center"> <input border="0" src="../images/opinar.gif" name="I1" type="image"></p> </form> </center> <p align="center"><a href="encuestas/historico.asp" target="_blank"><img border="0" src="images/ir.gif" alt="Historico

http://www.asptutor.com/asp/vart.asp?id=107 http://www.asptutor.com/asp/ejemplosdecodigo.asp

de encuestas"></a></p> </td> </tr> </table> </div> <%else rse.close end if connae.close set connae=nothing %> verencuesta.asp <% @LCID = 1034 %> <%response.expires=-1000%> <% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/xxxxx/Tencuestas.mdb"))

if request.form("opcion")<>"" then

select case true case request.form("opcion")=0 campo="r1" case request.form("opcion")=1 campo="r2" case request.form("opcion")=2 campo="r3" case request.form("opcion")=3 campo="r4" end select sqltxt="update encuestas set "&campo&" = "&campo&"+1 where activa=True" conn.execute sqltxt end if %> <html> <head> <title>Las encuestas de AspTutor</title> </head>

http://www.asptutor.com/asp/vart.asp?id=107 http://www.asptutor.com/asp/ejemplosdecodigo.asp

<body> <%if request.form("opcion")<>"" then%> <p align="center"><font color="#FF0000"><b><font face="Verdana" size="1" color="#FF0000">Muchas gracias por participar en la encuesta</font><br> </b></font><br> <%end if dim colores(3) colores(0)="red" colores(1)="blue" colores(2)="green" colores(3)="black" tamatabla=400 'tamao de la tabla

set rs=createobject("ADODB.Recordset") sqltxt="SELECT * from encuestas where activa=true" rs.open sqltxt,conn if not rs.EOF then %> <div align="center"> <center> <table border="1" width="<%=tamatabla%>" bgcolor="#C0C0C0" bordercolor="#0000FF"> <tr> <td width="<%=tamatabla%>" bgcolor="#0000FF"> <p align="center"><font color="#FFFFFF" face="Verdana" size="1"><b><%=rs("pregunta")%></b></font></td> </tr> <tr> <td width="<%=tamatabla%>"> <table border="0" width="<%=tamatabla%>"> <%totvotos=rs("r1")+rs("r2")+rs("r3")+rs("r4") if totvotos< 1 then totvotos=1 for i = 0 to rs("nopciones")-1 step 1 %> <%porcentaje=formatnumber(rs(i+4)*100/totvotos,2)%> <tr> <td width="<%=tamatabla*30/100%>" valign="top"><font face="Verdana" size="1"><b><%=rs(i)%></b></font><br> <font face="Verdana" color="#FFFFFF" size="1"><b><%=porcentaje%>%</b></font></td>

http://www.asptutor.com/asp/vart.asp?id=107 http://www.asptutor.com/asp/ejemplosdecodigo.asp

<td width="<%=tamatabla*70/100%>"> <table border="0" width="<%=round(porcentaje)%>%" bgcolor="<%=colores(i)%>"> <tr> <td width="100%"> </td> </tr> </table> </td> </tr> <%next %> </table>

</td> </tr> <tr> <td width="300"> <p align="center"><font face="Verdana" size="1"><b>Total de votos: <font color="#FF0000"><%=totvotos%></font> </b></font></p> </td> </tr> <%if rs("inicio")<>"" then%> <tr> <td width="300"> <font face="Verdana" size="1">Fecha de inicio: <%=rs("inicio")%></font> </td> </tr><%end if%> <%if rs("fin")<>"" then%> <tr> <td width="300"> <font face="Verdana" size="1">Fecha de cierre: <%=formatdatetime(rs("fin"),2)%></font> </td> </tr> <%end if%> </table> </center> </div> <%rs.close set conn = nothing end if%>

http://www.asptutor.com/asp/vart.asp?id=107 http://www.asptutor.com/asp/ejemplosdecodigo.asp

<p align="center"><font face="Verdana" size="1"><a href="javascript:close();">Cerrar ventana</a></font></p> <p align="center"><font face="Verdana" size="1"><a href="historico.asp">Ver todas las encuestas</a></font></p> <p align="right"><font face="Verdana" size="1">Sistema de encuestas de <a href="http://www.asptutor.com" target="_blank"><img border="0" src="http://www.asptutor.com/images/asptutor88x31.gif" align="center"></a></font></p>

</body> </html> historico.asp <html> <head> <title>Historico de encuestas</title> </head> <body> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"><h3

style="background-color: rgb(0,255,255)"><b>Histrico de encuestas</b> </h3> </font> <br> <% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/xxxxx/Tencuestas.mdb")) dim colores(3) colores(0)="red" colores(1)="blue" colores(2)="green" colores(3)="black" tamatabla=400 'tamao de la tabla

set rs=createobject("ADODB.Recordset") sqltxt="SELECT * from encuestas order by idencuesta desc"

http://www.asptutor.com/asp/vart.asp?id=107 http://www.asptutor.com/asp/ejemplosdecodigo.asp

rs.open sqltxt,conn do while not rs.EOF%> <div align="center"> <center> <table border="1" width="<%=tamatabla%>" bgcolor="#C0C0C0" bordercolor="#0000FF"> <tr> <td width="<%=tamatabla%>" bgcolor="#0000FF"> <p align="center"><font color="#FFFFFF" face="Verdana" size="1"><b><%=rs("pregunta")%></b></font></td> </tr> <tr> <td width="<%=tamatabla%>"> <table border="0" width="<%=tamatabla%>"> <%totvotos=rs("r1")+rs("r2")+rs("r3")+rs("r4") if totvotos< 1 then totvotos=1 for i = 0 to rs("nopciones")-1 step 1 %> <%porcentaje=formatnumber(rs(i+4)*100/totvotos,2)%> <tr> <td width="<%=tamatabla*30/100%>" valign="top"><font face="Verdana" size="1"><b><%=rs(i)%></b></font><br> <font face="Verdana" color="#FFFFFF" size="1"><b><%=porcentaje%>%</b></font></td>

<td width="<%=tamatabla*70/100%>"> <table border="0" width="<%=round(porcentaje)%>%" bgcolor="<%=colores(i)%>"> <tr> <td width="100%"> </td> </tr> </table> </td> </tr> <%next %> </table>

</td> </tr> <tr> <td width="300">

http://www.asptutor.com/asp/vart.asp?id=107 http://www.asptutor.com/asp/ejemplosdecodigo.asp

<p align="center"><font face="Verdana" size="1"><b>Total de votos: <font color="#FF0000"><%=totvotos%></font> </b></font></p> </td> </tr><%if rs("inicio")<>"" then%> <tr> <td width="300"> <font face="Verdana" size="1">Fecha de inicio: <%=rs("inicio")%></font> </td> </tr><%end if%> <%if rs("fin")<>"" then%> <tr> <td width="300"> <font face="Verdana" size="1">Fecha de cierre: <%=formatdatetime(rs("fin"),2)%></font> </td> </tr> <%end if%> </table> </center> </div> <br> <%rs.movenext loop rs.close set rs=nothing conn.close set conn=nothing %> <p align="right"><font face="Verdana" size="1">Sistema de encuestas de <a href="http://www.asptutor.com" target="_blank"><img border="0" src="http://www.asptutor.com/images/asptutor88x31.gif" align="center"></a></font></p> </body> </html>

Mdulos de mantenimiento crearencuesta.htm

http://www.asptutor.com/asp/vart.asp?id=107 http://www.asptutor.com/asp/ejemplosdecodigo.asp

<html> <head> <title>Crear una nueva encuesta</title> </head> <body> <div align="center"> <center> <table border="0" width="80%"> <tr> <td width="100%" bgcolor="#0000FF"> <p align="center"><font color="#FFFFFF">Crear una nueva encuesta</font></p> </td> </tr> <tr> <td width="100%" bgcolor="#C0C0C0"> <p align="center"><font face="Verdana" size="1">Sistema de encuestas de <a href="http://www.asptutor.com" target="_blank"><img border="0" src="http://www.asptutor.com/images/asptutor88x31.gif" align="center"></a></font></p> <form method="POST" action="crearencuesta.asp"> <div align="center"> <center> <table border="0" width="90%"> <tr> <td width="34%" bgcolor="#0000FF"><font color="#FFFFFF">Pregunta</font></td> <td width="66%" align="center"><input type="text" name="pregunta" size="40"></td> </tr> <tr> <td width="34%" bgcolor="#0000FF"><font color="#FFFFFF">Respuesta 1</font></td> <td width="66%" align="center"><input type="text" name="tr1" size="40"></td> </tr> <tr> <td width="34%" bgcolor="#0000FF"><font color="#FFFFFF">Respuesta 2</font></td> <td width="66%" align="center"><input type="text" name="tr2" size="40"></td> </tr> <tr> <td width="34%" bgcolor="#0000FF"><font

http://www.asptutor.com/asp/vart.asp?id=107 http://www.asptutor.com/asp/ejemplosdecodigo.asp

color="#FFFFFF">Respuesta 3</font></td> <td width="66%" align="center"><input type="text" name="tr3" size="40"></td> </tr> <tr> <td width="34%" bgcolor="#0000FF"><font color="#FFFFFF">Respuesta 4</font></td> <td width="66%" align="center"><input type="text" name="tr4" size="40"></td> </tr> <tr> <td width="34%"> </td> <td width="66%" align="center"> </td> </tr> <tr> <td width="34%" bgcolor="#0000FF"><font color="#FFFFFF">Clave de creacin</font></td> <td width="66%" align="center"><input type="password" name="clave" size="40"></td> </tr> </table> </center> </div> <p align="center"><input type="checkbox" name="activar" value="ON"> Activar la encuesta una vez insertada</p> <p align="center"><input type="submit" value="Enviar" name="B1"><input type="reset" value="Restablecer" name="B2"><br> </p> </form> </td> </tr> </table> </center> </div> </body> </html> crearencuesta.asp <html> <head> <title>Creacion de encuestas</title> </head> <body> <%Const adOpenForwardOnly = 0

http://www.asptutor.com/asp/vart.asp?id=107 http://www.asptutor.com/asp/ejemplosdecodigo.asp

Const adOpenKeyset = 1 Const adOpenDynamic = 2 Const adOpenStatic = 3 Const adLockReadOnly = 1 Const adLockPessimistic = 2 Const adLockOptimistic = 3 Const adLockBatchOptimistic = 4

Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/xxxxx/Tencuestas.mdb"))

set rs=createobject("ADODB.Recordset") if request.form("activar")="ON" then fin=month(date)&"/"&day(date)&"/"&year(date)

sqltxt="update encuestas set fin=#"&fin&"# where activa=True" 'response.write sqltxt conn.execute sqltxt sqltxt="update encuestas set activa=False where activa=True" conn.execute sqltxt end if sqltxt="select * from clave" rs.open sqltxt,conn if rs("clave")<> request.form("clave") then rs.close %> <div align="center"> <center> <table border="0" width="50%"> <tr> <td width="100%"> <table border="10" width="100%" bgcolor="#FF0000" bordercolor="#000000"> <tr> <td width="100%"> <p align="center"><font color="#FFFFFF">Clave ERRONEA</font></td> </tr> </table> </td> </tr> <tr>

http://www.asptutor.com/asp/vart.asp?id=107 http://www.asptutor.com/asp/ejemplosdecodigo.asp

<td width="100%"> <p align="center"><a href="javascript:window.history.back()">Intentalo de nuevo</a> </td> </tr> </table> </center> </div> <%else rs.close pregunta=trim(request.form("pregunta")) tr1=trim(request.form("tr1")) tr2=trim(request.form("tr2")) tr3=trim(request.form("tr3")) tr4=trim(request.form("tr4")) if request.form("activar")="ON" then activar=True else activar=false end if if tr1="" or tr2="" or pregunta="" then%> <div align="center"> <center> <table border="0" width="50%"> <tr> <td width="100%"> <table border="10" width="100%" bgcolor="#FF0000" bordercolor="#000000"> <tr> <td width="100%"> <p align="center"><font color="#FFFFFF">Al menos se deben ofrecer una pregunta y las alternativas 1 y 2 </font></td> </tr> </table> </td> </tr> <tr> <td width="100%"> <p align="center"><a href="javascript:window.history.back()">Intentalo de nuevo</a> </td> </tr> </table> </center> </div>

http://www.asptutor.com/asp/vart.asp?id=107 http://www.asptutor.com/asp/ejemplosdecodigo.asp

<% else nopciones=2 rs.CursorType = adOpenKeyset rs.LockType = adLockOptimistic rs.open "encuestas",conn rs.addnew rs("pregunta")=pregunta rs("tr1")=tr1 rs("r1")=0 rs("tr2")=tr2 rs("r2")=0 if tr3 <> "" then nopciones=3 rs("tr3")=tr3 rs("r3")=0 if tr4 <> "" then nopciones=4 rs("tr4")=tr4 rs("r4")=0 end if end if rs("nopciones")=nopciones rs("activa")=activar if request.form("activar")="ON" then rs("inicio")=date end if rs.update%> <div align="center"> <center> <table border="0" width="90%" cellpadding="2" bgcolor="#C0C0C0"> <tr> <td width="100%" bgcolor="#0000FF"> <p align="center"><font color="#FFFFFF">Nueva Encuesta creada</font> </td> </tr> <tr> <td width="100%"><br><div align="center"> <center> <table border="0" width="80%"> <tr> <td width="21%" bgcolor="#0000FF"><font color="#FFFFFF">identificador </font></td> <td width="79%" bgcolor="#FFFFFF"><%=rs("idencuesta")%></td> </tr> <tr>

http://www.asptutor.com/asp/vart.asp?id=107 http://www.asptutor.com/asp/ejemplosdecodigo.asp

<td width="21%" bgcolor="#0000FF"><font color="#FFFFFF">Pregunta</font></td> <td width="79%" bgcolor="#FFFFFF"><%=rs("pregunta")%></td> </tr> <tr> <td width="21%" bgcolor="#0000FF"><font color="#FFFFFF">Opcin 1</font></td> <td width="79%" bgcolor="#FFFFFF"><%=rs("tr1")%></td> </tr> <tr> <td width="21%" bgcolor="#0000FF"><font color="#FFFFFF">Opcin 2</font></td> <td width="79%" bgcolor="#FFFFFF"><%=rs("tr2")%></td> </tr> <tr> <td width="21%" bgcolor="#0000FF"><font color="#FFFFFF">Opcin 3</font></td> <td width="79%" bgcolor="#FFFFFF"><%=rs("tr3")%></td> </tr> <tr> <td width="21%" bgcolor="#0000FF"><font color="#FFFFFF">Opcin 4</font></td> <td width="79%" bgcolor="#FFFFFF"><%=rs("tr4")%></td> </tr> <tr> <td width="21%" bgcolor="#0000FF"><font color="#FFFFFF">Activacion</font></td> <td width="79%" bgcolor="#FFFFFF"><%=activar%></td> </tr> </table>

</center> </div> <br> </td> </tr> </table> </center> </div> <p> </p>

http://www.asptutor.com/asp/vart.asp?id=107 http://www.asptutor.com/asp/ejemplosdecodigo.asp

<%rs.close conn.close end if end if%> <p align="right"><font face="Verdana" size="1">Sistema de encuestas de <a href="http://www.asptutor.com" target="_blank"><img border="0" src="http://www.asptutor.com/images/asptutor88x31.gif" align="center"></a></font></p> </body> </html>
http://perrucapuntonet.blogspot.com/ http://msmvps.com/blogs/lopez/archive/2009/07/23/ejemplos-de-asp-net-capas-y-linq.aspx http://www.es-asp.net/tutoriales-asp-net/tutorial-61-76/introduccion-a-paginas-asp-net.aspx http://www.elavefenix.net/ejemplos.aspx http://geeks.ms/blogs/gperez/archive/2008/12/01/nuevo-control-chart-asp-net-3-5-ejemplopr-225-ctico.aspx