Relazione con campi multipli

di il
5 risposte

Relazione con campi multipli

Ciao a tutti
Ho cercato in rete la soluzione al mio problema ma non sono riuscito a venierne a capo, o meglio non come desidero fare. Sono convinto che vi sia almeno un altro metodo oltre a quello che ho trovato io.

Dunque, ho due tabelle:

1) Zone di vendita
2) Vendite Agenti

La tabella "Zone di vendita" è composta come segue:

Nome zona		Tipologia		Agente
Zona A			Autocarri		Pinco
Zona A			Motocicli		Pallo
Zona A			Autovetture		Pippo
Zona A			Biciclette		Pluto
Zona B			Autocarri		Paperino
Zona B			Motocicli		Qui
Zona B			Autovetture		Quo
Zona B			Biciclette		Qua
Mentre la tabella "Vendite Agenti" è composta da:

Modello veicolo		Nome zona		Tipologia 		Agente
Fiat 500		Zona A			Autovetture	
Honda Monkey		Zona A			Motocicli	
Fiat 500		Zona B			Autovetture	
Honda Monkey		Zona B			Motocicli	
Io ho la necessità di "popolare" il campo "Agente" della tabella "Vendite Agenti"
Voglio evitare la soluzione che vede come principio il "concatenare" i due campi "Nome zona" e "Tipologia" delle due tabelle per poi relazionarli tra loro.
Vi ringrazio in anticipo per qualsiasi suggerimento.

Ciao
Piero

5 Risposte

  • Re: Relazione con campi multipli

    Non devi concatenare i due campi per metterli in relazione, ma porre ciascun campo con il suo corrispondente (fra una tabella e l'altra) in modo da ottenere una relazione che è la coppia dei campi:
    https://www.mat.unical.it/fionda/didattica/info1516/guida.pdf
  • Re: Relazione con campi multipli

    Hai solo 2 tabelle?
    Non usi i campi ID?
    Occorre sempre fare un ragionamento chiaro. Un Agente molte Zone: credo di sì. Una Zona solo un Agente o molti?
  • Re: Relazione con campi multipli

    Ciao a tutti
    Mi scuso per aver risposto solo ora ai Vs. commenti.
    Grazie Willy per il tuo suggerimento e del link ma non riesco a riprodurre in Access quanto da te indicato e specificato nel link....
    Grazie anche a te OsvaldoLaviosa e specifico che:
    Ogni zona ha il suo agente di riferimento per una sola tipologia di prodotto, ma la zona ha più agenti che quindi rappresentano solo ed esclusivamente una sola tipologia di prodotto.
    Esempio:
    Agente Pinco può vendere solo i prodotti della Tipologia "Autocarri" e solo nelle Zona A e Zona C.
    Agente Pallo può vendere solo i prodotti della Tipologia "Motocicli" e solo nelle Zona A e Zona F.
    Agente Paperino può vendere solo i prodotti della Tipologia "Autocarri" e solo nella Zona B.
    Quindi si, le zone possono avere più agenti ma ognuno di essi può vendere una sola Tipologia di prodotto e solo nelle zone assegnate.
    Infatti, sia l'agente Paperino che l'agente Pinco vendono "Autocarri" ma in due zone diverse.
    Tutto questo non riesco a riprodurlo in Access attraverso una Query che mi faccia "vedere" il dettaglio delle "Vendite Agenti" con il relativo agente di competenza 'pescandolo' da "Zone di vendita".

    Ovvero:
    
    Modello veicolo		Nome zona		Tipologia 		[Zone di vendita].[Agente]
    Fiat 500		Zona A			Autovetture		Pippo
    Honda Monkey		Zona A			Motocicli		Pallo
    Fiat 500		Zona B			Autovetture		Quo
    Honda Monkey		Zona B			Motocicli		Qui
    
    Grazie ancora per le risposte già date e per quelle che vorrete dare.

    Un saluto a tutti.
    Ciao Piero
  • Re: Relazione con campi multipli

    Visto che la tabella "Zone di vendita" ha tre campi (Nome zona, Tipologia, Agente) i quali insieme identificano chi tratterà quel "modello di veicolo" (nella tabella "Vendite Agenti"). Quindi tale terna di campi formano la chiave di collegamento fra le tabelle.
    Per realizzare la relazione puoi impiegare (come ti ho già indicato, nel link sopracitato, alla seconda pagina) tutti e tre i campi, trascinandoli uno alla volta, dalla tabella "Zone di vendita" a "Vendite Agenti" oppure agire in "Modifica relazioni" in modo da aggiungere (uno sotto l'altro i tre campi):
    https://support.office.com/it-it/article/creare-modificare-o-eliminare-una-relazione-dfa453a7-0b6d-4c34-a128-fdebc7e686af
    Vedrai che Access, per ciascun campo collegato pone una linea di connessione, quindi in totale avrai tre linee (fra le tabelle) per visualizzare la relazione.
    Altra soluzione aggiungere un ulteriore campo (con tipo dati a "numerazione automatica") in modo da ottenere un contatore automatico (normalmente identificato come "ID") nella tabella "Zone di vendita", in modo da identificare univocamente la terna e impiegare questo per ottenere la relazione nella tabella "Vendite Agenti" ove non sarà più necessaria la terna ma solo il campo ID (di tipo numerico - intero lungo) che insieme al dato "modello di veicolo" offre il legame fra i dati.
    Stabilita la relazione con una query sarà possibile ottenere l'insieme dei dati fra le due tabelle.
  • Re: Relazione con campi multipli

    Ciao a tutti.
    Grazie Willy55; ho seguito il tuo suggerimento e ho ottenuto ciò che avevo in mente:
    MS_A_Relazioni.JPG
    MS_A_Relazioni.JPG

    Quindi dai dati:
    MS_A_VENDITE.JPG
    MS_A_VENDITE.JPG

    e
    MS_A_zone.JPG
    MS_A_zone.JPG

    ho ottenuto:
    MS_A_QRY.JPG
    MS_A_QRY.JPG

    Grazie mille Willy55 e grazie a tutti voi
    Ciao
    Piero
Devi accedere o registrarti per scrivere nel forum
5 risposte