Avatar billede fkj Juniormester
22. september 2006 - 22:08 Der er 8 kommentarer

Kopiering af data fra en tabel til en anden tabel

Problem.

2 tabeller har hver 2 felter der er ens i de 2 tabeller. Fra den ene tabel ønskes data fra et 3. felt kopieret over i et 3. felt i den anden tabel.
Det hele skal ende med at den ene tabel har fået data tilføjet fra den anden der så kan slettes.
Avatar billede mugs Novice
22. september 2006 - 22:11 #1
Har de 2 tabeller et unikt id så Access ved i hvilken post data fra det 3. felt skal indsættes?
Avatar billede fkj Juniormester
22. september 2006 - 22:18 #2
Ja, dette er en kombination af 2 felter i hver tabel der er "id".
Avatar billede mugs Novice
22. september 2006 - 22:33 #3
Det forstår jeg ikke.
I sin enkelthed er problemet: Hvordan skal Access vide i hvilken post data skal indsættes?
Avatar billede fkj Juniormester
22. september 2006 - 22:45 #4
Jeg har fundet noget der smager af det jeg vil, se dette link.http://www.eksperten.dk/spm/279057
Det er åbenbart noget med inner join.
Mit problem er at det er kun hvis 2 felter i tabel 1 samletfor denne post stemmer overens med 2 tilsvarende felter i tabel 2 jeg vil kopierer felt 3 i tabel 2 over i felt 3 i tabel 1.

Det skal lige oplyses at det er Access 2002 jeg bruger.
Avatar billede fkj Juniormester
22. september 2006 - 23:20 #5
Som jeg ser det så skal det ligne:

UPDATE Tabel1 INNER JOIN Tabel2 ON Tabel1.personID = Tabel2.personID SET Tabel1.Værdi = [Tabel2].[Værdi];

Som jeg forstår dette så er Værdi de data der kopieres og personID det felt der skal stemme overens.
Hvis dette er tilfældet så skal jeg i stedet for personID so er et felt have 2 felter i hver tabel der skal stemme overens for at tabel 1 kan opdateres med data fra tabel 2.

Hvor laves denne opdatering egentlig?
Avatar billede mugs Novice
23. september 2006 - 06:41 #6
Du kan indsætte SQL i en forespørgsel:

Kopier sætningen og åbn en ny tom forespørgsel, lad være med at tage tabeller ind når du promptes for det med luk vinduet. Vis > SQL og sæt sætningen ind.

Hvis du foretrækker en VBA løsning uden forespørgsel, kan du bruge denne i VBA:

docmd.runsql "UPDATE Tabel1 INNER JOIN Tabel2 ON Tabel1.personID = Tabel2.personID SET Tabel1.Værdi = [Tabel2].[Værdi]"
Avatar billede fkj Juniormester
23. september 2006 - 15:06 #7
Det kan åbenbart ikke lade sig gøre det jeg forsøger. Jeg kan sagtens få vist en tabel hvor der er 2 INNER JOIN men jeg kan ikke få lov til at skrive i tabellen.
Kun ved at JOIN'e mellem nøglefeltet kan der rettes i den resulterende tabel.

Jeg lade lige spørgsmålet stå åben lidt endnu, det kan jo være at der dukker en løsning op.
Avatar billede mugs Novice
23. september 2006 - 19:56 #8
Kan du sende db til:

mugs@mail.dk

som en zip fil. Så vil jeg se på det. Prøv at forklare med andre ord hvad du vil.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB