2006

Feb

14

Av

Sökmöjligheterna i datumfält i FileMaker 8 är oanade, det är till och med att man som gammal FileMaker-utvecklare höjer på ögonbrynen och undrar: hur går det till?

Sökning på datumintervall har ju alltid gått, t.ex. “2006-01-01…2006-01-31″ söker fram alla datum mellan 1 jan och 31 jan 2006. 

Enklare är att söka efter “2006-01″, dvs. alla datum i januari. Resultatet blir det samma som att söka efter intervallet i exemplet ovan. Väljer du kommandot Sök vidare ser du att FileMaker med automatik lägger till en asterisk i söksträngen så att det blir “2006-01-*”.

Söker du efter “2006″ hittar du med automatik alla datum med innevarande år (FileMaker lägger till så att söksträngen blir “2006-*-*”). Söker du efter “03″ hittar du alla datum i mars 2006, FileMaker söker efter “2006-03-*”.

Ännu mer spännande blir det om du själv skriver in asterisker, t.ex. “*-03-*”. Då hittar du alla datum i mars oberoende av årtal, vilket gör det oerhört enkelt att göra jämförande rapporter över flera år. Eller varför inte “*-*-01″ som hittar alla datum den första i varje månad oavsett år.

Till sist sparar jag intervallsökning med veckodagar, t.ex. “må…fr” som hittar alla datum som infaller på vardagar eller “lö…sö” som hittar lördagar och söndagar.

Dessutom är alla dessa sökningar indexerade, det går med andra ord snabbt också. Som sagt, ibland förundras man över hur enkelt det kan vara!

3 kommentarer till ”Sökning i datumfält”

  1. Rolf

    Enklast är att göra ett beräkningsfält som returnerar veckonumret, t.ex.:

    Vecka = WeekOfYearFiscal(datum;2) // 2 = en vecka börja på måndag

    Sök sedan i fältet Vecka för att hitta alla poster med datum i veckan med ett manus, t.ex.:

    Sök []
    Tilldela fält [Vecka; WeekOfYearFiscal (Get ( AktuelltDatum );2)]
    Utför sökning []

    Tänk på att söka efter årtal också så att du inte får med samma poster samma vecka nästa år.

    Reply
  2. peter

    Hur gör man för att få fram alla dagar från mån – fred under innevarande vecka.
    Försöker lägga i en rapportfunktion i ett ordersystem med ett manus som skall
    leverera en rapport på veckans arbeten. Så på en måndag skall jag få upp mån-fred, på tis tis-fred osv.

    Reply
  3. peter

    Tror att detta kommer att fungera. körde manuset och fick bara fram dagens ordrar (Idag fredag ). Får kolla mer på måndag

    må…fr // Reply

Skriv en kommentar

  • (will not be published)
  • one × 3 =

Läs också: