Avatar billede region Nybegynder
31. januar 2001 - 14:17 Der er 10 kommentarer og
1 løsning

udskrift formular

Jeg har en form \"key figures\" som laver 46 dlookup funktioner. Det tager derfor ca. 1-3 min at beregne denne.
Problem :
når jeg via en knap vil udskrive denne tager det lige så lag tid ( som om den laver en requery) !!! mit script er som flg. :

Private Sub Command131_Click()
DoCmd.PrintOut acPages, 1, 1, acHigh, 1
End Sub

hvorfor tager det så lang tid. på mindre maskiner får jeg ofte en time out på printeren. ( små maskiner = < 500 MhZ )

Avatar billede region Nybegynder
31. januar 2001 - 14:18 #1
Jeg har selv en T20 766 MhZ til orientering.
Avatar billede janbangm Nybegynder
31. januar 2001 - 14:28 #2
Ha du prøvet at lave en rapport med de samme oplysninger som formularen
Avatar billede region Nybegynder
31. januar 2001 - 14:29 #3
njet.. Det er en stor opgave så ved du om dette plejer at afhjælpe hastighedsproblemer
Avatar billede horus Nybegynder
31. januar 2001 - 14:46 #4
DLookup er en RET langsom funktion... når man kun bruger den en eller to gange i en funktion mærker man det ikke.... men 46 !!!!! Pheeew..... :-)

Jeg vil foreslå dig at finde de ting du nu finder via DLookup, ved hjælp af oprette nogle recordsets og søge disse igennem i stedet.... det er MEGET hurtigere....

Jeg vil godt hjælpe dig hvis du ikke umiddeltbart kan finde ud af det....

Prøv evt. at skrive én af dine DLookup sætninger hér så skal jeg vise dig hvordan den ser ud på den anden måde....


Jeg tror i øvrigt ikke det vil gøre nogen forskel at lave en rapport direkte....

Horus
Avatar billede region Nybegynder
31. januar 2001 - 14:53 #5
har lige prøvet rapport istedet for form..jeg sparer 2 sekunder sååååå....

Horus.:

Dlookup \"kigger\" i en forespørgsel der har nogle kriterier indbygget. (Jeg antager at dette ligeledes er en del af årsagen.)

her er et eks. på en af de 46 :

=DLookUp(\"[SumOfsum write down]\";\"[sum gr 0 down]\")

håber du kan hjælpe.
Avatar billede horus Nybegynder
31. januar 2001 - 15:04 #6
Det har ganske sikkert også noget at skulle have sagt at du har kriterier i forespørgslen.... men lad os nu prøve og se hvad dette kan give...

Dim dbs as database
dim rstSwd as recordset  \'Din forespørgsel placeres hér - hvis du har flere forespørgsler blandt de 46 dlookup\'ere så skal du også dim\'e et recordset til dem.

set dbs as currentdb
set rstSwd as dbs.OpenRecordSet(\"SumOfSum write down\",dbopensnapshot)

rstSwd.MoveFirst  \'Jeg går ikke ud fra at der er flere poster i forespørgslen siden du ikke specificerer noget kriterie i din dlookup, kan der kun være en post - eller hva\' ?

=rstSwd![sum gr 0 down]  \'Linien der returner værdien ligesom dlookup\'en gjorde...


\'Slut af med at rydde op

rstSwd.close
set rstSwd = Nothing
set dbs = Nothing



Det er stilen..... du opretter altså et recordset for hver forespørgsel eller tabel du har brug for.... dbopensnapshot er vist en smule hurtigere end standard metoden.

Husk at .MoveFirst på hvert recordset og returner så værdien ved at skrive \"Navnet på recordset\"!\"Navnet på feltet\"


Håber det hjælper dig

Horus


Avatar billede region Nybegynder
31. januar 2001 - 16:23 #7
Jeg vil prøve at dim alle 46 forespørgsler da de alle er forskellige. Når dette er gjort vil jeg gerne vide hvordan man overfører dette modul til de 46 unbound object felter..???

Data i disse kan jo kun laves via udtryksgenerator..

Avatar billede horus Nybegynder
02. februar 2001 - 09:52 #8
hej igen

Har værest syg - derfor først svar nu...

du laver ovenstående kode i formularens \"Ved Åbning\" hændelsesprocedure...

For hvert resultat fortæller du i hvilket felt på formularen du vil have det vist, altså:

Me![Navnet på feltet i formularen] =rstSwd![sum gr 0 down] 


held og lykke

Horus

Avatar billede region Nybegynder
07. februar 2001 - 09:00 #9
undskyld min sene tilbagemelding ...har droppet det til fordel for anden opgave. jeg accepterer dit svar uden at have prøvet det og håber at måtte vende tilbage såfremt jeg har kommentarer senere...

Niels
Avatar billede horus Nybegynder
07. februar 2001 - 09:25 #10
Hej

Ærgeligt at du ikke har haft tid til at prøve det af.... det kunne være spændende/sjovt at se hvilken tidsforskel det ville give.... Jeg håber du får tid/lyst/mulighed for at afprøve det på et tidspunkt... I såfald må du MEGET gerne komme med en kommentar vedr. resultatet.... som sagt, kunne det være meget interessant at vide....

Horus
Avatar billede region Nybegynder
07. februar 2001 - 09:39 #11
will do...
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