| www.rpvreport.com |
![]() |
Rpv Reports
Usando ASP para
generar un reporte Rpv
Este ejemplo muestra cómo
preparar un listado utilizando ASP y Rpv Reports.
Ejemplo creado por Carlos Urquizo - La Paz, Bolivia.
curquizom@hotmail.com
Requerimientos mínimos:
Windows 98 -2000 ; IIS o PWD;
También funciona en plataforma NT SERVER 2000.
Crear la base de datos en la carpeta donde se alojara el script rpv.asp
Nombre de la base: base.mdb
Nombre de la tabla: usuarios Campos Usuario, Nombre
Consiste en Generar el archivo pruebas.rpv utilizando el FSO de ASP,
almacenando en este una consulta hecha a una base de datos, una vez
realizado ese proceso se procede al
redirecionamiento mediante Response.redict al archivo
generado (aleatoriamente) de esta manera procedera a
la apertura del mismo utilizando el visor de RPV, el
mismo que tiene que estar instalado en el cliente.
Descargue
el ejemplo en formato ZIP (14 Kb!)
| <% 'Creado por Carlos Urquizo La Paz Bolivia curquizom@hotmail.com Function generadordeclaves(longituddeclave) ' Nota para los principientes : el simbolo "_" es el de continuación de linea ' Definicion del array Dim numerodecaracteres Dim salida Dim char_array char_array = Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", _ "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", _ "U", "V", "W", "X", "Y", "Z") Randomize() Do While Len(salida) < longituddeclave salida = salida & char_array(Int(26 * Rnd())) Loop ' establecemos el valor del resultado a devolver generadordeclaves = salida End Function numerodecaracteres=8 archi=generadordeclaves(numerodecaracteres)&".rpv" 'Abrimos la conexion con la BD Set conn = Server.CreateObject ("ADODB.Connection") 'aca se encuentra la cadena de conexion a sqlserver 'conn.Open "driver={SQL Server};server=sqlservername; database=; uid=c;pwd=" pat = Server.MapPath("./") conn.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&pat&"\base.mdb;" 'hacemos la consulta sql = "SELECT * from usuarios " Set rs = Server.CreateObject("ADODB.Recordset") rs.Open sql, conn, 3, 3 'creamos el nombre del archivo archivo= request.serverVariables("APPL_PHYSICAL_PATH") & archi 'conectamos con el FSO set confile = createObject("scripting.filesystemobject") 'creamos el objeto TextStream set fich = confile.CreateTextFile(archivo) 'mandamos la cabecera fich.writeline("report_title=EJEMPLO EN ASP") fich.writeline("Papersize=letter") fich.writeline("orientation=2") fich.writeline("spacing=250") fich.writeline("$c1=1000") fich.writeline("$c2=3400") fich.writeline("[header]") fich.writeline("{pic=rpvlogo.bmp,400,400,1400,1400}") fich.writeline("{f=arial;s=8}") fich.writeline("{pic=rpvlogo.bmp,400,400,1400,1400}") fich.writeline("{\n;$c1} Page {12800;pag}") fich.writeline("{s=16;\n;\n;2000;c=2;b=y} Aplicación de Ejemplo {spacing=350;\n}") fich.writeline("{c=1;2000} Reporte de ejemplo en ASP (una línea por registro). {c=0;b=n;\n;\n;\n;\n}") fich.writeline("{LINE=400,14000;\n}") fich.writeline("{s=8;b=y;$c1} Nombre {$c2} usuario {b=n;spacing=375;\n}") fich.writeline("{LINE=400,14000;\n}") fich.writeline("[data]") 'imprimimos el cuerpo del reporte do while Not rs.eof fich.writeline("{t;$c1}"&Server.HTMLEncode(rs.Fields("nombre").Value)&"{t;$c2}"&Server.HTMLEncode(rs.Fields("usuario").Value)&"{t;\n}") rs.MoveNext loop 'cerramos la conexión a la base de datos Conn.Close set Conn = nothing 'cerramos el fichero fich.close() 'reenviamos el archivo al navegador response.redirect (archi) 'borra el archivo del servidor Set fso = Server.CreateObject("Scripting.FileSystemObject") On Error Resume Next Call fso.DeleteFile(Server.MapPath(archi), True) Set fso = Nothing 'eso es todo amigos %> |