Newsgroup: it.comp.appl.access
Titolo: problema filtro data in criterio di query

=forms![miaform]![dal] and <=forms![miaform]![dal]
se perņ i campi dal e al della form miaform sono nulli allora mi visualizza 
tutti i record
sapete com'č la sintessi esatta da usare?
grazie a tutti.


Ciao Simba883
prova a vedere sul sito comune sez query
la faq di Federcio Luciani : visualizzare tutti i record con una query
parametrica o qualcosa di simile.
---
Daniele

=[Forms]![tuaform]![da_data] And <=[Forms]![tuaform]![a_data]
da_data e a_data sono due textbox o combobox dove inserisci la data.
se vuoi che la form visualizzi tutti i dati come valore predefinito
mettici due date molto distati es per da_data #01/01/1900# e da_data
#31/12/2200#
oppure sempre con due textbox adata e dadata un filtro che si avvi con 
command button in questo modo :
 
  Me.tuaform.FilterOn = True
      Me.tuaform.Filter = "[data_fattura]>=#" & Me.dadata &  "# and 
[data_fattura]<=#" & Me.adata & "#"
  [OT]"Rotta per casa di Dio ma chi la c.. la festa !" è per questo 883 ??
Ciao

 nel campo data della tua query :
scusa ho dimenticato di postare il criterio :
 >=[Forms]![form]![da_data] And <=[Forms]![form]![a_data]

 grazie a tutti.
Se la tabella che contiene i dati si chiama Tabella1 ed i campo Data/ora su
cui effettuare la selezione si chiama MiaData, nei criteri della griglia di
struttura della query devi scrivere:
Between Nz([Forms]![miaform]![dal]; DMin("MiaData"; "Tabella1")) And
Nz([Forms]![miaform]![al]; DMax("MiaData"; "Tabella1"))
Il codice SQL della query sarebbe quindi:
SELECT Tabella1.*
FROM Tabella1
WHERE (((Tabella1.MiaData) Between
Nz([Forms]![miaform]![dal],DMin("MiaData","Tabella1")) And
Nz([Forms]![miaform]![al],DMax("MiaData","Tabella1"))));
Cosě facendo se digiti ambedue le date verranno selezionati i record le cui
date sono comprese nel periodo indicato, se NON digiti alcuna delle due date
verranno visualizzati tutti i record ad esclusione quelli la cui data č
Null, se digiti sol la data dal verranno selezionati i record la cui data č
maggiore o uguale e tale data, e se infine digiti solo la data al verranno
selezionati solo i record la cui data č minore o uguale a tale data.
-- 
Roberto
-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------

 Roberto
a dir poco fantastico! grazie a tutti comunque 

 
Ciao Roberto, adotterò anch'io questa tua soluzione, nettamente migliore 
rispetto alla mia.
Ciao, grazie.

 Nz([Forms]![miaform]![al]; DMax("MiaData"; "Tabella1"))
ho provato come dici mettendo cosi
Between Nz([Forms]![statistichevenduto]![dal1];DMin("Data";"fatture")) And 
Nz([Forms]![statistichevenduto]![al1];DMax("Data";"fatture"))
ma non mi funziona sai cosa sbaglio? 

 ha scritto nel messaggio
news:41f4a5ae$0$8201$5fc...@news.tiscali.it...

Se questo l'hai scritto nei criteri di una campo Data/ora chiamato Data
nella griglia di struttura di una query non vedo proprio perché non ti
funzioni: ma cosa intendi con "non mi funziona"?
Io per scrupolo l'ho provato ed a me funziona egregiamente e dai commenti mi
sembra di capire che funzioni anche a Sandro.


 Roberto
intendo che ho provato a lasciare vuoti i campi dal1 e al1 e non mi 
visualizza nessun record e anche se li compilo non visualizza nessun record 
qualcosa non quadra sicuramente sbaglio io qualcosa ma non capisco dove.

Simba883 ha scritto:

Ciao Simba883,
nel mio caso ho form con subform e il recordsource del subform è la 
query dove c'è il campo data.
Su apertura ti confermo che non mettendo alcuna data la maschera 
visualizza i record corrispondenti.
Ho un pulsante in cui faccio il requery della sottomaschera nel momento 
in cui cambiano i parametri di inserimento (ho 8 combobox)
Non so se questo ti può essere d'aiuto, se non altro conferma il 
corretto funzionamento del suggerimento di Roberto.
Ciao.

 ha scritto nel messaggio
news:41f4d15d$0$138$5fc...@news.tiscali.it...

Se la query è origine record di una maschera aperta, fai un requery della
maschera, altrimenti non saprei proprio cosa dirti, visto che il database ce
lo hai in mano tu e, a meno di possedere una sfera di cristallo, non è
pensabile capire in che ambiente stai operando.
Comunque ti assicuro che la mia soluzione funziona, naturalmente se usata
correttamente.


=Nz([Forms]![miaform]![dal]; DMin("MiaData"; "Tabella1")) And
<=Nz([Forms]![miaform]![al]; DMax("MiaData"; "Tabella1"))
a me risulta che così non esiste il problema da te lamentato.
In alternativa, nella maschera dove digiti le due date parametro, puoi
verificare che, nel caso in cui un parametro è Null l'altro non sia fuori
range, in caso contrario ne dai notizia all'utente e non esegui la query.


=Format(Nz([Forms]![miaform]![dal]; DMin("MiaData"; "Tabella1"));
"mm/gg/aaaa") And <=Format(Nz([Forms]![miaform]![al]; DMax("MiaData";
"Tabella1")); "mm/gg/aaaa")



Ho modificato come da te proposto...naturalmente ok
anche senza formattazione
Resta la curiosità su perchè Between crei il problemino!
Ti saluto     Ebo


 Ti saluto     Ebo
scusate ma tabella1 può essere la stessa tabella fonte dei dati della query 
stessa?
a me non funziona CRIBBIO. 

 Ti saluto     Ebo
Ciao
-- 
Roberto


 a me non funziona CRIBBIO.
Mi dispiace: come funziona a me e ad Ebo dovrebbe funzionare anche a te.
Non è per caso che hai dei record per i quali il campo data è Null?
-- 
Roberto
