Ciao...
ho provato a leggere la text con il codice che mi hai scritto, ma niente non va...
Mi da il seguente errore
Errore di run-time di Microsoft JScript (0x800A138F)
'Request.Params.i_fat' è nullo o non è un oggetto
il codice che ho scritto è
codice:
fattura=Request.Params["fatt1"];
secondo me l'unica soluzione è quella di scrivere l'elenco delle fatture di cui voglio creare il PDF in una tabella, e poi nella pagina che crea il pdf salvo l'elenco delle fatture in un array e poi ciclo il modulo che crea il pdf per le fatture che ho dentro l'array... e fino a qua l'idea mi funziona, l'unico problema è che quando effettuo il ciclo, la variabile i assume dei valori strani....
vi posto il codice dettagliato cosi capite cosa intendo fare
codice:
<%@language=javascript%>
<%
fatture=new Array(); //DICHIARO L'ARRAY
i_fatt=0; //INIZIALIZZO IL NUMERO DELLE FATTURE A 0
//CONNESSIONE AL DB PER RIEMPIRE L'ARRAY DELLE FATTURE
cnX = new ActiveXObject("ADODB.Connection");
var strConn = "driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("public/mdb-database/db.mdb;Persist Security Info=False");
cnX.Open(strConnX);
rsX = new ActiveXObject("ADODB.Recordset");
SQLX = "select n_fatt from STAMPA_FATTURE";
rsX.Open(SQLX, cnX);
while(!rsX.eof) {
fatture[i_fatt]=(rsX(0).value); //RIEMPIO L'ARRAY
i_fatt++; //INCREMENTO L'INDICE DELLE FATTURE
rsX.MoveNext();
}
rsX.Close();
cnX.Close();
//CICLO LA i DA 0 RINO AL NUMERO DELLE FATTURE
for ((i=0); (i<i_fatt); (i++))
{
pdf=new FPDF();
var data_fatt = new Date();
// Ridefinizione delle funzioni
pdf.Header=function Header()
{
var data_fatt = new Date();
var cn = new ActiveXObject("ADODB.Connection");
var strConn = "driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("public/mdb-database/db.mdb;Persist Security Info=False");
var rs = new ActiveXObject("ADODB.Recordset");
var SQL = "select format(data,'dd/mm/yyyy'), nome, cognome, rag_soc, piva, cf, prov, citta, cap, via, n, sconto, peso, spese_spe, tot_ordine, rif_ordine, id_fattura, nazione, presso_spe, citta_spe, prov_spe, cap_spe, via_spe, n_spe, nazione_spe from FATTURE WHERE id_fattura="+fatture[i]+"";
rs.Open(SQL, cn);
while(!rs.eof) {
data_fatt=(rs(0).value);
//data_fatt=dateFormat(data_fatt, "dd/mm/yyyy");
//data_fatt.format("dd/mm/yyyy");
nome=(rs(1).value);
cognome=(rs(2).value);
rag_soc=(rs(3).value);
......................
Allora come potete vedere faccio un ciclo for dentro a delle funzioni (header, footer) e secondo me il problema è proprio questo, perche dentro alle funzioni, l'array fatture[i] mi da il seguente errore:
Microsoft JET Database Engine (0x80040E10)
Nessun valore specificato per alcuni parametri necessari.
se invece al posto della i metto 1 che è il secondo valore dell'array, non mi da errore, e crea il pdf correttamente!!!
è possibile che la variabile del ciclo " i ", una volta che entra dentro a una funzione, perde il suo valore???