![]() |
|
Report di stampa da database a Ms Word con Asp
Introduzione
<%@LANGUAGE = JScript%>
<html>
...
<%
var Cn = new ActiveXObject("ADODB.Connection");
Cn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("stampa.mdb"));
var Mostra = Cn.Execute("SELECT * FROM utenti");
Response.Write("<table border='1'>");
while (!Mostra.EOF)
{
with (Response)
{
Write("<tr>");
Write("<td><a href='stampa.asp?id=" + Mostra("id") + "' target='_blank'>Stampa</a></td>");
Write("<td>" + Mostra("nome") + "</td>");
Write("<td>" + Mostra("cognome") + "</td>");
Write("</tr>");
}
Mostra.MoveNext();
}
Response.Write("</table>");
Cn.Close();
%>
...
</html>
Il codice appena presentato stampa a video indiscriminatamente tutti i record dal database, corredando ognuno col link verso il file stampa.asp, passando come parametro identificativo l'id contatore del database in una QueryString.Esecuzione della stampa Il file stampa.asp si occupa, come già detto, di processare i dati e di visualizzarli su di un file Ms Word. Di seguito il codice:
<%@LANGUAGE = JScript%>
<%
Response.Buffer = true;
var id = parseInt(Request.QueryString("id"));
var Cn = new ActiveXObject("ADODB.Connection");
Cn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("stampa.mdb"));
var Mostra = Cn.Execute("SELECT * FROM utenti WHERE id = " + id);
// Genero il file stampa.rtf
Response.ContentType = "application/msword";
Response.AddHeader("content-disposition", "inline; filename=stampa.rtf");
// Creo graficamente il file Ms Word
with (Response)
{
Write("ID: " + Mostra("id") + "
");
Write("Nome: " + Mostra("nome") + "
");
Write("Cognome: " + Mostra("cognome"));
}
Cn.Close();
// Un po di pulizia...
Response.Flush;
Response.End;
%>
ConclusioniPer un corretto funzionamento è necessario che sul server Web in cui viene eseguita l'applicazione vi sia istallata una versione di Ms Word preferibilmente non inferiore alla 2000. Questo tipo di creazione di un file Ms Word è ildale per un'applicazione del genere. Il file .rtf (o voloendo .doc) non viene creato fisicamente sul server, ma viene conservato in una locazione di memoria virtuale e muore appena l'utente lo chiude, ad esempio dopo aver eseguito la stampa. Questo particolare processo evita problemi di concorrenzialità negli accessi. |
IN EVIDENZA
Una slidegallery con jQuery
Pagamenti online con PayPal e PHP
Breve guida a jQuery
Effetto ombra su testo con Photoshop
Guadagna col tuo sito grazie a TradeD...
Guida XHTML
Riscrivere le URL con Asp
Riavviare IIS
HTTP 500 internal server error
Generare password casuali in Javascri...
Errore 80004005: Cannot update. Datab...
Introduzione ad Ajax ed Asp con Jscri...
Referenze dei Tag Html
Stringhe di connessione via ODBC e Ol...
Referenze dei fogli di stile Css
Le espressioni regolari in Javascript
|
||||
© 2001/2010 lukeonweb.net - A cura di Luca Ruggiero, Partita IVA 05564851219 -
Privacy |
Pubblicità |
Contatti
| |||||