Newsgroup: it.comp.appl.access
Titolo: Query ....x Roberto da casa

Grazie a tutti, e in particolar modo a Roberto, che mi ha fornito la
soluzione (al mio post del 23 -query.... problema-) per creare la query di
aggiornamento, pur fornendo dati parziali o incompleti, il tutto funziona
regolarmente.
Ma ora ho un altro problema sempre sulla stessa query:
vorrei aver la possibilità di far 2 scelte (es.Anno ed Codice Car).
Come fare ?
Ringrazio chi mi puo aiutare
Marco

 Ringrazio chi mi puo aiutare
Sicuramente sarà qualcuno con una memoria di ferro o con la pazienza di
andarsi a ricercare i tuoi vecchi post, spulciando il tema in questione e
ricreando l'intero problema!!!
Antonio

 Io ho capito che serve operare solamente con la tabella NUOVA CAR.
Se vuoi raggruppare i dati per Codice Car.
Se vuoi sommare il campo Importo suddividendolo per SpesoAnniPrecedenti,
totale speso per mese dell'anno in corso, TotaleAnnoInCorso e Rimanenza.
Se la tabella NUOVA CAR ha una struttura simile a questa:
ID                  Contatore e chiave primaria
Codice Car    Tetso o Numerico
Data               Data/ora
Importo          Valuta
ecc. ecc.
Creati una query di raggruppamento chiamata Query1 che abbia il seguente
codice SQL:
SELECT [NUOVA CAR].[Codice Car], [NUOVA CAR].Descrizione,
Sum(IIf(Year([Data]) < [Forms]![MAschera1]![CercaAnno], [Importo], 0)) AS
SpesoAnniPrecedenti, Sum(IIf((Year([Data]) =
[Forms]![Maschera1]![CercaAnno]) And Month([Data]) = 1, [Importo], 0)) AS
Gennaio, Sum(IIf((Year([Data]) = [Forms]![Maschera1]![CercaAnno]) And
Month([Data]) = 2, [Importo], 0)) AS Febbraio, Sum(IIf((Year([Data]) =
[Forms]![Maschera1]![CercaAnno]) And Month([Data]) = 3, [Importo], 0)) AS
Marzo, Sum(IIf((Year([Data]) = [Forms]![Maschera1]![CercaAnno]) And
Month([Data]) = 4, [Importo], 0)) AS Aprile, Sum(IIf((Year([Data]) =
[Forms]![Maschera1]![CercaAnno]) And Month([Data]) = 5, [Importo], 0)) AS
Maggio, Sum(IIf((Year([Data]) = [Forms]![Maschera1]![CercaAnno]) And
Month([Data]) = 6, [Importo], 0)) AS Giugno, Sum(IIf((Year([Data]) =
[Forms]![Maschera1]![CercaAnno]) And Month([Data]) = 7, [Importo], 0)) AS
Luglio, Sum(IIf((Year([Data]) = [Forms]![Maschera1]![CercaAnno]) And
Month([Data]) = 8, [Importo], 0)) AS Agosto, Sum(IIf((Year([Data]) =
[Forms]![Maschera1]![CercaAnno]) And Month([Data]) = 9, [Importo], 0)) AS
Settembre, Sum(IIf((Year([Data]) = [Forms]![Maschera1]![CercaAnno]) And
Month([Data]) = 10, [Importo], 0)) AS Ottobre, Sum(IIf((Year([Data]) =
[Forms]![Maschera1]![CercaAnno]) And Month([Data]) = 11, [Importo], 0)) AS
Novembre, Sum(IIf((Year([Data]) = [Forms]![Maschera1]![CercaAnno]) And
Month([Data]) = 12, [Importo], 0)) AS Dicembre, Sum(IIf(Year([Data]) =
[Forms]![MAschera1]![CercaAnno], [Importo], 0)) AS TotaleAnnoInCorso,
Sum(IIf(Year([Data]) > [Forms]![MAschera1]![CercaAnno], [Importo], 0)) AS
Rimanenza
FROM [NUOVA CAR]
GROUP BY [NUOVA CAR].[Codice Car], [NUOVA CAR].Descrizione;
Creati una maschera con visualizzazione a Maschere continue chiamata
Maschera1 e che abbia come origine record Query1.
Inserisci nell'Intestazione di Maschera1 (ho scritto Intestazione e non
Corpo) una casella combinata non associata che si chiami CercaAnno. Tale
casella combinata deve avere una sola colonna e deve avere come origine riga
il seguente codice SQL:
SELECT DISTINCT Year([NUOVA CAR].[Data]) AS Espr1
FROM [NUOVA CAR]
ORDER BY Year([NUOVA CAR].[Data]);
A fronte dell'evento "Dopo aggiornamento" della casella combinata CercaAnno
genera la seguente riga di codice VBA:
Private Sub CercaAnno_AfterUpdate()
Me.Requery
End Sub
Affinché il tutto ti funzioni è necessario che la maschera si chiami
effettivamente Maschera1 e la casella combinata si chiami CercaAnno; in caso
contrario adegua di conseguenza il codice SQL di Query1.
A questo punto apri Maschera1, seleziona un anno dalla casella combinata
CercaAnno: nel corpo della maschera dovresti vedere ciò che tu volevi
(almeno spero: dopo tutta sta faticata).
Comunque, se in futuro avrai ancora bisogno di una mano, cerca di essere più
chiaro su cosa ti serve e su quale sia la struttura delle tabella da usare
(solo quelle!!); la fatica più grossa per me è stato ipotizzare queste due
cose: speriamo che mi abbia funzionato bene la sfera di cristallo.

 Se vuoi raggruppare i dati per Codice Car.
Diciamo che tutto quello che ti è stato detto lo devi rifare raggruppando
per anno invece che per codicecar
Se ti prepari due query, a seconda della scelta puoi passarle alla proprietà
recordsource della maschera e sei a posto!!!
Antonio

 Ok ho capito, ma la mia domanda era formulata male probabilmente, perche
il mio problema e' questo:
Nell'ambito dell'Anno selezionami la tal CodiceCar (prima scegli l'Anno poi
il CodiceCar), ovviamente con gli stessi raggruppamenti creati da Roberto.
Grazie x le risposte.
Marco

 ha scritto nel messaggio
news:iqzZ9.96311$0v.27...@news1.tin.it...

Metti un criterio WHERE sotto il campo anno del tipo
like nz([forms]![tuaform]![anno];"*")
Antonio