Newsgroup: it.comp.lang.visual-basic
Titolo: Filtro date

Ciao a tutti ho un DB con all'interno tra gli altri campi uno DATA vorrei
creare un recordset filtrando i dati con un rang di date inserito
dall'utente in un textbox (Dal..Al..) come è la sintassi dell'istruzione
WHERE? Grazie


Select *
From Tabella
Where Campo_Data Between '20050314 00:00:00' AND '20050314 23:59:59'
Ciao
Alberto
-- 
E tutto mi sembrava andasse bene... 

 > inserito dall'utente in un textbox (Dal..Al..) come č la sintassi


 ha scritto nel messaggio
news:yqkZd.1328$qi3....@tornado.fastwebnet.it...

Il campo Data si deve formattare in un modo particolare nella
composzione della Clausola:
1)Convertire in Formato ISO
Dim strDate1 As String
Dim strDate2 As String
Dim strSQL As String
strDate1 = Format(TuoCampoDataDa, "\#yyyy\-mm\-dd\#")
strDate2 = Format(TuoCampoDataAl, "\#yyyy\-mm\-dd\#")
strSQL = "SELECT * FROM Tabella " & _
         "WHERE Tabella.Campo Between " & strDate1 & " AND " & strDate2
2)Scomporlo in Numero a doppia precisione:
CDbl(TuoCampoData)
strSQL = "SELECT * FROM Tabella " & _
          "WHERE Tabella.Campo Between " & CDbl(TuoCampoDataDa) & _
          " AND " & CDbl(TuoCampoDataAl)
Per una data che non contiene l'orario puoi usare anche:
CLng(TuoCampoData)
Ciao
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------

 Non capisco il '20050314 00:00:00' la mia data č in formato gg/mm/aa.
Se il tuo campo č di tipo data, non ha un formato, ma solo un valore.
Quello che conta č il formato che devi utilizzare nella sintassi Sql del tuo 
dbms (che non hai specificato).


Ok cosi mi funziona ma per capire bene visto che non mi è ancora chiaro, il
formato "\#yyyy\-mm\-dd\#" è l'unico che può essere usato in SQL?


 formato "\#yyyy\-mm\-dd\#" č l'unico che puň essere usato in SQL?
Mi sembrava di averti risposto anche a questo quesito in modo
esauriente...!!!
Non avendo specificato quale Motore usi non č possibile darti dettagli piů
spinti, il Formato ISO č gestito da tutti(che io sappia) essendo Standard.
Saluti


strDate2 = Format(TuoCampoDataAl, "\#yyyy\-mm\-dd\#")
Questo va bene per Access, non, ad esempio, per SQLServer.
--
Ciao!
Luca Menegotto

 ha scritto nel messaggio
news:1mof31d0r18rvn4lq...@4ax.com...

Concordo pienamente, ma la domanda era ridotta ai minimi termini
e 90 su 100 ci scommetto un buon caffè che si tratta di Access.
;-)


 Questo va bene per Access, non, ad esempio, per SQLServer.
Strano, il mio SqlServer non se ne è ancora accorto ;)
In realtà è vero, scritto così non va bene, ma solo a causa dei
delimitatori, che in SQL sono gli apici.
Il formato yyyy-mm-dd [hh.mm.ss] è ben accetto da entrambi.
Ciao
--
Reporting tool: 
http://www.neodatatype.net
Qualunque mentecatto può scrivere codice che un computer possa capire.
I buoni programmatori scrivono codice che gli uomini possano capire.
[Martin Fowler]

delimitatori, che in SQL sono gli apici.
Infatti, io facevo rifetimento ai delimitatori. Non solo, ho notato
che le cose vengono più o meno digerite a seconda della versione di
SQLServer. Proprio in settimana ho notato che la versione 7, se si
impiega il Query Analyzer, non accetta quella modalità se non con una
direttiva CONVERT, a meno di non metterci ora, minuto e secondo
(oppure puoi utilizzare una delle modalità di CONVERT).
--
Ciao!
Luca Menegotto