Rapport laadt data meerdere keren.

  • Onderwerp starter Onderwerp starter RianA
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

RianA

Gebruiker
Lid geworden
6 aug 2013
Berichten
9
Goedemiddag,

Ik heb een probleem met een rapport.

Het is een simpel rapport van 1 A4 dat wordt geladen met een filter op 1 record.
Op dit rapport heb ik een veld met "=get_prijs([id])" in de detailsectie
Dit werkt allemaal prima, maar ik kwam erachter dat deze functie 9x wordt uitgevoerd als ik het rapport open.

Na wat googelen kwam ik erachter dat wanneer ik het veld met "=[page] & " van " & [pages]" verwijder de functie nog maar 6 keer wordt uitgevoerd.
Ook kwam ik erachter dat het Details_OnFormat event 3 keer wordt aangeroepen bij het openen.

Nu is mijn vraag. Hoe kan ik ervoor zorgen dat mijn functie gewoon 1x wordt aangeroepen?

Groeten Rian
 
Niet. Bij het openen van een rapport worden een aantal routines doorlopen, en daarbij worden de functies die er op staan dus ook herhaaldelijk uitgevoerd. Hoe minder rapportspecifieke modules je gebruikt, hoe minder vaak de code wordt herhaald.
 
Bedankt voor je reactie, wat bedoel je precies met rapportspecifieke modules?
 
De Detailsectie van een rapport heeft gebeurtenissen als <Bij opmaken> en <Bij afdrukken>. Kop- en Voettekst hebben die ook. Als je bij al die gebeurtenissen een actie laat uitvoeren, wordt elke keer ook je functie uitgevoerd. Door dus te kijken wanneer welke routine draait, kun je zien waar je winst kan halen. Voeg maar een onderbrekingspunt in de gebeurtenis <Bij openen>, dan zie je in welke volgorde alles wordt uitgevoerd.
 
Bedankt, ik heb een paar dingen ontdekt.

Het openen van een rapport doe ik altijd via een functie die het rapport opent en daarna de standaardprinter instelt, dit is om de eigenschappen zoals lade en papierformaat over te nemen van de standaardprinter.
Op het moment dat ik dat doe wordt het rapport dus weer 2 keer opgemaakt.

Ik heb het hele rapport uitgekleed met 1 functie erop. Deze wordt bij openen als afdrukvoorbeeld nu 2 keer uitgevoerd. Ik denk dat dit dan het minimale is.

Bedankt voor je hulp!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan