Avatar billede dougheffernan Nybegynder
20. juli 2006 - 10:38 Der er 9 kommentarer og
2 løsninger

Pakke generelle funktioner

I mange af de database projekter vi udvikler (Microsoft Access), er der mange generelle funktioner, som går igen i næsten alle projekter. Er det muligt på en eller anden måde at "pakke" dem i en (eller flere filer), så alle databaser kan anvende koden (References i VBA )?
Avatar billede -anders- Juniormester
20. juli 2006 - 10:53 #1
Hej dougheffernan

Hvis du opretter en ny mdb fil, og her lægger alt relevant kode i moduler, kan du i andre dabaser under menuen tools/References sætte hak ud for den mdb fil du har din kode liggende i.

Derefter kan du anvende koden på ganske normal vis, det fungere faktisk meget godt
Avatar billede dougheffernan Nybegynder
20. juli 2006 - 11:17 #2
Ja, kunne jeg dog bare.
P.t. har jeg koden liggende i en .mda fil, som jeg så har oprettet en reference til fra en af mine databaser, men denne stump kode, som ligger i .mdb filen opretter et objekt på baggrund af en klasse i .mda filen, men jeg får en fejl.
Dim OS As New clsOperatingSystem

Compile error:
User-defined type not defined.
Avatar billede -anders- Juniormester
20. juli 2006 - 11:24 #3
Det lyder som en manglende reff. Jeg bruger det selv, dog ikke så avanceret som du beskriver, jeg anvender det typisk på denne måde:

Jeg opretter en alm. mdb fil, i denne skriver så noget kode i et eller flere moduler, jeg gemmer mdb filen et centralt sted.

I diverse databaser opretter jeg så min reff. til denne mdb fil hvor det måtte være relevant.

Jeg tror du skal kikke på nogle reff. både i din mda fil og dine mdb filer, den fejl du for tyder som sagt på nogle manglende reff.
Avatar billede dougheffernan Nybegynder
20. juli 2006 - 11:30 #4
Hmmm...det ændrer ikke noget. De referencer der er i .mda filen er også i .mdb filen (samt nogle flere).
Måske kan man ikke bruge Class Modules som ligger i .mda filer?
Avatar billede dougheffernan Nybegynder
20. juli 2006 - 11:32 #5
En Compile (i VBE) i .mda filen viser ingen problemer, men det gør den derimod i .mdb filen. Hvis jeg fjerner Class filen (har flere andre alm. moduler), er der ingen problemer i .mdb filen.
Avatar billede dougheffernan Nybegynder
20. juli 2006 - 12:09 #6
Det virker når jeg rykker Class modulerne over i .mdb filen (godt jeg kun har én af dem!)
Avatar billede -anders- Juniormester
20. juli 2006 - 12:21 #7
Okay, der er altså forskel på hvordan reff. virker i forhold til hvilken filtype der anvendes, dette vidste jeg ikke, altid rart at lære noget nyt :o)

Jeg kan nok ikke bidrage med mere, men måske der kommer andre forbi med nyttige input, forsat god arbejdslyst med projeket :o)
Avatar billede Slettet bruger
21. juli 2006 - 00:18 #8
Er det ikke smartest på langt sigt at holde modulerne inden for den database hvor de skal bruges, så de ikke en dag bliver "væk" fra hinanden.. Eller hvis man er nød til at lave lidt om i et modul for at det passer i en anden database.. osv..

For at spare tid og udnytte viden, så starter jeg gerne med en slags grunddatabase, som jeg har opbygget igennem tiden, som indeholder moduler, opstartsfunktioner, værktøjslinier, m.m. Denne grunddatabase ændrer sig hele tiden når jeg lærer noget nyt...
Avatar billede dougheffernan Nybegynder
13. september 2006 - 10:44 #9
spg, det er også sådan det kører for det meste her, i det øjeblik hvor koden ligger i selve databasen, skal alle brugere være logget af før man kan ændre på den, hvis det ligger i en separat fil som databaserne refererer til, burde dette ikke være nødvendigt.
Læg et svar anders og spg.
Avatar billede -anders- Juniormester
13. september 2006 - 15:11 #10
Her et lille forsigtigt svar :o), forsat god arbejdslyst med projeket
Avatar billede Slettet bruger
13. september 2006 - 15:28 #11
!~)
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