Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Passaggio Querystring di DATA e filtro su SELECT

    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

  2. #2
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    Response Buffer Limit Exceeded

    nel prima caso credo dipenda dal fatto che io record restituiti sono troppi...
    quindi ti consiglio di usare uan "SELECT TOP 10..."
    PER provare a vedere che dipenda da questo...
    nel secondo caso..

    forse mancano gli apici...

    basta che stampi la query e la provi su access.
    e capirai l'errore.

    se non capisci passala qui..

  3. #3

    Grazie

    Grazie mille, ma poi facendo un sacco di prove...

    In realtà il problema era sul passaggio delle variabili dalla Querystring, infatti non avevo detto prima (credendo non fosse importante) che la pagina in questione era inclusa in una pagina parent.
    Provando la pagina direttamente, senza includerla, funzionava, quindi ho capito che il request.querystring lo dovevo fre nella pagina parent, altrimenti non funzionava.

    Per le date, alla fine ho preferito usare la data scomposta, inviando 3 variabili (DD MM AAAA) per ogni data.
    Più lungo ma meglio gestibile (almeno da me).

    Grazie comunque

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.