Avatar billede xzaboo Praktikant
17. juli 2008 - 10:50 Der er 5 kommentarer og
1 løsning

DSum i forespørgsel bruger enormt mange resurser..

Hej Eksperten..

Jeg har i over et år benyttet mig af en dB som har fungeret rigtig fint, hvor den formular der hovedsageligt bruges indeholder en underformular som er i dataarkvisning. I denne dataarkvisning indgår et felt der laver en opsumering af en pris vha. en DSum som ser ud som følgende:
Sum: DSum("[Pris Total]";"qryToSubForm";"SRMtrpnr =" & [SRMtrpnr])

Det der nu er meget mærkeligt, er at hvis noget af dette Sum felt er synligt i underformularen, så tager den utroligt lang tid om at vise alle posterne i underformularen, og det er som om den indlæser dem 3 gange den første gang man går ind på en post i hovedformularen. Hvis man så flytter fokus fra eller til underformularen, så skal den til at indlæse dataene i underformularen igen (dog kun en gang).
Hvis den ikke er vist, så tager det kun nogle split-sekunder og så er alt indlæst.

Er der nogen der har et bud på hvad der kan være galt, og om der er noget at gøre?

Mvh.
Steffen
Avatar billede terry Ekspert
17. juli 2008 - 11:01 #1
is the dsum on a field in the sub form or is it in a query?
You could try replacing dsum with a sub select which returns sum.

SELECT SUM([Pris total] FROM qryToSubForm ....
Avatar billede xzaboo Praktikant
17. juli 2008 - 11:12 #2
Ja, det er i en forespørgsel til underformularen. Tror faktisk at det var dig der i sin tid hjalp mig med at få den til at fungere. Men hvor henne skal jeg så bruge den SQL-streng du foreslår? Skal den så være noget i stil med
SELECT SUM([Pris total] FROM qryToSubForm WHERE SRMtrpnr =
og hvad skriver jeg så til sidst for at få samme resultat som jeg gjorde tidligere. Altså så den kun vælge nogle bestemte poster at lave SUM på ?
Avatar billede terry Ekspert
17. juli 2008 - 11:28 #3
Is this a column in the query which the sub form uses?

Sum: DSum("[Pris Total]";"qryToSubForm";"SRMtrpnr =" & [SRMtrpnr])

If so then you would replace what is after sum:
(The dsum(.... part)

with something like you suggested yourself.

(SELECT SUM([Pris total] FROM qryToSubForm Q WHERE Q.SRMtrpnr = T.SRMtrpnr)

NOTE: The T in T.SRMtrpnr needs to be replaced by the name of the table which the field SRMtrpnr in the main SQL comes from.
Avatar billede xzaboo Praktikant
17. juli 2008 - 11:48 #4
Ja, det er kollonne som underformularen bruger for at finde de poster i underformularen som passer til posten i hovedformularen.

Jeg kan bare ikke helt se hvor jeg skal indsætte dette stykke kode, fordi SQL-koden for qryToSubForm hvor jeg gerne vil have Sum-feltet til at være en del af, er ikke umiddelbart så let at få indsat noget kode i?
Avatar billede terry Ekspert
17. juli 2008 - 12:16 #5
I dont have much time righ t now but if you can send me your dB then I can maybe take a look later.
ekspertenATsanthell.dk
AT = @
Avatar billede xzaboo Praktikant
21. oktober 2008 - 17:06 #6
Da jeg ikke længere forsøger at løse dette problem, så lukker jg bare spørsmålet..
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