Voor onze producten-database heb ik een layout gemaakt waar je het overzicht terug vindt van het aantal stuks er van een product gekocht werd het afgelopen jaar.
Het is simpelweg een portal dat wordt gefilterd door een dropdown waar je het jaar kan kiezen.
Om de pagina snel te laden heb ik de dataniet als calculation field opgeslaan, maar wordt die pas berekend als een trigger op 1 wordt gezet. Deze data verandert toch zelden eens die in de database zit.
Dit is de calculatie voor één veld op de layout:
Let (
trigger = _trigger
;
ExecuteSQL ( "
SELECT SUM(amount)
FROM volumes
WHERE member_id=11
AND product_id=" & product_id & "
" ; "" ; "" )
)
Ik heb een refresh knop (groene pijlen) die er voor zorgt dat de trigger op 1 wordt gezet bij alle records en de data opnieuw wordt geladen. MAAR (en nu komt het):
Dat werkt verschrikkelijk traag. Hoe kan ik er voor zorgen dat dit sneller gaat? Of is er een betere methode om een soortgelijke layout te verkrijgen?
Dit is de code die achter de refresh knop zit:
Freeze Window
Flush Cache to Disk
Set Error Capture [ On ]
If [ Get(WindowMode) ≠ 0 // Browse mode ]
Exit Script [ ]
End If
Go to Related Record [ From table: “volumes” ; Using layout: “volumes” (volumes) ]
[ Show only related records ]
If [ Get(LastError) ≠ 0 ]
Exit Script [ ]
End If
Replace Field Contents [ volumes::_trigger ; Replace with calculation: 1 ]
[ No dialog ]
Go to Layout [ original layout ]
Vraag
caroline
Hallo,
Voor onze producten-database heb ik een layout gemaakt waar je het overzicht terug vindt van het aantal stuks er van een product gekocht werd het afgelopen jaar.
Het is simpelweg een portal dat wordt gefilterd door een dropdown waar je het jaar kan kiezen.
Om de pagina snel te laden heb ik de dataniet als calculation field opgeslaan, maar wordt die pas berekend als een trigger op 1 wordt gezet. Deze data verandert toch zelden eens die in de database zit.
Dit is de calculatie voor één veld op de layout:
Ik heb een refresh knop (groene pijlen) die er voor zorgt dat de trigger op 1 wordt gezet bij alle records en de data opnieuw wordt geladen. MAAR (en nu komt het):
Dat werkt verschrikkelijk traag. Hoe kan ik er voor zorgen dat dit sneller gaat? Of is er een betere methode om een soortgelijke layout te verkrijgen?
Dit is de code die achter de refresh knop zit:
Hopelijk is alles duidelijk...
Alvast bedankt voor de reacties!
Link naar reactie
6 antwoorden op deze vraag
Aanbevolen berichten
Doe mee aan dit gesprek
Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.