Newsgroup: it.comp.appl.access
Titolo: "problema con una query" RIPROVIAMOCI

Eccomi di nuovo (per la gioia di Fabrizio e Antonio & c.)
ora ci riprovo a spiegarvi proprio tutto... e spero che mi aiutate a
risolvere il mio problemone...
allora il mio progetto di access per il momento è composto da 3 tabelle ecco
i campi di ciascuna tabella
----------------------------------
1- TABELLA ARCHIVIO
----------------------------------
-ID
-NOME
-COGNOME
-DATA CONTRATTO
-VENDITORE
-TELEFONISTA
-VIA
-CITTA
-TELEFONO
-TELEFONO2
-TIPO DI PIANO
-DATA CONTRATTO
-PRIMA ASSISTENZA
-SECONDA ASSISTENZA
-TERZA ASSISTENZA
-DATA RINNOVO
-NOTE
----------------------------------
2- TABELLA ASSISTENZE
----------------------------------
- ID
- ID CLIENTE
- DATA
- DESCRIZIONE
- TECNICO
- ESITO
----------------------------------
3- TABELLA IMPIANTI
----------------------------------
-ID
-ID CLIENTE
-ARTICOLO
-DESCRIZIONE
-QUANTITA
-PREZZO
----------------------------------
LE 3 TABELLE LE HO MESSE CON LA SEGUENTE RELAZIONE
ASSISTENZE è IN RELAZIONE CON ARCHIVIO TRAMITE "ID" - "ID CLIENTE"
IMPIANTI è IN RELAZIONE CON ARCHIVIO TRAMITE "ID" - "ID CLIENTE"
----------------------------------
ORA IO DOVREI RIUSCIRE A FARE UN REPORT CHE MI CHIEDA IL COGNOME E CHE MI
VISUALIZZI SU UN FOGLIO TUTTI I DATI DI QUEL CLIENTE QUINDI:
TUTTI I DATI RELATIVI ALLA TABELLA ARCHIVIO, CON TUTTE LE SUE ASSISTENZE
(RICAVATE DALLA TABELLA ASSISTENZE), CON TUTTI I PRODOTTI VENDUTI (RICAVATI
DALLA TABELLA IMPIANTI)
----------------------------------
ADESSO, COME FACCIO? VI PREGO DATEMI UNA MANO è TROPPO IMPORTANTE.......
----------------------------------
UN GRAZIE A TUTTI VOI

 VISUALIZZI SU UN FOGLIO TUTTI I DATI DI QUEL CLIENTE QUINDI:
Ok, ok, non urlare :-)
Io ti do la soluzione dei poveretti (quella che farei io).
Se i clienti non sono tanti, il tuo report raggruppa per cliente, quindi
prepara tutto, tu vedi qual'e' la pagina del cliente che ti interessa e
stampi solo quella.
Se sono di piu', nella query associata al report metti un campo [Quale
Cliente?], di modo che quando lanci il report ti chiede il cliente.
Se devi qualche cosa di piu' sofisticato, all'apertura del report associ una
dialog box.
Se devi fare ancora di piu', crei una maschera, ci metti tutti i
pinzillaccheri che vuoi e fai lanciare a questa il report.

 ha scritto nel messaggio
news:itK99.96765$lu5.2...@twister1.libero.it...


 ha scritto nel messaggio
news:sQJ99.3364$ub2....@news1.tin.it...

Con una Query non puoi ottenere un risultato facilmente leggibile.
Puoi creare un report che ha come origine record la tabella del cliente,
nella sezione corpo inserisci i controlli relativi a ciò che vuoi stampare
del cliente.
Per quanto riguarda le assistenze inserisci un sottoreport contenente i
controlli  relativi a ciò che vuoi stampare, lega il sottoreport al report
principale inserendo nella proprietà campo figlio = Id_Cliente e campo
master = ID
fai la stessa cosa per le vendite
oppure
Puoi creare una scheda che ha come origine record la tabella del cliente,
nella sezione corpo inserisci i controlli relativi a ciò che vuoi stampare
del cliente.
Per quanto riguarda le assistenze inserisci una sottoscheda contenente i
controlli  relativi a ciò che vuoi visualizzare, lega la sottoscheda alla
scheda principale inserendo nella proprietà campo figlio = Id_Cliente e
campo master = ID
fai la stessa cosa per le vendite
Ciao Giorgio.

 ha scritto nel messaggio
news:ak8qan$pma$1...@lacerta.tiscalinet.it...

Dimenticavo...
Per stampare un solo cliente apri il report passando l' ID del cliente
desiderato
docmd.OpenReport "NomeReport",,,"ID=" &
Me.Controllo_contenente_Id_del_cliente
Ciao

 UN GRAZIE A TUTTI VOI
Prego, però la prossima volta rispetta le regole dell'NG.
Ciao. Fabrizio.
p.s. scusa ma sul computer di casa non ho Access.

 fumi del buon chiaretto del garda Eh Eh Eh :-)
Siccome sono ancora sobrio ti rispondo adesso.
Per la query vai in visualizzazione struttura ( qbe si chiama la griglia che
hai di fronte, mi pare ):
- Scegli tutti i campi della tabella Archivio ( non usare l'asterisco, io
non l'ho fatto )
- Scegli tutti i campi della Tabella Assistenze tranne IDCliente
- Scegli tutti campi della Tabella Impianti tranne  IDCliente
- Sotto cognome nella righe criteri metti "[inserisci cognome]" ( senza le
virgolette ovviamente ) oppure il magico " like nz (
[Archivio]![Archivio]![Cognome];"*")"
Teoricamente la query dovrebbe andare ( purchè i join siano chiari e
giusti), per il report dovrebbe bastarti la creazione guidata, certo che con
tutti quei dati dovrai diventare matto ad aggiustartelo, guai a te se posti
come rendere al meglio un report troppo pieno di dati.
Ugh, ho detto e spero sta' volta di non aver detto ca***e.
Ciao. Fabrizio.
p.s. il tutto per il momento è molto grossolano, ma se sei più o meno al mio
livello fattelo bastare per tempi in cui sarai più bravo.
p.p.s. Domanda idiota : siccome sto bevendo del buon vino e non c'ho proprio
voglia di andarmi a vedere la guida in linea e neanche il sito comune ( e
l'ora è tarda), come faccio ad evitare che la query mi chieda il parametro
con una bella domanda piuttosto che con il brutto (per es.)
"Archivio!Archivio!Cognome" ( parlo di query parametrica ovviamente con like
nz ( [Archivio]![Archivio]![Cognome];"*")).

 quali articoli gli ho venduto... capisci ora?
Capisco che non sai come fare una query che raggruppa i dati che hai
bisogno.
Fai questa query e poi basa il tuo report sulla query.

Perfetto, grazie ai tuoi consigli i dati ora riesco a ricavarli... ma c'è un
problema se al cliente pippo ho venduto 10 articoli mi escono fuori 10
pippo... come faccio nel report a far scrivere solo una volta i dati
anagrafici invece che 10 volte? allora le relazioni sono queste uno a molti
e il tipo di join è in n°2 cioè includi tutti i record di 'archivio' e solo
i record di 'assistenze' in cui i campi collegati sono uguali
ti ringrazio anticipatamente per tutti i tuoi consigli, grazie
"Fabrizio da casa" <fabrizio...@SPAMtiscalinet.it> ha scritto nel
messaggio news:ak94b9$sv8$1...@lacerta.tiscalinet.it...



Per piacere Slave scrivi dopo il quoting ( la parte con tutti i segni ">",
tanto per capirci ), come faccio io, così facendo aiuti me  e altri che ci
leggono ( ma non hai letto il manifesto, senti ti do altri link chissamai
che ti siano d'aiuto, se no finisce che non ti risponde più nessuno:
http://www.news.nic.it/news-it/docs/glossario.html
 oppure
http://www.efluxa.it/netiquette/dis.html
 e poi 
http://www.sitocomune.com
 ).
Tornando a bomba : nella creazione guidata ( vado a memoria perchè non ho il
portatile sottomano ) a un certo punto ti dovrebbe chiedere come vuoi
ordi.... no aspetta vado a prendere il portatile che se no ti faccio casino
.... aspetta lì....lo sto accendendo! dammi tempo e non fare
l'impaziente....allora la creazione guidata ti chiede di aggiungere un
livello di gruppo .... ci siamo ? mi segui passo passo?....ok ... togli come
primo livello L'ID ( te lo mette sempre Access ) ... metti prima cognome poi
nome ... se vuoi metti l'indirizzo e tuti i dati anagrafici ( così eviti che
si ripetano ) ... in teoria dovresti avere il tuo report abbastanza a posto.
Da qui in poi va avanti sulle tue gambe, anche perchè ormai il DB è
praticamente fatto.
A me non piace come hai impostato il Join, ma avrai le tue ragioni ( molti
dicono che non si dovrebbe entrare nel merito della programmazione, ma io
sono un bastian contrario ): se hai tempo mi spieghi il perchè della tua
scelta?
Ugh , ho detto ancora.
Ciao. Fabrizio.


ho impostato i join cosě perchč č l'unico modo con cui la query che mi hai
fatto fare funziona

 ti ringrazio anticipatamente per tutti i tuoi consigli, grazie
Devi:
1) Rispondere sempre dopo il quoting
2) Utilizzare gli strumenti di ordinamento e raggruppamento (Visualizza ->
Ordinamento e raggruppamento)
oppure
inserire nel report un sottoreport per visualizzare gli impianti (se anche
le assistenze possono essere più di una per lo stesso cliente, allora userai
un altro sottoreport per queste)
Ciao
--
Alberto

 Alberto
Ciao. Fabrizio.

 fatto fare funziona
Ah.
Ciao. Fabrizio.

 UN GRAZIE A TUTTI VOI
M'hai assordito!!!
Antonio

 ha scritto nel messaggio
news:qmma9.100976$n04.2...@twister2.libero.it...

Finalmente ci sono riuscito... ho usato il modo che mi ha spiegato Alberto
S. funziona tutto benissimo grazie a tutti e alla prossima... che credo sarà
tra breve...
ciao

 Ciao. Fabrizio.
Adesso, fino al fine settimana, fai il bravo.
Ciao
--
Alberto

 Alberto
Ciao. Fabrizio.


Ciao
--
Alberto

cut
