Newsgroup: it.comp.appl.access
Titolo: Creare un report a più colonne

Buon giorno a tutti
Dovrei creare un report a 3 colonne sempre se possibile.
Con una query seleziono le voci di spesa, il saldo a fine anno e l'anno.Nei 
criteri del campo anno ho scritto between[anno1]and[anno2].Mi piacerebbe 
confrontare queste spese un anno per l'altro.
In definitiva vorrei ottenere:
Voce di spesa 1             anno1       anno2 (dove sotto anno trovo 
l'ammontare della spese dell'anno).
Voce di spesa 2             ........         ........
ecc ecc.
E' possibile?
Grazie per l'aiuto
Giuseppe 

(.....)

Crea una query a campi incorciati ed utilizzala come origine record del report.
Vincenzo Turturro
Certificato Eucip Core Level
ITA 0000-002299 del 14/05/2007
---------------------------------------------
il sito comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------
risorse Access:
http://www.accessgroup.it
---------------------------------------------
Il sito comune di it.comp.as400
http://www.faq400.com
---------------------------------------------

 Grazie, ora ci provo. 

     Cosa posso fare?
Nel "valore"ci va il campo che contiene l'ammontare delle spese, nell"'intestazione di riga" il campo che contiene la
voce di spoesa, nell'"intestazione di colonna" il campo che contiene l'anno.
I totali ed i raggruppamenti li fa Access automaticamente


Grazie Vincenzo: ora mi č tutto chiaro.
  Dato che nel DB ho piů anni e che io  vorrei vedere solo l'anno in corso e 
il precedente c'č una soluzione?
 Ti ringrazio 


Non capisco il problema: seleziona solo gli anni che ti interessano
impostando un criterio di filtro con una clausola between oppure con
una clausola in 


 sempre cambiare i parametri della query.
Perdona la mia poca conoscenza.
Ciao, Giuseppe 

 Ciao, Giuseppe 


Grazie moltissimo del suggerimento ma forse sbaglio di nuovo.
 Ho inserito il criterio nel campo "Anno di competenza" che nella formula ha 
Raggruppamento. Il sistema crea un nuovo campo, sempre "anno Competenza" 
dove nella formula c'� "Dove" e nei criteri il between. Al lancio della 
query mi viene detto che Microsoft Jet non riconosce  "Immetti anno 1" 
ecc.ecc. come nome di campo valido e nemmeno come espressione.
Non vorrei desistere dal tentativo.
Grazie ancora
Giuseppe 


Vincenzo Turturro 


 Si Vincenzo ho scritto come mi hai detto
   Ciao 


Posta l'istruzione SQL completa



Vincenzo Turturro


 Sei molto gentile, ecco la query su cui lavoro:
-Tipo query: a campi incrociati
Campo:             Cod Mastrino   Descr.Mastrino   Anno Competenza     Saldo 
Natura conto
Tabella               Query Progr.    Query Progr.     Query Progr. 
Tabella Mastri
Formula              Raggrupp.        Raggrupp.          Raggrupp. 
Espressione   Dove
Campi incrociati   Intest.riga       Intest.riga           Intest.colonna 
Valore
Criteri 
Like"Ricavi"or like"Costi"
Ho provato ad inserite nei ceriteri del campo Anno competenza :[Between 
anno1]and[between anno2]ma come ti dicevo in precedente contatto  non 
ottengo nulla.
Grazie
Ciao
Giuseppe.

Giuseppe.
Non ci siamo capiti.
Quello che hai postato NON è il codice SQL della query.
Mi serve il codice che puoi visualizzare facendo le seguenti operazioni:
1) apri il query in modalità struttura
2) fai click nella barra dei menù su "Visualizza"
3) fai click su  "Visualizzazione SQL"
4) copia *tutto* quanto c'è scritto nella finestra che si apre e postalo


 Ecco SQL
TRANSFORM Sum([somma di importo dare]-[somma di importo avere]) AS Saldo
SELECT [QPROGRESS MASTRINI].CodMastrino, [QPROGRESS 
MASTRINI].tMASTRINI.Descrizione
FROM [QPROGRESS MASTRINI] INNER JOIN tMASTRI ON [QPROGRESS 
MASTRINI].codMastro = tMASTRI.codMastro
WHERE (((tMASTRI.[DESCRIZIONE NATURA CONTO]) Like "RR.RICAVI" Or 
(tMASTRI.[DESCRIZIONE NATURA CONTO]) Like "RC.COSTI"))
GROUP BY [QPROGRESS MASTRINI].CodMastrino, [QPROGRESS 
MASTRINI].tMASTRINI.Descrizione
PIVOT [QPROGRESS MASTRINI].[Anno Competenza];
Grazie ancora
Giuseppe 

(.....)
Avevo dimenticato che nelle query a campi incrociati non è possibile adottare la tecnica che ti avevo suggerito, che
comunque resta valida per tutti gli altri tipi di query.
Nelle query a campi incrociati è necessario definire dei parametri.
Per definire i parametri che ti servono:
- apri la query in modalità struttura
- nella parte superiore della maschera (quella dove si trovano le tabelle) fai click destro nella zona grigia
- fai click su "Parametri"
- nella prima riga, nella colonna di sinistra, scrivi [Immetti l'anno 1]
- sempre nella prima riga, nella colonna di destra, imposta il tipo Data/Ora
- nella seconda riga, nella colonna di sinistra, scrivi [Immetti l'anno 2]
- sempre nella seconda riga, nella colonna di destra, imposta il tipo Data/Ora
Così dovrebbe funzionare


 è Testo.
   Ho provato a cambiare nei parametri da Data/Ora a Testo.In questo caso mi 
permette di inserire "Immetti anno 1" e poi "Immetti anno 2"; Non da errore 
ma
  mi mostra tutti gli anni presenti nel DB e non solo i due richiesti.
    Mi spiace molto di portati via tutto questo tempo.
 Giuseppe 


Se il campo è di tipo testo (perché, se si tratta di un anno ?) devi racchiudere  fra apici i valori che fornisci.
Così:
'2007'


OK, la query prosegue e mi mostra i 3 anni.
  Sembra che i parametri [immetti anno1] e [immetti anno 2] servano solo a 
mostrarmi la finestrina che mi chiede di inserire il parametro senza 
filtrare gli anni.
  Giuseppe

  Giuseppe


il seguente errore "Microsoft jet non riconosce
    ' (apice) come nome di campo valido. Mi dici per favore come debbo 
agire?? Nel frattempo riesamino il report.
  Giuseppe