Salve. Ho una tabella con il calendario (circa 1400 record = 4 anni) in un db di access.
In una pagina .ASP devo visualizzare il calendario, in un intervallo di date passate da un'altra pagina (tipo filtro).
Sto provando ad usare il Querystring, ma mi da ogni tipo di errore possibile, a seconda delle prove che ho fatto.
- Ho provato a mandare separatamente i parametri delle due date
...GG1=1&MM1=1&AAAA1=2008&GG2=1&MM2=2&AAAA2=2008&A PP=0... ,
ricomponendole poi in due variabili
txtDATE1=GG1 & "/" & MM1 & "/" & AAAA1 e
txtDATE2=GG2 & "/" & MM2 & "/" & AAAA2
(i nomi non sono queli esatti del codice, per rendere piu comprensibile la lettura)
(*caso in cui APP=0, vedi di seguito)
- Ho provato anche a passare la data direttamente nel formato classico
...DATA1=1/1/2008&DATA2=1/2/2008&APP=1
(**caso in cui APP<>0, vedi di seguito)
In entrambi i casi faccio un response.write delle variabili impostate con il querystring, e i Quesrysting FUNZIONANO, ovvero in entrambi i casi riesco a passare i dati "correttamente" alla pagina, ma poi mi da l'errore quando provo a inserire le due date come parametro all'interno della SELECT che carica il recordset dell'intervallo da visualizzare.
Per poter fare in parallelo delle prove, ho aggiunto una querystring che mi servirà in seguito, un ulteriore filtro, e la SELECT risulta così (* e **):
IF QSFilterAPP=0 THEN (NB *)
RS_CAL.Open "SELECT * FROM Tabella_giorni WHERE (Tabella_giorni.data <=#" & txtDATE2 & "#) AND (Tabella_giorni.data >=#" & txtDATE1 & "#)"
ELSE (NB **)
RS_CAL.Open "SELECT * FROM Tabella_giorni WHERE (Tabella_giorni.data <=#" & QSDATE2 & "#) AND (Tabella_giorni.data >=#" & QSDATE1 & "#) AND (Tabella_giorni.appartamento ='" & QSFilterAPP & "')"
END IF
In pratica in base all'IF, usa il primo(*) o il secondo (**) sistema.
---------------------------------------------
Se (*) QSFilterAPP = 0 mi da il seguente errore:
Response object error 'ASP 0251 : 80004005'
Response Buffer Limit Exceeded
/residence/admin/admin_index.asp, line 0
Execution of the ASP page caused the Response Buffer to exceed its configured limit.
----------------------------------------------------
Se invece (**) QSFilterAPP <>0 mi da il seguente errore:
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
/residence/admin/admin_cal_view.asp, line 86
Qualcuno mi sa dire come posso risolvere il problema?
Senza filtrare le date, tra l'altro, mi da lo stesso messaggio di errore di buffer del caso (*), ma inizialmente avevo creduto che si trattasse di una limitazione del server sulla quantità massima di record gestibile sulla singola pagina.
Grazie