Avatar billede taio Novice
02. november 2010 - 21:40 Der er 19 kommentarer og
1 løsning

Tilføje række i tabel via forespørgsel

Hej eksperter

Jeg opretter en tabel med nogle rækker i DB1, som jeg gerne vil have flyttet over i DB2, uden at slette de eksisterende rækker i DB2. DB1 har samkædet tabeller til DB2, så begge tabeller fremtræder i DB1. Jeg har forsøgt med tabeloprettelsesforespørgsel, men den sletter jo de eksisterende rækker og data i DB2.

Hvordan kan det lade sig gøre ??

På forhånd tak

Taio
Avatar billede anlu Nybegynder
02. november 2010 - 22:36 #1
Du skal bruge en append-query.

SQL'en vil have denne form

INSERT into DB2tabel (kolonne1, kolonne2, ...)
SELECT kolonne1, kolonne2, ....
FROM DB1tabel
[WHERE ...]
02. november 2010 - 22:44 #2
Jeg gaar ud fra at tabelstrukturen i tabellerne DB1 og DB2 er den samme.  Saa kan du tilfoeje alle raekkerne fra DB1 til DB2 uden at slette de eksisterende raekker i DB2 med denne sql query:

INSERT INTO DB2 SELECT * FROM DB1
02. november 2010 - 22:45 #3
anlu, du var hurtigst.  Jeg havde ikke set dit indlaeg foer jeg sendte mit.  Men vi siger, i grunden, det samme.
04. november 2010 - 22:32 #4
taio, saa du mit indlaeg?  Jeg tror jeg har loest det problem du stillede.  Hvis du er enig vil jeg bede dig lukke spoergsmaalet, hvis ikke vil jeg bede dig forklare hvor jeg gik galt i byen.
Avatar billede taio Novice
05. november 2010 - 07:28 #5
Sorry Christian, jeg har ikke haft tid til at forsøge. Men forstår ikke helt løsningen. Kigger på det i weekenden.

På forhånd tak

Taio
05. november 2010 - 08:31 #6
Maaske var jeg lidt kortfattet.  Er det korrekt at du har to tabeller, DB1 og DB2?  Og har begge tabeller de samme kolonner med de samme datatyper?  For eksempel:

DB1
id navn
1  Jan
2  Ole

DB2
id navn
3  Kaj
4  Alf

Og du vil have dette resultat:

DB2
id navn
1  Jan
2  Ole
3  Kaj
4  Alf

Det kan du opnaa ved at oprette en query som ovenstaaende, altsaa

INSERT INTO DB2 SELECT * FROM DB1

Hvis du faar problemer med det saa sig til.
Avatar billede taio Novice
05. november 2010 - 10:36 #7
DB1 er database 1, med en tabel "navne"
Id, navn
1 jan
2 kaj

DB2 er database 2, med en tabel "ekstra"
Id, navn, adresse
1 ulla, skovvej

DB1 skal have dette resultat
id, navn, adresse
1 jan, emty
2 kaj, emty
3 ulla, skovvej
Altså vi flytter kun rækken "adresse" og indholdet, "skovvej"

DB2 har sammensattabel til DB1 til med "navne" og selvfølgelig sin egen tabel "ekstra"

Datatype er den samme.

?? måske jeg forklarer det forkert ?

På forhånd tak
05. november 2010 - 11:44 #8
Nu skal jeg sikre mig at jeg forstaar dig.  Du har altsaa to helt forskellige databaser, hver med en tabel (DB1, navne, og DB2, ekstra.)  Kan du bekraefte det?  Og saa er det indholdet i DB2 der skal flyttes til DB1, er det ogsaa korrekt? (Du sagde det omvendt i dit oprindelige indlaeg.)  Hvis der skal flyttes fra DB2 til DB1 og resultatet skal vises i DB1.navne saa er det ikke alene indholdet der skal flyttes, der skal ogsaa tilfoejes en ekstra kolonne til DB1.navne .  Eller er det indholdet fra DB1.navne der skal flyttes over og tilfoejes DB2.ekstra?  Det vil vaere lettere.

Jeg forstaar ikke udtrykket "DB2 har sammensattabel til DB1 med 'navne'.."  Min Access er paa hollandsk (jeg bor i Belgien) og jeg kender derfor ikke alle de danske betegnelser.  Mener du at du importerer DB1.navne til DB2?

Hvis du kan oplyse mig om det saa skal jeg proeve igen.
Avatar billede taio Novice
05. november 2010 - 12:07 #9
Rigtigt med 2 forskellige tabeller. :-)
DB1 har 2 eksisterende rækker i en tabel "navn"
Id, navn

DB2 har en tabel "ekstra" som indeholder en række eller flere.
Adresse

Alle rækker i DB2 skal kopieres over i DB1, så disse rækker optræder efterfælgende af de eksisterende rækker i DB1.

DB2 har "Link Tables" til "navn" i DB1, så begge tabeller "navn" + "ekstra" optræder i DB2.

Hjææælp :-))
05. november 2010 - 12:23 #10
Jeg staar og skal afsted, er tilbage om nogle timer.  Men jeg er stadig forvirret.  Jeg bad dig bekraefte at du havde to forskellige databaser, og du svarer "Rigtigt med 2 forskellige tabeller."  Jamen det er da noget helt andet, det har du vel 100% check paa?  Til min orientering, hvorfor har du splittet det over to forskellige databaser i stedet for blot flere tabeller i en database?  Fortael lidt om hvordan du bruger det.
Avatar billede taio Novice
05. november 2010 - 12:34 #11
Ja jeg har 2 databaser :-)

Grunden er at den ene database indeholder data DB1, den anden indeholder indtastningsfelter og søgemuigheder DB2.

Databasen med data, skal jeg kunne ændre uden at lave om i dataen, altså tilføje f.eks. et afkrydsningsfelt i eksisterende tabel "navn"

Når jeg laver en opdatering af DB2 går det aldrig ud over dataen, så overskriver brugeren bare den eksisterende database DB2.

Men når jeg så gerne vil indsætte en ekstra række, med f.eks. et afkrydsningsfelt i DB1, kan jeg ikke bare lave det, så brugeren selv overskriver databasen DB1 med alle data, for så går de jo tabt med den nye database.

Grunden til at jeg vil indsætte f.eks. et afkrydsningsfelt, er at jeg måske ville have mulighed for at krydse af, om denne kunde har betalt sin regning. ??

Håber du forstår lidt bedre nr ??

Tak for al din tid indtil nu :-)
05. november 2010 - 13:48 #12
Nej, jeg fatter ikke et kuk!  Har du mulighed for at sende et kopi af de to databaser som attachments til email til christian.jorgensen@skynet.be?  Saa kan jeg se paa sagerne.
09. november 2010 - 13:10 #13
taio, tabte du modet eller er dette spoergsmaal ikke laengere aktuelt?  I saa fald vil jeg bede dig lukke spoergsmaalet, for god ordens skyld og saa det ikke laengere staar som aabent i min liste af indlaeg.  Hvis du ikke mener at have haft gavn af mit indlaeg saaledes at jeg ikke skal have points saa opret selv et svar og accepter det.

Hvis det paa den anden side stadig har interesse saa tilboed jeg at kikke naermere paa databasen (eller databaserne) hvis du kunne sende filerne med en email.  En af grunden til at vi taler forbi hinanden er sikkert at vi ikke kalder tingene det samme, saa et kik paa sagerne ville hjaelpe.
Avatar billede taio Novice
11. november 2010 - 13:35 #14
Sorry

endnu engang tak for din indsats. Har sendt en mail til dig, så må vi se om du forstår bedre.

På forhånd tak
11. november 2010 - 13:43 #15
Jeg modtog mailen - jeg starter om 20 minuter paa en skakturnering hvor 7 partier skal afvikles over 4 dage, saa det varer nok lige lidt foer jeg gaar i krig dermed.  Men allerede teksten paa din mail synes at give nogen afklaring idet du der snakker om to tabeller hvor du ovenfor snakkede om to forskellige databaser.  To tabeller i en database er langt nemmere at have med at goere end tabeller i forskellige databaser.  Jeg vender tilbage.
13. november 2010 - 08:47 #16
En statusrapport:  Jeg kom ikke videre paa grund af andre aktiviteter, men jeg vender tilbage.
15. november 2010 - 20:25 #17
Det er stadig min plan at vende tilbage til denne traad hvis det stadig er aktuelt (fortael mig).
Avatar billede taio Novice
18. november 2010 - 18:18 #18
Hej Christian

Jeg venter jo kun på dig, du ville tjekke mine databaser, og vende tilbage når du havde afslttet din skaktunering..??

Ja det er stadigvæk aktuelt, hvis du kan hjælpe.
20. november 2010 - 18:18 #19
taio, fik du min email jeg sendte i gaar morges hvor jeg bad om yderligere oplysninger paa punkter der er klare.  (Naar klarlaegning foreligger bringer jeg en sammenfatning her saa andre kan foelge med.)
Avatar billede taio Novice
02. december 2010 - 13:56 #20
Ikke løst, forsøger at omformulere et nyt spørgsmål.
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