Newsgroup: it.comp.appl.access
Titolo: filtrare report per una data specifica

Questo è il mio problema:
Ho una serie di dati ordinati in una tabella Eventi (numerosi campi tra
cui il campo Data).
Ho bisogno di fare un report di tutti i dati contenuti nella tabella
Eventi, però solo se hanno una certa data.
La data desiderata la seleziono attraverso una maschera, con un bel
calendario. Di fatto, in questa maschera  ho una casella di testo che
chiamo DataSelezionata che contiene la data selezionata. Il report (che
contiene i campi della tabella Eventi) lo richiamo con un pulsante di
comando sempre da questa maschera.
Io ho scritto questo codice (su click del pulsante di comando):
Dim stDocName As String
stDocName = "NomeReport"
DoCmd.OpenReport stDocName, acViewPreview, , _
"(Data = #" & Format (Me.DataSelezionata, "mm/dd/yyyy") & "#)"
Mi restituisce un report vuto.
Ovviamente c'è qualcosa di sbagliato, in testa ho il concetto che mi
sembra corretto, ho cercato di tradurlo in codice, ma qui ho commesso
qualcosa (spero non tutto) di sbagliato!
Come posso fare?
mirco

 ...
Devi proteggere i letterali:
DoCmd.OpenReport stDocName, acViewPreview, , _
 "(Data = #" & Format (Me.DataSelezionata, "mm\/dd\/yyyy") & "#)"
Vedi anche 
www.donkarl.com/it
 FAQ 6.8 Passare una data ad una stringa SQL.
-- 
HTH
Karl
*********
Access FAQ: 
www.donkarl.com/it
 

Ci sono riuscito, però adesso mi piacerebbe che qualcuno mi spiegasse
il motivo.
Il pezzo di codice è esattamente quello riportato da me:
Dim stDocName As String
stDocName = "NomeReport"
DoCmd.OpenReport stDocName, acViewPreview, , _
"(Data = #" & Format (Me.DataSelezionata, "mm/dd/yy") & "#)"
Così funziona! All'inizio non mi restituiva niente perchè avevo
scritto ..."dd/mm/yy, visto che la data che io seleziono ha proprio
questo ordine (giorno-mese-anno).
Perchè funzioni lo devo però scrivere come sopra (mese-giorno-anno).
Perchè? Il campo Data contiene date nel formato dd/mm/yy e non
mm/dd/yy
???chi mi sa dare una spiegazione?
mirco

 ha scritto nel messaggio 
news:1165274925....@n67g2000cwd.googlegroups.com...
Ci sono riuscito, perň adesso mi piacerebbe che qualcuno mi spiegasse
il motivo.
Il pezzo di codice č esattamente quello riportato da me:
Dim stDocName As String
stDocName = "NomeReport"
DoCmd.OpenReport stDocName, acViewPreview, , _
"(Data = #" & Format (Me.DataSelezionata, "mm/dd/yy") & "#)"
Cosě funziona! All'inizio non mi restituiva niente perchč avevo
scritto ..."dd/mm/yy, visto che la data che io seleziono ha proprio
questo ordine (giorno-mese-anno).
Perchč funzioni lo devo perň scrivere come sopra (mese-giorno-anno).
Perchč? Il campo Data contiene date nel formato dd/mm/yy e non
mm/dd/yy
???chi mi sa dare una spiegazione?
mirco
----------------------------------------
Non hai letto il link proposto da Karl:
"JET SQL necessita di una data nel formato americano (mm/dd/yy) o nel 
formato ISO (yyyy-mm-dd)"
Se proprio vuoi usare la data nel formato gg/mm/aaaa potrai usare il format:
Format(TuaData, "dd/mm/yyyy")
Ciao, Carlo 

 Ciao, Carlo
Si, avevo letto il link, ma c'era qualcosa che mi sfuggiva.
Ora credo di aver capito. Farò qualche prova per consolidare il tutto.
Grazie
mirco
Bello il sito di Karl!