![]() |
|
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
Guadagna col tuo sito grazie a TradeD...
Riavviare IIS
Effetto ombra su testo con Photoshop
Guida XHTML
Riscrivere le URL con Asp
Generare password casuali in Javascri...
Errore 80004005: Cannot update. Datab...
Referenze dei Tag Html
HTTP 500 internal server error
Introduzione ad Ajax ed Asp con Jscri...
Breve guida a jQuery
Stringhe di connessione via ODBC e Ol...
Referenze dei fogli di stile Css
Le espressioni regolari in Javascript
|
||||
© 2001/2012 lukeonweb.net - A cura di Luca Ruggiero, Partita IVA 05564851219 -
Privacy |
Pubblicità |
Contatti
| |||||