17. september 2013 - 13:40Der er
7 kommentarer og 1 løsning
Kopi af db uden link til odbc-kilder
Jeg har en database med en række odbc-linkede tabeller. Jeg vil gerne tage en kopi af databasen uden link til odbc-kilderne. Er der nogen der kan klare det? Jeg kan kun gøre det for en tabel ad gangen, og da der er mange tabeller er det lidt omstændeligt.
Formålet er at få en udviklingsversion af min database, som jeg kan arbejde med udenom netværket.
Sådan gør jeg - lidt omstændeligt, men det virker ! Har andre en smartere metode, er jeg meget lydhør !!
1. Du skal lave en opdeling i frondend og backend, så du har tabellerne i én fil og resten i en anden. 2. Så skal du lave en kopi af backend-filen (den med tabellerne). 3. I denne fil laver du en kopi af ODBC-tabeller og gemmer dem som lokale tabeller - i samme fil. 4. Så fjerner du alle ODBC-tabellerne. 5. Derefter omdøber du alle lokaltabellerne så de hedder det samme som ODBC-tabellerne. 6. Så har du én fil med lokaltabeller, som du kobler din Frontend-database samme med når du udvikler off-line (Sammenkædede tabeller). - og én fil med ODBC-tabeller, som du kobler til i produktion. 7. Når du laver ændringer i tabelstrukturen skal du huske at lave dem begge steder.
Det tar vel 10 minutter at kopiere en tabel i mit system. Jeg er nød til at kunne gøre det om natten, uden at blive spurgt om egenskaber for hver kopi. Kan det gøres i en makro?
Docmd.transferDatabase vil importere et link som et link - det kan man ikke lave om på.
Ovenstående procedure skal du kun udføre én gang. Det er min umiddelbare vurdering, at det tager længere tid at skrive en kode, der kan gøre det automatisk, end det tager at gøre det manuelt - især fordi det er nødvendigt, at lokaltabellerne hedder det samme som ODBC tabellerne.
Men her er et hint til noget kode, der løser opgaven: (Nedenstående er meget mangelfuld, men giver dig en ide om hvilken vej du skal gå)
For each tabel in tabelscollection docmd.RunSQL "SELECT * FROM tabel INTO tabel & "A" Next tabel
Herefter har du to af hver tabeller: Tabel og TabelA. Nu skal du slette Tabel og omdøbe TabelA til Tabel.
Med ovenstående rutiner i SQL1 -2 -3 og 4 ewr der ikke brug for at omdøbe :-)
Synes godt om
Ny brugerNybegynder
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.