Avatar billede puppetmaster Nybegynder
08. marts 2005 - 12:00 Der er 7 kommentarer og
1 løsning

VBA - egne kodefiler

Når man nu har en funktion som skal bruges i 3-4 forskellige databaser (overfør til Excel), så kunne det være rart om man kunne have koden liggende ét sted, i en library fil eller lignende, som alle databaserne så kunne referere til, men hvordan?
Vi har Microsoft Office XP Developer, med Code Librarian, men det ser ud som om den kun "container" koden og hvis man skal bruge koden, skal den kopieres ud i de enkelte projekter, det jeg søger er noget a la de referencer man kan oprette i VB editoren, bare til min egen kode. (skal min VBA kode "pakkes" eller lign?)
08. marts 2005 - 12:02 #1
Du kan lave en selvstændig database, hvor du lægger koden i moduler. Herefter gemmer du databasen som en .mde-fil, hvorefter du kan lave reference til den under Tools->references.

Efterfølgende kan du bruge funktionerne som lå de i din egen database (dog kan du ikke redigere i dem)
08. marts 2005 - 12:04 #2
Du kan sågar have formularer liggende i din .mde. Disse kan do kun åbnes ved at du kalder en funktion i .mde'en, som åbner formularen.

Men det er ganske anvendeligt...
Avatar billede puppetmaster Nybegynder
08. marts 2005 - 12:04 #3
:(
Nå, men det gør ikke så meget at man ikke kan redigere i dem, så kan man jo bare redigere i dem i .mdb filen og gemme den som .mde igen.
08. marts 2005 - 12:05 #4
præcis :)
Avatar billede nih Novice
09. marts 2005 - 15:08 #5
mde filerne skal dog distribueres sammen med selve databasen og ofte skal der sættes nye referencer på hver arbejdsstation.

Jeg synes det er nemmere at kopiere de moduler man skal bruge ind i selve databasen
- Det var min erfaring

Niels
09. marts 2005 - 15:22 #6
Det er korrekt, at referencen selvfølgelig skal genoprettes, hvis den ikke ligger samme sted. Men et par linier kode klarer den sag. Noget i denne stil:

If Application.References("din reference").IsBroken then
    Application.References("din reference").Collection.Remove Application.References("din reference")
    Application.References.AddFromFile Currentproject.path & "\DinFil.mde"
endif

Puppetmaster-> kan du få det til at virke?
Avatar billede puppetmaster Nybegynder
07. april 2005 - 08:15 #7
Beklager det sene svar, men tak for løsningen, thomas
07. april 2005 - 08:32 #8
Selv tak :)
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