Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
* Collegare tabelle in un database Access
Nuovo argomento   Rispondi    Indice del forum -> Software - generale
Precedente :: Successivo  
Autore Messaggio
Crono
Semidio
Semidio


Registrato: 24/03/05 14:12
Messaggi: 224
Residenza: Trieste

MessaggioInviato: 09 Set 2005 12:52    Oggetto: * Collegare tabelle in un database Access Rispondi citando

Mi hanno dato un file mdb contenete diverse tabelle, ogni tabella contiene i nomi delle vie, piazze, ecc. di una città e mi hanno chiesto di creare un ulteriore tabella che contenga degli indirizzi in cui i nomi delle vie siano prelevati dalle tabelle esistenti, si può fare ?
E se si come ?
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 11:16
Messaggi: 11559
Residenza: Tokelau

MessaggioInviato: 09 Set 2005 13:07    Oggetto: Rispondi citando

aggiungi un campo chiave identity sulla tabella delle vie e metti un campo che contenga (che punti alla...) la chiave suddetta nella tabella degli indirizzi...

... se ho capito bene la domanda Wink
Top
Profilo Invia messaggio privato HomePage
Gateo
Dio maturo
Dio maturo


Registrato: 17/11/03 18:16
Messaggi: 12379

MessaggioInviato: 09 Set 2005 13:33    Oggetto: Rispondi citando

Mi pare che tu debba fare una query, piu' che una tabella, visto che parli di "diverse tabelle con indirizzi" da cui ottenerne un'altra.
Pero' bisogna capire il criterio di scelta per tali indirizzi.
Top
Profilo Invia messaggio privato
Lorenzo
Eroe in grazia degli dei
Eroe in grazia degli dei


Registrato: 25/08/05 11:53
Messaggi: 105

MessaggioInviato: 09 Set 2005 13:35    Oggetto: Rispondi citando

Se la domanda è: la nuova tabella deve contenere gli indirizzi che siano SOLO quelli della tabella con gli indirizzi già scritti, allora puoi fare una maschera di inserimento (c'è la funzione guidata) e nel campo da compilare con l'indirizzo gli dici che l'origine dei dati è la tabella con gli indirizzi già scritti e in più vincoli la scelta del menù a tendina con il blocco "SOLO IN ELENCO" o qualcosa di simile.

Avrai una tabella compilata tramite la maschera con riportati solo gli indirizzi contenuti nella tabella esistente.

Ciao
Top
Profilo Invia messaggio privato
Lorenzo
Eroe in grazia degli dei
Eroe in grazia degli dei


Registrato: 25/08/05 11:53
Messaggi: 105

MessaggioInviato: 09 Set 2005 13:36    Oggetto: Rispondi citando

Che è poi la query suggerita da Gateo e che mi ha "battuto in velocità" nella risposta....

Wink

Ciao
Top
Profilo Invia messaggio privato
ulisse
Dio maturo
Dio maturo


Registrato: 02/03/05 01:09
Messaggi: 1531
Residenza: Bagnone (MS)

MessaggioInviato: 09 Set 2005 17:25    Oggetto: Re: Collegare tabelle in un database Access Rispondi citando

Crono ha scritto:
Mi hanno dato un file mdb contenete diverse tabelle, ogni tabella contiene i nomi delle vie, piazze, ecc. di una città e mi hanno chiesto di creare un ulteriore tabella che contenga degli indirizzi in cui i nomi delle vie siano prelevati dalle tabelle esistenti, si può fare ?
E se si come ?


Prendendo alla lettera la tua richiesta l'operazione che chiedi deve essere eseguita una sola volta per popolare una tabella che potrebbe essere, che so, un'anagrafica clienti (così la chiamerò nel seguito per intenderci meglio).

Questo comporta velocità di estrazione dei dati (tutti i dati necessari sono già memorizzati nell'anagrafica) ma ridondanza di dati (lo stesso nome di via è ripetuto in chissà quanti record) e difficoltà di mantenimento.
Solitamente è una tecnica fortemente sconsigliata da tutti.

La soluzione comunemente adottata è quella di mettere in relazione (come ti è stato suggerito nelle precedenti risposte) l'anagrafica clienti con la tabella degli indirizzi.

E' già stato notato, però, che tu hai a disposizione una tabella di indirizzi per ogni città.

Per superare la difficoltà puoi agire in almeno tre modi.
In tutti e tre i casi, però è necessario che le tabelle con gli indirizzi abbiano struttura identica per cui, se ciò non è, ti conviene omogeneizzare il tutto (a manina) prima di procedere oltre.

Il primo modo consiste nel creare una nuova tabella di indirizzi che popolerai accodando tutti i record provenienti da tutte le tabelle contenenti gli indirizzi. (ricordati di aggiungere un campo che specifichi la città alla quale la via appartiene altrimenti è un casino!)
Dopodichè puoi creare la relazione seguendo le indicazioni già fornite.
Il limite di questa soluzione risiede nel numero di record che questa nuova tabella conterrà dopo l'operazione di unificazione.

Oppure puoi creare una query di unione e poi metti in relazione l'anagrafica clienti con la query. (la differenza col metodo precedente sta nel fatto che nel primo caso gli indirizzi unificati sono memorizzati in una tabella mentre nel secondo caso l'unificazione viene eseguita ogni volta che cerchi di decodificare il codice della via e il risultato parcheggiato temporaneamente in memoria).

Il limite di questa operazione risiede nel tempo speso per eseguire la query ogni volta che devi decodificare un indirizzo.

La terza soluzione richiede la scrittura di un po' di codice. Con qualche istruzione SQL puoi fare in modo che la decodifica dell'indirizzo vada a puntare su una tabella indirizzi diversa a seconda della città in esame.
Questo tra l'altro implica che l'anagrafica clienti contenga non solo il campo in cui memorizzare il codice della via ma anche il codice della città (altrimenti il programma non sa in quale tabella cercare la decodifica dell'indirizzo).

Personalmente io userei la prima soluzione.
Devi fare un po' di sbattimento per razionalizzare il database ma poi avrai più ordine e, quando si tratterà di visualizzare i dati in un report o in una maschera ne guadagnerai in prestazioni.

Che io sappia uno stradario nazionale non è così drammaticamente grande e access se lo sa gestire adeguatamente.
Top
Profilo Invia messaggio privato HomePage
holifay
Dio maturo
Dio maturo


Registrato: 08/03/05 09:48
Messaggi: 2912
Residenza: Milano

MessaggioInviato: 09 Set 2005 21:25    Oggetto: Rispondi

Segui le istruzioni che ti hanno dato. Ti allego qualche foto esplicativa che ti aiuti a capire.

Qui sono le ipotetiche 2 tabelle (vie e indirizzi) in mdalità struttura. La seconda la puoi già collegare alla prima andando sulla vista "Ricerca"


Poi inserisci i nomi delle vie nella tabella "vie" ed apri la tabella "indirizzi" in modalità normale il risultato è quello che vedi:
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Software - generale Tutti i fusi orari sono GMT + 1 ora
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi