Avatar billede h_s Forsker
15. maj 2003 - 15:48 Der er 20 kommentarer og
1 løsning

Importer data fra eksisterende tabel

Jeg har brug for en makro eller ligende der importer data fra en gammel tabel til en ny tom tabel.

Jeg har pt. 2 tabeller men måske kommer der flere.

Det kan også være at der kommer flere felter i de enkelte tabeller, da databasen er under stadig udvikling.

Kan dette lade sig gøre?
Avatar billede arne_v Ekspert
15. maj 2003 - 16:41 #1
SELECT * INTO nytabel FROM gammeltabel;
Avatar billede h_s Forsker
16. maj 2003 - 15:46 #2
arne_v> Har du mulighed for at lave en hel makro. Tabellen der skal importeres hedder "Ruter" begge steder.
Dvs. der skal importeres fra én database til en anden!
Avatar billede arne_v Ekspert
16. maj 2003 - 16:08 #3
SQL må være:

SELECT * INTO Ruter IN "C:\dir\database.MDB"
FROM Ruter;

Og skal det være i en Macro vælger du bare action:

RunSQL
Avatar billede arne_v Ekspert
16. maj 2003 - 16:09 #4
Bemærk at den skal udføres i fra-databasen ikke i til-databasen.

Det er noget du skal gøre mange gange ?  (siden du ikke bare bruger
import wizard'en)
Avatar billede h_s Forsker
16. maj 2003 - 19:45 #5
Ja, der skal importeres mange gange. Det er sådan at jeg har lavet en database, som andre også skal bruge med deres unikke indhold, og min med mit unikke indhold. Når jeg så laver ændringer, skal de andre så have den nye version. Da de ikke er så it kyndige vil det være dejligt at det var så enkelt så muligt at importer deres data over i den nye version.

Jeg har nogle enkelte spørgsmål:
- Hvad hvis nu deres gamle version ligger forskellige steder på deres harddisk?
- Hvordan undgår jeg problemer med at finde frem til den gamle database?
- Hvad sker der hvis jeg ligger nye felter i f.eks. tabellen Ruter? Vil der i det nye felt så bare være et tomt felt eller vil det give import problemer?
- Kan jeg kopier din formel fra dit indlæg kl. 16:08:26 direkte? Hvis ikke, så må jeg nok bede dig om at lave den 100%, for jeg er ikke helt inde i SQL programmering eller hvad det er :-)
Avatar billede arne_v Ekspert
16. maj 2003 - 19:50 #6
Min SQL kode 16:08:26 skulle være køre-klar.
Avatar billede arne_v Ekspert
16. maj 2003 - 19:51 #7
Men stop lige en halv.

Er problem stillingen bare at du opdaterer Access applikationen
og at de skal beholde deres data ?
Avatar billede arne_v Ekspert
16. maj 2003 - 19:53 #8
Så er løsningen nemlig ikke at man kopiere data fra en database til en anden.

Nej så splitter du databasen i to:
- en applikations database
- en data database

Alle forme, makroer og reports ligger i den første.

Alle tabeller ligger i den anden.

Den første attacher så tabellerne fra den anden.

Så kan du bare kopiere nye applikations databaser ud
og allerhøjest skal tabel linksene refreshes.

Så virker det !
Avatar billede mugs Novice
16. maj 2003 - 21:30 #9
Enig med arne_v.

Det eneste rigtige er en opdeling af dine db. Se i din menu Funktioner > Databaseopdeling.

Du kan også lave en ny tom db, i filer > Sammenkæd tabelkler kan du sammenkælde tabeller i din oprindelige db med tabeller i din nye db. Derefter inporterer du alle forespørgslewr, formularer, makroer of moduler.

Alle ændringer i posterne i begge tabeller vil nu blive afspejlet i den anden db.
Avatar billede h_s Forsker
18. maj 2003 - 22:03 #10
Jeg er ikke helt sikker på jeg har forstået arne_v og mugs rigtigt. Det er sådan at jeg har ikke adgang til de andres versioner af dB. Dvs. den ligger ikke på en fælles server, men på lokale harddiske rundt omkring i landet/verden. Så når jeg har lavet en ny version, sendes den via mail til de andre uden indhold i dB. De skal så importer deres data ind i den nye version.
Avatar billede h_s Forsker
18. maj 2003 - 22:03 #11
arne_v 19:53:16> Hvis jeg splitter dB op i to, hvad så hvis jeg ændre opsætningen af tabellerne. fx. med et nyt felt? Hvad med kæderne fra bruger til bruger. Vil der ikke blive problemer, når den enkelte bruger har placeret dB forskellige steder?
Avatar billede mugs Novice
18. maj 2003 - 22:13 #12
Hvis du splitter din db i 2 dele (Front- og backend), vil der ikke være nogle problemer, idet din frontend altid vil være en afspejling af din backend, og så hvis du tilføjer flere felter i din backend.

I dit spørgsmål omtaler du, at du vil inmportere en tabel. dette stemmer ikke overens med din nye oplysning kl 22:03:16, idet du her vil importere allerede eksisterende data ind i en ny tabel.

Som jeg ser det lige nu, er løsningen at åbne din nye db med den tomme tabel, og så importere data fra den gamle db. Du kan evt. bruge funktionen Hent eksterne data i menuen Filer. Hvis du absolut vil have en makro, skal du benytte kommandoen Overfør database.

Men måske det bedste var måske, at du nøje overvejer dit spørgsmål, og definerer det lidt bedre, så tror jeg du vil få lidt flere kvalificerede svar. :o)
Avatar billede arne_v Ekspert
18. maj 2003 - 22:23 #13
Ja der skal linkes alt efter hvor brugerne har det liggende, men det er
relativt nemt at lave en lille "Vælg fil" dialog og så attache den
rigtige data datatabase.

Ja ændringer af strukturen kan være et problem, men så kan man lave
noget autoupdate kode.
Avatar billede arne_v Ekspert
18. maj 2003 - 22:24 #14
Det er den rigtige måde at gøre det på.
Avatar billede h_s Forsker
19. maj 2003 - 11:45 #15
mugs> Jeg har prøvet at bruge funktionen Hent eksterne data i menuen Filer. Når jeg bruger den, så henter den HELE tabellen over.
Det jeg vil er at importere allerede eksisterende data fra tabel i gammel dB ind i en tabel i en ny dB.

Jeg skal i fremtiden prøve at overveje mine spørgsmål :-)
Avatar billede mugs Novice
19. maj 2003 - 16:44 #16
Denne kode importerer en tabel fra Tabel1 i db hsgl til en ny db. Den importerer data til tabellen Import, derefter køres en tilføjelsesforespørgsel, der sender data til din nye tabel og sletter derefter importtabellen

DoCmd.TransferDatabase acImport, "Microsoft Access", "C:\hsgl.mdb",_  acTable, "Tabel1", "Import", False
DoCmd.OpenQuery "Forespørgsel1", acViewNormal, acEdit
DoCmd.DeleteObject acTable, "Import"

Kan sende dig et eksempel. Blot læg din e-mail.
Avatar billede h_s Forsker
19. maj 2003 - 20:20 #17
mugs>Min mailadresse: henrik@southfarm.dk
Avatar billede mugs Novice
19. maj 2003 - 20:39 #18
Sendt.
Avatar billede h_s Forsker
24. maj 2003 - 10:14 #19
mugs> tak skal du have - Jeg har pt. ikke set på det, men vender tilbage når jeg har.
Avatar billede mugs Novice
24. maj 2003 - 10:15 #20
OK :o)
Avatar billede h_s Forsker
02. juni 2003 - 23:08 #21
mugs> så er den i vinkel - Tak :D)
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