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. Als u hulp nodig heeft bij het toepassen neem dan gerust contact op.

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

Actueel

Tijd anders invoeren: Deel 3/3

Geplaatst op: 6 december 2017 | Niveau: FileMaker Expert Training

Instellen scriptactivering

Als laatste in deze serie passen we de berekening van de vorige twee tips aan zodat het script ook gebruikt kan worden met het veldtype Tijdstempel. Weer een stapje complexer maar leuk voor liefhebbers van mooie berekeningen.

Bij een veld van veldtype Tijdstempel zullen we de ingevoerde datum en de tijd moeten scheiden, de tijd bewerken en weer samenvoegen met de datum.

De LeftWords en RightWords functies zijn niet bruikbaar voor het scheiden van datum en tijd omdat een datum ook met een schuine streep ingevoerd kan worden wat een woordscheiding is. Daarom wordt met de Left, Right en Position functies uitsluitend gekeken naar de spatie tussen datum en tijd.
Ook moeten we van het huidige veld achterhalen welk veldtype het is en dat kan met de functie FieldType. Tevens moet de volledige veldnaam bepaald worden, inclusief tabel(vermelding)naam, om ervoor te zorgen dat de berekening ook goed werkt met gerelateerde velden (bv. in een portaal).
In deze berekening zit bovendien een uitbreiding zodat zowel de komma als de punt gebruikt kan worden als decimaal scheidingsteken: 1,5 of 1.5 -> 1:30.

In de berekening zitten nog een paar toelichtingen als u de werking wilt doorgronden. Ook als u de berekening niet geheel wilt begrijpen, kunt u het gebruiken in uw eigen database. Succes!

Tijd anders invoeren: Deel 2/3

Geplaatst op: 28 november 2017 | Niveau: FileMaker Expert Training

Instellen scriptactivering

In de vorige tip van deze serie gaven we een berekening om een tijd gemakkelijker in te kunnen voeren. Deze tip sluit daarop aan en laat zien hoe de berekening met scriptactivering toegepast kan worden.

Het toepassen van de eigen invoer hoeft eigenlijk alleen als een gebruiker het veld in een lay-out bewerkt zodat het niet in de Automatisch Invoeren-berekening als veldoptie hoeft te staan. Als het veld een opgezochte waarde moet krijgen dan zit dat elkaar bovendien in de weg. In dat geval is het handiger - maar ingewikkelder - om Scriptactivering te gebruiken. In dit geval betekent het dat na het wijzigen van een veld een script uitgevoerd zal worden dat de invoer aanpast.

Hiervoor kan een algemeen script (bv. 'Tijd Invoer') gemaakt worden met de scriptstap Veld Instellen[] maar zonder doelveld op te geven. Dit zorgt er voor dat de berekening wordt toegepast op het huidige veld, waar de cursor in staat, zodat er maar één script nodig is voor een oneindig aantal veldobjecten.
Bij de optie Berekend Resultaat kan nu dezelfde berekening worden ingevoerd behalve dat de functie Self wordt vervangen door Get ( InhoudActiefVeld ) dat de inhoud van het huidige veld geeft.
Omdat de BijValidatieObject gebeurtenis een scriptresultaat verwacht behoort het script afgesloten te worden met de scriptstap Script afsluiten [ True ].

Bij elk veldobject waar u deze invoer toegepast wilt hebben, stelt u bij Scriptactivering het script in (een scriptparameter is niet nodig) voor de BijValidatieObject gebeurtenis. De berekening is ook geschikt voor gebruik in de Zoeken Modus (zonder zoek-operatoren) zodat u die optie kunt inschakelen. Scriptactivering van een lay-outobject instellen kan o.a. in de Lay-out Modus via menu Opmaak, Scriptactivering instellen.

In een volgende tip wordt getoond hoe de berekening aangepast kan worden voor gebruik met een Tijdstempel veld.

Tijd anders invoeren: Deel 1/3

Geplaatst op: 21 november 2017 | Niveau: FileMaker Gevorderden Training

Het intypen van een tijd kan in FileMaker maar op één trage manier. Deze truc geeft een berekening waarmee ook een tijd als 1,5 én als 130 ingevoerd kan worden.

Standaard vereist FileMaker de invoer van tijd met dubbele punten als scheidingsteken tussen uren, minuten en seconden. Snel invoeren van tijden is dan slecht mogelijk en vooral als er veel tijden ingevoerd moeten worden is dat vervelend.

Als u de tijd op een andere wijze wilt invoeren dan kan onderstaande berekening geplaatst worden bij de veldopties, tabblad Automatisch Invoeren, optie Berekende Waarde. Denk er aan dat de bijbehorende optie 'Bestaande waarde van veld niet vervangen' uit staat. Door het gebruik van de functie Self hoeft de berekening niet aangepast te worden.

De berekening negeert seconden en accepteert de invoer als uren en minuten. Een invoer van 1,5 wordt omgezet naar 1:30, 2,25 wordt 2:15 enzovoort.
Bij een invoer zonder dubbele punt en komma neemt de berekening de rechter twee cijfers als minuten en de andere als uren. De minuten mogen groter zijn dan 59 waarbij de uren verhoogd worden en ook mag de invoer korter zijn dan drie tekens. Een paar voorbeelden van invoer en het resultaat:
1 -> 0:01
12 -> 0:12
90 -> 1:30
112 -> 1:12
2112 -> 21:12
12112 -> 121:12

Dit voorbeeld gaat uit van een veld van veldtype Tijd, voor het veldtype Tijdstempel werkt het nog niet. Uiteraard kan een Eigen Functie (FileMaker Pro Advanced vereist) gemaakt worden om de berekening op één centrale plaats te hebben.
De berekening kan ook op een veld toegepast worden met scriptactivering en ook kan het aangepast worden voor het veldtype Tijdstempel, daarover meer in twee volgende tips.


Let ( [
  veldinhoud = Self ] ; 

  Case (
    // invoer bevat geen dubbele punt en wel een komma van decimale waarde
    Position ( veldinhoud ; ":" ; 1 ; 1 ) = 0 and Position ( veldinhoud ; "," ; 1 ; 1 ) > 0 ;
      GetAsTime ( Truncate ( GetAsNumber ( veldinhoud ) * 3600 ; 0 ) ) ;

    // invoer bevat geen dubbele punt van tijd waarde
    Position ( veldinhoud ; ":" ; 1 ; 1 ) = 0 ;
      GetAsTime ( Replace ( "000" & veldinhoud ; Length ( veldinhoud ) + 3 - 1 ; 0 ; ":" ) ) ;

    veldinhoud
  )
)

FM Boodschappen app mét schuifknoppen

Geplaatst op: 7 november 2017 | Niveau: FileMaker Kenniswerkers Training

FM Boodschappen app

Verrast dat het zo lang geleden was, maar in 2013 publiceerden we de Boodschappen app als een voorbeeld voor FileMaker Go op iPhone en iPad. Het was hoog tijd voor vernieuwing van opmaak en techniek: FileMaker 16 maakte de schuifknop eenvoudiger.

De opmaak is gemoderniseerd maar niet identiek aan iOS 11 zodat het ook met FM WebDirect toonbaar is op niet iOS-apparaten. Het thema waarin de opmaak is vastgelegd kunt u importeren in uw eigen database.

Er zijn verder kleine wijzigingen zoals extra velden voor aantal en prijs, om op te geven of om bij te houden. Ook krijgt de regel van een afdeling een groene kleur als alle boodschappen in die afdeling zijn gehaald (GetSummary functie). Als alle boodschappen zijn gehaald dan wordt het kopgedeelte groen als teken dat u naar de kassa kan gaan.

De schuifknop is niet standaard beschikbaar in FileMaker en in deze database zit een eigen implementatie die u eenvoudig in uw database kan overnemen.
Er zijn nieuwe afbeeldingen gebruikt, dankzij FileMaker 16 kon het vereenvoudigd worden en met de nieuwe lay-out objecten kiezer is het makkelijker aan te passen. Tevens is een algemeen script gemaakt dat er voor zorgt dat in de Zoeken Modus het veld leeg gemaakt kan worden terwijl in de Bladeren Modus alleen aan en uit mogelijk zijn.
Een uitgebreide toelichting over opbouw en aanpassen is te vinden in een tekst in de lay-out 'Boodschappen Formulier'.

Deze voorbeelddatabase kunt u gebruiken als inspiratie voor uw eigen mobiele database. Maar u kunt het natuurlijk ook gebruiken om thuis uw boodschappenlijstje samen te stellen en in de supermarkt af te vinken wat u gehaald hebt. Als u de database met Samengebruik deelt kunnen huisgenoten zelfs boodschappen toevoegen!

Eenvoudig openen van externe bestanden

Geplaatst op: 16 augustus 2017 | Niveau: FileMaker Gevorderden Training

Vanuit een FileMaker database kunt u ook eenvoudig bestanden en mappen openen. Of die net vanuit de database zijn geëxporteerd, door een ander programma gemaakt zijn of bij het besturingssysteem horen.

Het bijgesloten voorbeeldbestand laat zien dat als het bestandspad bekend is, met de scriptstap URL Openen[] een bestand geopend kan worden met het standaard programma. Mappen, waarvan het bestandspad geen bestandsnaam bevat en eindigt op /, worden geopend met de Finder/File Explorer.

De bestandspaden kunnen van afbeeldingen zijn, waarvan alleen het pad en de thumbnail daadwerkelijk geïmporteerd zijn, die buiten de database zijn opgeslagen.
Het kan ook gaan om een berekend pad naar een gedeelde map met een verzameling documenten die bij een relatie of project horen. Met een knop in een lay-out kan deze map eenvoudig vanuit de database geopend worden.

Als extra toevoeging bevat het script een voorbeeld om bestanden met .html en .php niet met een standaard programma te laten openen maar met een code-editor zoals BBEdit of Adobe Dreamwaver. De werking hangt sterk af van het gekozen programma en is niet gegarandeerd.

We hopen dat dit voorbeeld kan helpen om eenvoudig de database te koppelen met een foto-beeldbank, projectmappen of gewoon een eerder geëxporteerd PDF of ander document te openen.