Newsgroup: it.comp.appl.access
Titolo: Moltiplica record in query di selezione

Salve a tutti, mi scusa per il titolo in oggetto ma non sapevo cosa 
scrivere.
Ho due tabelle una (Chiamate) e l'altra (Macchinari) entrambe hanno più 
campi in comune.
Ho la necessità di creare una query che prenda i dati dalla tabella
CHIAMATE 
e dalla tabella MACCHINARI solo che i campi in comune presentano più volte 
lo stesso valore, questo comporta una "moltiplicazione" dei record.
Esempio
CHIAMATE            MACCHINARI
IDCliente                    IDCliente
Data                            Ubicaz
Matricola                    Matricola
Se prova nella query a mettere il join fra i due IDCliente qualsiasi esso 
sia mi restituisce un numero di record non corretto
Credo sia un problema di relazione molti a molti, ma non riesco ne a
crearmi 
la relazione e ne chiaramente la query.
Spero di essere stato abbastanza chiaro
Grazie per l'aiuto
Massimo Pallavicini 
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


Ciao Massimo,
a parte l'oggetto un po' generico non capisco dalla tua spiegazione quello
che vuoi ottenere.
Prova a spiegare cosa vorresti ottenere con questa query magari dandoci un
piccolo esempio dei dati reali.
Dalla struttura delle tabelle io capisco che hai dei clienti immagino in una
tabella clienti, ciscun cliente può avere diversi macchinari e ciascun
cliente può aver effettuato diverse chiamate... Bene ora con questa fatidica
query che cosa vuoi sapere.
Saluti
-- 
Cinzia
---------------------------------------
|  
http://www.riolab.org
  |
--------------------------------------->

 Saluti
Esatto!!!
Provo a spiegarmi meglio.
Devo creare una relazione fra la tabella Chiamate e la tabella Macchinari
in modo che la query contenga sia campi della tabella chiamate che campi
della tabella macchinari.
Le due tabelle hanno in comune alcuni campi, mi creo la relazione ma la
query mi restituisce un numero di record diversi da quelli presenti nella
tabella chiamate. Se in quest'ultima ci sono 100 record la query mi deve
restituire 100 record e non 134......
Spero di essere stato più chiaro.....
Grazie
Massimo 


Massimo Pallavicini ha scritto:

se ho capito bene il tuo problema dipende dal tipo di relazione che hai
impostato (JOIN). Se vuoi selezionare solo i records che trovano una
corrispondenza nella tabella Macchinari dovrai cliccare con il destro
sulla relazione tra le due tabelle (in visualizzazione struttura query)
e nelle proprietà join selezionare "Includi i records di 'Chiamate' e
solo i records di 'Macchinari' ...."
ciao

 restituire 100 record e non 134......
e perchč ? con la tua struttura basta avere una o piů chiamate con lo stesso
IdCliente per vedersi duplicare i record della tabella Macchinari.
Secondo me hai sbagliato a strutturate le tabelle, io avrei fatto cosě
CHIAMATE            MACCHINARI
IDChiamata                IDChiamata
IDCliente                    Ubicaz
Data                           Matricola
e la relazione viene fatta su IDChiamata che per la tabella Chiamate deve
essere univoco, meglio se contatore.
Ciao
-- 
Giorgio Rancati
[Office Access MVP]