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

    Range tra 2 campi data [Query SQL]

    Ho un problema su una query che mi dovrebbe fare visualizzare solo i dati relativi al mese che sto interrogando, ovvero il filtro non viene applicato, vengono visualizzati comunque records che in funzione alla mia logica dovrebbero appartenere ad un altro mese

    Ho i campi datainizio e datafine che sono i 'filtri' per verificare la condizione di appartenenza o meno di un record in un tale mese.
    Le variabili inizio e fine calcolano in modo corretto rispettivamente il primo e l'ultimo giorno del mese.

    codice:
    SELECT tbl_1.*,tbl_2.* FROM tbl_1 INNER JOIN tbl_2 on (tbl_1.id=tbl_2.id) 
    WHERE (tbl_2.datainizio BETWEEN #"&inizio&"# AND #"&fine&"#) 
    OR (tbl_2.datafine BETWEEN #"&inizio&"# AND #"&fine&"#) 
    ORDER BY tbl_1.highlight ASC, tbl_2.datainizio ASC,tbl_2.datafine ASC,tbl_2.orainizio ASC
    Dove sbaglio?

    Grazie mille
    [The goal is soul]

  2. #2
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363

    Re: Range tra 2 campi data [Query SQL]

    Prova così:
    codice:
    SELECT tbl_1.*,tbl_2.* FROM tbl_1 INNER JOIN tbl_2 on (tbl_1.id=tbl_2.id) 
    WHERE (tbl_2.datainizio BETWEEN #" & Month(inizio) & "/" & Day(inizio) & "/" &Year(inizio) & "# AND #" & Month(fine) & "/" & Day(fine) & "/" &Year(fine) & "#) 
    OR (tbl_2.datafine BETWEEN #" & Month(inizio) & "/" & Day(inizio) & "/" &Year(inizio) & "# AND #" & Month(fine) & "/" & Day(fine) & "/" &Year(fine) & "#) 
    ORDER BY tbl_1.highlight ASC, tbl_2.datainizio ASC,tbl_2.datafine ASC,tbl_2.orainizio ASC

  3. #3
    Ciao
    ho provato a testare la tua query in access perchè per il momento non posso fare un test in asp ma anche in access non mi filtra le date.. ovvero se faccio la query qui sotto mi visualizza anche i records di maggio e aprile...

    codice:
    WHERE (tbl_2.datainizio Between #01/06/2007# And #30/06/2007#) OR (tbl_2.datafine Between #01/06/2007# And #30/06/2007#)
    [The goal is soul]

  4. #4
    Ti dai i record dal sei gennaio in poi?

  5. #5
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    No, non hai provato la mia query, perchè #30/06/2007# tradisce il fatto che non stai usando MM/GG/AAAA bensì GG/MM/AAAA.

  6. #6
    Si esatto è proprio così...
    che posso fare?

    Prende la data mm/gg invece di gg/mm?
    [The goal is soul]

  7. #7
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Il codice che ho scritto io (ma l'hai provato?) usa MM/GG/AAAA...

  8. #8
    Se il server tratta le date all'americana allora vuol dire che il server ha il sistema operativo e le impostazioni internazionali in inglese.
    Prova a mettere nelle pagine che scrivono sul db e in quelle che leggono dal db questo ad inizio pagina:
    codice:
    session.LCID = 1040

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 © 2026 vBulletin Solutions, Inc. All rights reserved.