Avatar billede fiffi Novice
30. juli 2012 - 18:28 Der er 5 kommentarer og
1 løsning

Sammenkædede tabeller

Jeg har oprettet en Accessdatabase hvor jeg skal kunne styre de sammenkædede tabeller (backend-database). Jeg skal have selve frontend omdannet til mde-database og i den forbindelse mister jeg muligheden for (i Access-runtime) at kunne ændre hvor backend-databasen ligger. Jeg vil derfor utrolig gerne kunne løse dette i vba. Jeg har fundet følgende script, men kan ikke få det til at virke. Umiddelbart ser det dog fornuftigt ud, men som sagt kan jeg ikke få det til at virke.
Jeg anvender Access 2003 og databasen er også 2003.

http://www.eksperten.dk/spm/233587?fullscreen=1&Esession=f2fdde288af822510f1a2c7c6a48ff23
Avatar billede fiffi Novice
03. august 2012 - 08:22 #1
Har nu fundet en lille meget nem løsning som - næsten virker.

Første fjerner jeg eksisterende sammenkædning med flg. kode:
DoCmd.DeleteObject AcTable, "Tabel"

Derefter opretter jeg nye sammenkædninger med flg. kode:
DoCmd.TransferDatabase acLink, "Microsoft Access", "Database.mdb", acTable, "Tabel", "Tabel"

Umiddelbart virker det jo meget nemt. Mit problem er blot at tabellerne herefter virker skrivebeskyttet.

Har nogle en god ide ?
Avatar billede rookie44 Juniormester
06. august 2012 - 13:29 #2
Jeg bruger en åbningsformular, hvor jeg har installeret OpenFileDialog fra MakeItEasy.
D.v.s. brugeren vælger hvor backend er placeret. Default har jeg gemt sidste valg.
Hvis placering er forskellig fra sidst, så reAttacher jeg filerne det virker fint.
Du kan hente en demoversion af mit program på www.makapor.dk. Min frontend er en mde-fil
Avatar billede fiffi Novice
07. august 2012 - 06:28 #3
Har forsøgt at importere modulerne men får en fejl. Når jeg bla. kører funktionen ReattachToNewDatabase kommer fejl
"User-defined Type not defined" i linien
Dim db as Database
Det er som om den ikke kender definitionen database.
Avatar billede rookie44 Juniormester
07. august 2012 - 08:41 #4
Jeg bruger en anden attach end den fra MakeItEasy.
Jeg kører også DAO
Så det hjælper muligvis at skrive
Dim db As DAO.Database
Avatar billede fiffi Novice
07. august 2012 - 19:57 #5
Har fundet min fejl. Jeg manglede - under preferences - at markere nogle databasehenvisninger, eller hvad det nu er.
Avatar billede rookie44 Juniormester
08. august 2012 - 20:10 #6
Lykkedes det og giver det point.
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