FileMaker - Tip
104
![]()
|
|
|
Een videotheekuitbater vraagt hoe hij op het scherm waarin hij een transactie inboekt tevens de transacties van de laatste week kan zien, zowel voor de huidige klant als voor de videotape die uitgeleend wordt. Uiteraard gaan we weer een portal gebruiken. Er worden gegevens over de klant én over de video gevraagd, dus zettten we twee portals naast of onder elkaar. In elke portal tonen we dus alle records uit dezelfde databank (zo'n relatie heet een SelfJoin) voor dezelfde klant gedurende de vorige week en voor dezelfde videotape gedurende de vorige week. Eerst voor de klant. We moeten een relatie leggen tussen de huidige datum en de zes (of zeven of acht...) voorgaande dagen. We creëren daartoe een calculation field met date als result en de volgende formule (we noemen dit veld bijvoorbeeld VorigeWeek): Status(CurrentDate) & "¶" &
Maar we willen enkel de gegevens voor onze specifieke klant zien. We moeten dus nog een beperking inbouwen. Dat doen we door de klantcode of klant-ID toe te voegen. Hiertoe creëren we een nieuw veldje dat we bijvoorbeeld DezeKlantVandaag noemen en dat volgende formule bevat: Klantcode & Status(CurrentDate) Onze formule van daarstraks passen we ook aan, door ook hier op elke regel de klantcode toe te voegen; we hernoemen het veld naar DezeKlantVorigeWeek: Klantcode & Status(CurrentDate) & "¶" & Nu creëren we de SelfJoin-relatie: we leggen een link van het bestand naar zichzelf en gebruiken als key fields (de zogenaamde matching fields) DezeKlantVandaag en DezeKlantVorigeWeek. Nu nog de portal op het scherm zetten met de gewenste velden erin, en klaar is kees. Voor de videotape gaan we op dezelfde manier tewerk. We vervangen gewoon de KlantID door de code die we aan de videotapes geven.
Tweede methode: zie Tip 160. |
avd@avd-ci.be - contactformulier