Newsgroup: it.comp.appl.access
Titolo: Query e Report


Roberto grazie della tua preziosa risposta, tutto funziona alla meraviglia
ma come succede sempre ne manca sempre uno, il  problema lo trovo nella
seconda parte, cioè i settori vengono visualizzati tutti, ma se provo a
filtrare i record con Year([Data......]) e IIf(Month([Data.....])<=6;1;2),
tutto va a monte, cioè non mi visualizza più tutti i settori, ma solo quelli
positivi.
Non ci capisco più nulla, spero ci sia una soluzione.
Grazie ancora del tuo aiuto.

 Grazie ancora del tuo aiuto.
Anche io non ci ho capito nulla di quello che hai scritto.
Dove e come filtri i record?
Quando č che un settore č positivo e quando č negativo?
Non dimenticare che tu hai in mano il database e puoi vederlo, ma noi
giochiamo al buio e senza la sfera di cristallo.



Roberto grazie ancora e scusa se sono stato poco chiaro, ma pensavo che
rileggendo tutto il messaggio si poteva capire qualcosa.
Provo a spiegarti quello che succede.
Ho fatto una query a campi incrociati nella quale ho inserito sia latabella
contenenente l'elenco dei settori (Tab1) che la tabella (Tab2) contenente i
vari record, naturalmente seguendo le istruzioni da te proposte in
precedenza, e cioè mettere come intestazione di colonna il settore.
Così facendo ho i dati come servono a me e cioè :
 |SETTORE      |    A    |    B   |    C   |    D   |
                              5          0        0        7
anche se nella tabella  2 manca sia B che C.
I problemi però arrivano quando cerco di filtrare i record in base al
semestre e l'anno
WHERE (((Year([Data....]))=2002) AND ((IIf(Month([Data.....])<=6,1,2))=2)).
In questo caso ho:
 |SETTORE      |    A    |     D   |
                              5          7
Spero di essere stato più chiaro.
Grazie ancora gianni

 ha scritto nel messaggio
news:0CNFa.81487$Ny5.2...@twister2.libero.it...

Mi sembra abbastanza normale ciò che avviene; se non ho capito male la
condizione di selezione tu la stai applicando alla query dove metti in join
Tab1 e Tab2; sicuramente i record dei settori che non hanno record in Tab2
hanno il campo Data uguale a Null e quindi l'anno non è uguale a 2002 ed il
semestre non è uguale a 2. Così facendo vanifichi il fatto di aver messo
Tab1 in join: infatti con il join inserisci i record che non hanno
corrispondente in Tab2, ma poi li elimini in quanto non hanno una data
significativa.
Per risolvere il problema hai due strade; o ti crei una query di selezione
basata su Tab2, filtri questa sull'anno e sul semestre, e poi la query a
campi incrociati la realizzi mettendo in join Tab1 e questa nuova query di
selezione; oppure prova a modificare la proposizione WHERE dell'attuale
query a campi incrociati nel modo seguente:
WHERE ((((Year([Data....]))=2002) AND ((IIf(Month([Data.....])<=6,1,2))=2)))
OR ([Data....] Is Null)
In questo secondo caso però, se in Tab2 esiste un record che abbia il campo
Data uguale a Null, esso viene preso in considerazione.


 ha scritto nel messaggio
news:CoXFa.82693$lK4.2...@twister1.libero.it...

Roberto grazie ancora, sei sempre mitico.
Penso che la prima soluzione sia la più praticabile, in quanto non posso
filtrare anche i record che hanno il valore nullo nel campo data, perchè
sono molti e, i record da filtrare sono appunto quelli positivi e che
rientrano nel semestre.
Grazie ancora della tua disponibilità
gianni