22. marts 2005 - 10:34Der er
18 kommentarer og 1 løsning
class module en god ide ?
Hej til alle.
Jeg har en access database hvor man igennem en hovedform kan komme til en masse underforme. i disse underforme skrives der en masse ting igen. i hovedformen kan man printe ting ud og den finder selv ud af hvilke tabeller den skal printe ud.
Efterhånden syndes jeg at koden er ved at blive uoverskuellige, og derfor tænkt på om jeg kan dele min kode ind i "Class module" således at enhver tabel får sin egen "Class Module" . Dette vil medfører mere overskuelligehed, men hvordan dette vil virke på Perfomancen ved jeg ikke hvad syndes i ?
og hvordan skal jeg til at referere til mine procedure som jeg tidligere bare skrev navnet og procuderen blev kørt ?
Så skal du lave en objekt veraibel først. Dvs. hvis din klasse hedder tblClass så laver du en variabel med erklæringen
dim varCls as tblClass set varCls = tblClass
herefter kan du ved at bruge denne objekt variabel kalde procedurer, og funktioner der ligger i klassen. Ligger der eksempelvis en procedure der hedder hentData() så kaldes den ved
tblClass.hentData
Men jeg er måske lidt usikker på om jeg synes det er en god ide i dit tilfælde at bruge class... måske alm modules kan bruges i stedet.
Jeg ville personligt kun bruge klasser, hvis der er tilstande der skal gemmes.
Jeg har valgt at lave en alm. modul, fra hovedformen kan jeg godt kaldte dette modul. men problemmet er nu blevet at den nye modul skal bruge et par procedure fra den hovedformen. jeg har omdøb procedurene til public istedet for public for at kunne tilgå dem. jeg kalder proceduren ved at skrive "Hent_Bil" som proceduren hedder i hovedformen. men den melder fejl. ??
ps. forskellen mellem privat og public er det ikke bare om proceduren er tilgænglige eller ej, den gøre vel ikke min program tunger ?
Det er korrekt at forskellen mellem private og public, blot er om de er tilgængelige udenfor det kodemodul hvor de er skrevet. Der burde ikke være performance forskel.
ok.. har nu gjort som du har fortalt . Jeg har taget det kode som jeg skal bruge fra hovedformen og smidt i en særskilt modul, og nu virker det hele, når den er i en særskilt form . så er spørgesmålet hvorfor virker det ?????? : ))
Fordi hvis procedurer skal være "globale" for flere formularer så skal de være i et kodemodul.
VH CK
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.