Avatar billede avalon116 Nybegynder
22. august 2003 - 08:15 Der er 14 kommentarer og
1 løsning

langsom beregning

Jeg prøver lige igen med lidt flere point på bordet.
Jeg har nogle rapporter med beregninger i. De tager meget lang tid at få vist.

Jeg tror det skyldes at der er nogle felter, der skal beregnes. Noget i stil med:
=DSum("[Antal]";"qTidRapport";"#02-01-" & Mid([Filter];21;4) & "# > [Dato] AND [Dato] >= #01-01-" & Mid([Filter];21;4) & "# AND [Delprojektnavn] = '" & [Delprojektnavn] & "'")

Den beregner registreret tid pr måned for hvert delprojekt.
Der er 12 af den slags beregninger (en for hver måned) + en sum.
Avatar billede arne_v Ekspert
22. august 2003 - 08:55 #1
DSum (og de andre Dxxx) er notorisk langsomme, når de kaldes
for hver "side" i form eller report.
22. august 2003 - 09:04 #2
Det er rigtigt at Domæneaggregat-funktionerne (DSum, DLookup, DCount mv.) er meget langsomme.

Men hvor hurtig er din forespørgsel "qTidRapport"? Kan den optimeres? Har du indekser på Filter og på Delprojektnavn?

Kunne du benytte en alm. =Sum() i en tekstboks i rapportfoden eller en anden grupefod i stedet for at bruge DSum?
Avatar billede avalon116 Nybegynder
22. august 2003 - 09:08 #3
selve forespørgslen er ikke  langsom.

indekser???

jeg kan ikke helt se hvordan jeg kan nøjes med en alm. sum, når jeg vil have den for hver måned.
22. august 2003 - 09:13 #4
Jeg ved det heller ikke, da jeg ikke ved hvordan din rapport er bygge op. Men typisk kan man jo lave en gruppe (med gruppefod) for hver måned på rapporten og dermed putte denne sum i måned-foden (du finder gruppestyring under menuen Vis->Sortering og gruppering)

Indekser defineres på tabelniveau. På alle felter, som benyttes som kriterier eller til at joine med, bør man angive egenskaben "Indeks" til Ja i tabeldesign.
Ligesom der skal være en primærnøgle i enhver tabel!
Avatar billede avalon116 Nybegynder
22. august 2003 - 09:24 #5
jamen så har jeg index på.

foresp. er bygget op således at der er en række poster med enkelte registreringer. Hver post indeholder: datoer for tidsregistreringen, personen der har registreret, timer registreret, delprojektnavn for registreringen.
Avatar billede avalon116 Nybegynder
22. august 2003 - 09:26 #6
nu tror jeg jeg ved hvad man kan gøre:
i selve forespørgslen kunne man lave et felt for hver måned og så indsætte en iff-sætning, der gør at timerne kun vises, hvis måneden=feltets måned.
Så kan jeg nøjes med alm sum i rapporten
22. august 2003 - 09:27 #7
ja, f.eks. :o)
Avatar billede avalon116 Nybegynder
22. august 2003 - 09:41 #8
det virker - og det går hurtigt
22. august 2003 - 09:43 #9
okay....og det tog du selv al æren for?
Avatar billede avalon116 Nybegynder
22. august 2003 - 09:45 #10
ja, er det forkert?
der var da ikke andre, der var ude af den tangent?
22. august 2003 - 09:49 #11
Både Arne og jeg gjorde dig opmærksom på at DSum er langsom og jeg foreslog dig at kigge på hvordan du kunne lave din rapport om, således at du brugte Sum i stedet for (enten i forespørgslen eller i rapporten).

Man gider jo bare ikke at hjælpe dig en anden gang, hvis man ved at du ikke værdsætter ens indsats.
Avatar billede avalon116 Nybegynder
22. august 2003 - 10:15 #12
Du må altså undskylde, men jeg synes ikke at det at gøre opmærksom på at DSum er langsom og at jeg kunne lave rapporten om var et svar.
Der var jo ingen af jer, der angav hvordan jeg kunne ændre den. Det kunne ikke lade sig gøre at bruge Sum funktionen som den var.

Men jeg sætter stor pris på den hjælp jeg får her på siden, og jeg sætter en ære i at overholde god etik. Derfor vil jeg hverken give point uberettet (da det jo går ud over de andre) eller komme til at snyde nogen for point.

Jeg kunne godt tænke mig at høre andres mening om den korrekte pointgivning i denne sag.
Avatar billede avalon116 Nybegynder
22. august 2003 - 10:17 #13
Så derfor har jeg oprettet et nyt spm.
22. august 2003 - 10:23 #14
Vi har ikke den fjerneste ide om hvordan din rapport er skruet sammen ud over et enkelt beregnet felt. Derfor var det jo umuligt at komme med mere konkrete forslag end vi gjorde.

Men det er jo helt individuelt hvordan man giver point. Jeg ville aldrig have forventet at få 200 point, men når jeg stiller spørgsmål og folk bruger tid og kræfter på at lægge deres hoved i blød, så honorerer jeg også med en del af pointene - også selvom de bare får mig til at tænke i andre baner og jeg dermed 'selv' løser problemet.

Men sådan er vi nok bare så forskellige :)
Avatar billede avalon116 Nybegynder
22. august 2003 - 10:27 #15
jamen folkestemningen ser også ud til at du har ret.

Og så beklager jeg naturligvis. Jeg prøvede bare at handle efter hvad jeg troede var korrekt.

Men hvis I gider at blande jer med et svar i debatten på spm:
http://www.eksperten.dk/spm/390930

vil jeg gerne korrigere for den fejl.
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