Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

access03-10 - Copiare una colonna da una tabella all'altra

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

access03-10 - Copiare una colonna da una tabella all'altra

Postdi KITT » 28/10/13 08:04

Ciao a tutto il forum.
Ho una tabella A con tre colonne:
Codice: Seleziona tutto
id(autonumber)             nome              esito
880                     MARIO           
881                     PAOLA
882                     UGO
883                     GIANNI
884                     ELENA


Ho inoltre un’altra tabella B simile:
Codice: Seleziona tutto
id(autonumber)           nome              esito
880                      MARIO            veterano       
881                      PAOLA            novello
882                      UGO               novello
883                      GIANNI           veterano
884                      ELENA            veterano


La mia necessita’ e’ di inserire i dati presenti nella colonna “esito” della tabella B all’interno della colonna “esito” della tabella A mantenendo la coerenza dei dati in base all’id
Ho eseguito una query di append mettendo in relazione gli id ma non funziona, sembra non tenere conto della relazione impostata e me li va ad incollare a seguire all’interno della tabella A.
Anche la query di update non si esegue correttamente, mi dice che per eseguire occorre una query aggiornabile.
Forse non sto utilizzando lo strumento corretto per conseguire il mio obiettivo.
Ho provato a fare un po’ di ricerca in questi giorni ma ho trovato solo argomenti riguardanti “append” e “update” che non sono stato in grado di adattare alla mia situazione.
Avete gentilmente degli spunti da suggerire?
Grazie in anticipo a tutti.
KITT
XP - OFFICE 2003 - ENG
WIN 7 - OFFICE 2010 - ENG
Avatar utente
KITT
Utente Junior
 
Post: 71
Iscritto il: 16/05/11 08:20

Sponsor
 

Postdi archimede » 29/10/13 21:17

Codice: Seleziona tutto
UPDATE TabellaA AS a, TabellaB AS b
   SET a.esito = b.esito
 WHERE a.id = b.id;
HTH.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Re: access03-10 - Copiare una colonna da una tabella all'alt

Postdi KITT » 30/10/13 08:10

Ciao archimede, ti ringrazio infinitamente per il codice che hai postato e che in giornata utilizzero'. :D

Io ho interpretato questa istruzione come:
attribuisci alla variabile "a" la tabellaA e alla variabile "b" la tabellaB
aggiorna il valore nella colonna esito della variabile "a" con (=) il valore nella colonna esito della variabile "b"
laddove il valore della colonna "id" della variabile a e' uguale al valore della colonna "id" della variabile "b"
e' corretta come interpretazione? ne ho colto il senso?

Ti ringrazio per la pazienza.
KITT
XP - OFFICE 2003 - ENG
WIN 7 - OFFICE 2010 - ENG
Avatar utente
KITT
Utente Junior
 
Post: 71
Iscritto il: 16/05/11 08:20

Postdi archimede » 30/10/13 09:17

Direi che la tua interpretazione è sostanzialmente corretta.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Re: access03-10 Copiare una colonna da una query ad una tab

Postdi KITT » 08/11/13 17:02

Ciao,
non riesco a far funzionare il codice che mi hai segnalato nel caso in cui la tabellaB fosse una query con le stesse colonne, ho provato ma mi restituisce l'errore: e' necessaria una query updatable.
devo forse renderla updatable mediante qualche stringa vba?
grazie per l'interessamento.
KITT
XP - OFFICE 2003 - ENG
WIN 7 - OFFICE 2010 - ENG
Avatar utente
KITT
Utente Junior
 
Post: 71
Iscritto il: 16/05/11 08:20

Postdi archimede » 11/11/13 22:16

Puoi provare una di queste varianti:
Codice: Seleziona tutto
UPDATE DISTINCTROW TabellaA AS a, TabellaB AS b
   SET a.esito = b.esito
 WHERE a.id = b.id;

Codice: Seleziona tutto
UPDATE DISTINCTROW TabellaA AS a inner join TabellaB AS b
    ON a.id = b.id
   SET a.esito = b.esito;

Codice: Seleziona tutto
UPDATE TabellaA AS a
   SET a.esito = DLookup("esito", "TabellaB", "id=" & a.id);
HTH.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Re: access03-10 - Copiare una colonna da una tabella all'alt

Postdi KITT » 16/11/13 09:19

Ciao archimede,
grazie infinite, le tue varianti mi hanno dato spunti utilissimi per capire un po' di piu' le istruzioni sql. e per risolvere il problema presentato in precedenza ho usato la seconda variante.
ciao.
KITT
XP - OFFICE 2003 - ENG
WIN 7 - OFFICE 2010 - ENG
Avatar utente
KITT
Utente Junior
 
Post: 71
Iscritto il: 16/05/11 08:20


Torna a Applicazioni Office Windows


Topic correlati a "access03-10 - Copiare una colonna da una tabella all'altra":


Chi c’è in linea

Visitano il forum: fabrizio2001 e 12 ospiti