Tips en trucs over FileMaker met code, afbeeldingen of te downloaden bestanden. Als u zelf in FileMaker programmeert dan kunnen deze u wellicht helpen. Volg ons om nieuwe tips & trucs te ontvangen.

De bestanden openen automatisch met volledige toegang zodat u alle tabellen, velden, scripts, enzovoort kunt bestuderen, aanpassen en overnemen.

2019

Een portaal sorteren op een gerelateerd veld

27 maart 2019 | Niveau: FileMaker Gevorderden Training

Sorteervolgorde van een portaal met velden uit meerdere tabellen.

De records in een portaal willen sorteren op een (lager) gerelateerd veld? Dat kan normaal niet maar er is toch een mogelijkheid waarmee een extra veld voorkomen wordt en het is net zo snel.

Ga daarvoor naar de Portaal-instellingen (bv. dubbelklikken op de portaal) en normaal gaat u dan naar de optie 'Portaal sorteren' om de sorteervolgorde op te geven.

Maar voordat u dat doet, kies dan bij 'Records tonen uit' voor de lagere tabelvermelding. Ga dan naar 'Portaal sorteren' en voeg het gewenste veld aan de sorteervolgorde toe. Daarna kiest u bij 'Records tonen uit' weer de originele tabelvermelding.

Een voorbeeld: er is een portaal voor 'Artikelen' die een leverancier kan leveren en bij de artikelen wordt met een sleutelveld Categorie ID verwezen naar een lagere tabel van 'Artikelcategorieen'.
Omdat u de artikelen ook wilt sorteren op de naam van een categorie kunt u het veld met de categorie-naam in de sorteervolgorde opnemen zoals hierboven is beschreven.

Sneller openen van database

27 februari 2019 | Niveau: FileMaker Basis Training

Bestandsopties met opgeven lay-out

Mogelijk kan het openen van uw database aanzienlijk versneld worden door één instelling te wijzigen.

Een database opent in eerste instantie met de oudste lay-out. Als daarop portalen met veel gerelateerde records, niet-opgeslagen berekeningen en Resume-velden worden gebruikt dan kan dit veel tijd kosten. Zonder dat de gebruiker het ziet en zonder dat het nut heeft. Vooral met een trage verbinding kan dit vervelend merkbaar zijn.

In het Startscript naar een andere lay-out gaan met de scriptstap Ga naar Lay-out[] heeft daar geen effect op. In plaats daarvan moet u bij de bestandsopties de gewenste lay-out opgeven. Bijvoorbeeld een lay-out met minder zware objecten, wellicht alleen het bedrijfslogo?

De optie vindt u via het Bestand menu, onderdeel Bestandsopties. In het tabblad Openen ziet u de keuze 'Naar lay-out gaan'. Geeft u daar een eenvoudige lay-out op en wellicht dat het openen van de database dan voor alle gebruikers merkbaar sneller gaat?

Rekenen met de feestdagen

18 februari 2019 | Niveau: FileMaker Gevorderden Training

Hoe kan FileMaker bepalen of het een nationale feestdag is? Bijvoorbeeld voor een planning of een kalender met openingsdagen? Nu ook voor carnaval...

De vaste feestdagen zijn heel eenvoudig maar een aantal wordt hieronder toch even genoemd. Dodenherdenking en Bevrijdingsdag zijn op dezelfde manier te berekenen.
Een aantal nationale feestdagen zijn gebaseerd op christelijke feestdagen en die hangen af van de maankalender. Pasen is daarbij leidend en als we de datum daarvan weten, dan zijn Goede Vrijdag, Hemelvaart en Pinksteren eenvoudig af te leiden. De eenvoudigste berekening voor Pasen is alleen geldig voor de periode 1900-2099 maar meestal voldoende.

Hieronder volgen alle berekeningen waarbij 'jaar' het getal met het gewenste jaar is. Het uitkomsttype is in alle gevallen Datum.


DatumFeestdagKerst = Date ( 12 ; 24 ; jaar )
DatumFeestdagOudjaar = Date ( 12 ; 31 ; jaar )
DatumFeestdagNieuwjaar = Date ( 1 ; 1 ; jaar )

DatumFeestdagPasen = 
Let ( [
  temp1 = Mod ( ( 225 - ( 11 * Mod ( jaar; 19 ) ) ) - 21 ; 30 ) ;
  temp2 = ( temp1 + 21 - ( temp1 + 21 > 48 ) ) ;
  paasdagen = temp2 + 7 - ( Mod ( jaar + Int ( jaar / 4 ) + temp2 + 1 ; 7 ) ) ] ;

  If ( jaar >= 1900 and jaar <= 2099 ;
    Date ( 3 ; paasdagen; jaar );
    GetAsDate ( "" ) // GetAsDate() hoeft tegenwoordig niet meer
  )
)

DatumFeestdagCarnaval = DatumFeestdagPasen - 49
DatumFeestdagGoedeVrijdag = DatumFeestdagPasen - 2
DatumFeestdagHemelvaart = DatumFeestdagPasen + 39
DatumFeestdagPinksteren = DatumFeestdagPasen + 49