2006

Feb

14

Av Rolf

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!

Kommentarer

2009-07-10 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.

2009-07-10 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 //

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.

Skriv en kommentar

Din epost-adress stannar hos oss.