Newsgroup: it.comp.appl.access
Titolo: Parametri in query a campi incrociati e selezione antecedente in casella di opzione

Salve al NG,
ho due quesiti da porVi:
ecco il primo quesito: ho una query a campi incrociati che mi deve
selezionare gli operai che hanno lavorato in un determinato periodo di
tempo, con i seguenti campi:
Operaio (Intestazione riga), DataLavoro (Intestazione Colonna) e OreLavoro
(Valore), il tutto mi funziona regolarmente fino a quando non  inserisco
nessun parametro, (esempio nella colonna dataLavoro metto
Forms!mscLavoro!DataIniziale and Forms!mscLavoro!DataFinale) in quanto mi da
errore,
come faccio a far eseguire la query con dei parametri?
Grazie
Il secondo quesito:
sempre nello stesso database dovrei selezionare, da una maschera chiamata
MascheraDate che contiene due caselle di opzioni una chiamata  ElencoAnni e
una chiamata ElencoMesi , tramite una query,  il mese antecedente quello
selezionato nella casella ElencoMesi, mi spiego meglio nella query ho creato
due colonne in cui ho formattato la data in formato "mmmm" e in una in
formato "aaaa" nei criteri della query io dovrei indicare come parametri il
mese antecedente il  valore indicato nella MascheraDate (esempio
"Dicembre" ), praticamente qualcosa del genere
(Forms!MascheraDate!ElencoMesi) -1, quindi se nella maschera io ho
selezionato Dicembre 2002 la query mi dovrebbe invece dare tutti i record di
Novembre 2002.
E' possibile?
Grazie anticipatamente


Sì è possibile e per arrivarci possono esserci diverse strade. Una strada:
crea una tabella "Mesi", a cui farai riferimento, con i campi ID e Mese.
Un codice del genere:
dlookup("Mese","Mesi","[ID] =" & dlookup("[ID]","Mesi","Mese=" & """" &
Forms!MascheraDate!ElencoMesi & """")-1)
restituisce "Febbraio" se in Forms!MascheraDate!ElencoMesi è stato scelto
"Marzo".
Il problema da gestire è se l'utente sceglie "Gennaio". Cosa vuoi fare in
questo caso?
Ciao, Carlo

 Grazie
Oltre ad inserire i criteri della query come ti ha indicato Carlo
Costarella, affinché una query a campi incrociati parametrica ti funzioni é
INDISPENSABILE che tu espliciti il tipo campo dei due parametri.
Per fare questo devi aprire la griglia di struttura della query a campi
incrociati e dal menu Query selezioanre il comando Parametri... : si aprirà
la finestra di dialogo Parametri query nella quale imposterai il tipo dati
dei parametri. Nel tuo caso specifico, nella colonna Parametro di una nuova
riga scrivi:
Forms!mscLavoro!DataIniziale
e nella relativa colonna Tipo dati seleziona Data/ora.
In un'altra riga vuota, nella colonna Parametro scrivi:
Forms!mscLavoro!DataFinale
e nella relativa colonna Tipo dati seleziona Data/ora.
Chiudi la finestra di dialogo pigiando il pulsante OK; chiudi e salva la
struttura della tua query.
La stessa cosa avresti dovuto fare se la query a campi incrociati fosse
basata su una query di selezione parametrica.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 ha scritto nel messaggio
news:v4yT9.102121$TC5.3...@twister1.libero.it...

Grazie Roberto con le indicazioni date da Carlo e con le tue precisazioni
tutto funziona PERFETTAMENTE.
