Skapa fri sökfunktion

Tråden skapades och har fått 5 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • International user
  • 2008-08-12 14:21

Sommarledighet över, och dags att fundera över alla klurigheter inom Filemaker igen.

Jag har en layout som heter Inventarier.
I denna skulle jag vilja ha ett sökfält, där den helt enkelt söker i en inventarietabell som jag har, och sökningen ska göras i samtliga fält inom inventarietabellen. Resultatet kan gärna visas som tabell, men problemet är att söka inom samtliga fält.

Möjligt? Mina tidigare frågor har alltid varit möjliga att genomföra, ibland lite svårare än jag tänkt mig (ex min fråga om hemsida) men jag får alltid bra och utförliga svar!

Tack för ordet,
Tina.

Hejsan Tina, välkommen tillbaka! Glöm inte bort att ge feedback i de trådar där det skrivits medans du varit borta, tex denna: http://www.99.se/filemaker/243619-m-jligt-med-hemsida.html

Du glömde berätta en sak, står du i inventarietabellen eller står du i någon annan tabell. Vill du kunna göra en fritextsökning (söka på vad som helst) eller en mera styrd (söka på specifika nummer, ord). Vill du kunna söka via relationer eller skall FileMaker gå i sökläge? Vilken version av FileMaker du kör glömde du också.

Att göra ett sökfält för allt åstadkommer man genom att helt enkelt sammanfoga ihop alla fälten du vill kunna söka i. I inventarietabellen skapar du ett nytt fält "Supersökfält_C" (C för beräkning) och som beräkning har du tex

Inventarienummer & "¶" &
Beskrivning & "¶" &
Artikelnummer & "¶" &
Tillverkare & "¶" osv...

Beräkningsresultat: Text

Sedan skapar du ett manus som ligger på knappen "Sök" brevid sökfältet som tar vad användaren skrivit i sökfältet (ett variabelfält), lagrar det i en varibel, hoppar till tabellen Inventarier, går i sökläge, tilldelar supersökfältet_C variabeln, gör utför sökning och presto har du resultatet.

Vill du dessutom visa resultatet i en portal, så måste du göra lite mera, tex märka alla hittade poster med ett kryss eller något i ett fält (ersätt fältinnehåll heter funktionen). Baserat på en konstantrelation mellan tabellen användaren egentligen står i och tabellen inventarer så visas sedan sökresultaet (de märkta posterna).

Vill du söka med relationer så menar du en portal filter funktion, sådana har jag byggt massa gånger och det finns beskrivna i trådar här.

Skall leta lite...

Edit: Hittade tråden i vilken jag beskrev hur man söker i portaler.
http://www.99.se/filemaker/225485-s-ka-i-relaterat-register.html

Senast redigerat 2008-08-12 20:58
  • Medlem
  • International user
  • 2008-08-13 08:04

Ja, jag tyckte att jag var tydlig i min fråga, läste till och med flera gånger igenom den innan jag skickade, men tänk så fel jag hade! Jag använder mig av 8,5, HAR 9 men av okänd anledning inte uppdaterat ännu.

Jag var till och med förutseende och letade bland gamla diskussioner innan jag kastade ut min fråga. Den tråd du tipsade om var riktigt bra, och något jag ska lägga i huvudet för framtiden, men i nuläget tror jag faktiskt den hjälp du gav här ovanför var precis vad jag behövde. Svårare än så var tydligen inte min fråga.

Jag frågar visst alltid om det är "Möjligt" att göra. Jag har nu lärt mig, att allt är möjligt, men för min del inte utan hjälp.

Ska direkt lägga in min nya supersök!!!

Ledsen om jag verkar tjatig, men för mig vars tid här på forumet till 99% handlar om att hjälpa andra och 1% att få hjälp, så har hela sommaren varit den ena tråden efter den andra med noll upplysningar i frågan så man får lirka och dra ur frågeställaren vettig information som borde stå i första inlägget. Nästan alla verkar tro att så fort man skriver ett inlägg så öppnas ett litet maskhål i rymden ovanför axeln så att alla som läser inlägget därigenom kan se vad som pågår på den egna skärmen. Vilket ju är helt fel, maskhålet öppnas alltid i taket ovanför sängen och det är för långt bort för att kunna läsa på skärmen.

Ännu mera tröttsamt är de som gnäller över hjälpen de får, tex denna kille senast:
http://www.99.se/vrig-programvara/248616-program-f-r-att-d-pa-om-mp3-filer-s-kes.html

På förekommen anledning startade jag därför denna tråd för länge sedan:
http://www.99.se/feedback/93895-varf-r-skall-vara-sn-ll-n-r-st-ller-fr-gor.html
(Den är kul och värd att läsa...)

Om du har letat i gamla inlägg är det också bra att man nämner det. Det är helt ok att inte hitta något när man letar, men att inte leta är inte så bra. Nämn att du letat så blir vi "veteraner" så glada så och du slipper svaret: "Sök först".

För att återgå till ämnet: Nackdelen med supersök är att samma data förekommer på flera ställen i samma tabell. Det är ett "brott" mot databasdesignregeln nr 1 "Lagra data endast en gång". Men regeln kommer från en tid då hårddisk var dyrt, datorer långsamma och från den mörka tiden innan FileMaker fanns.

Gör du ett sådant fält, så kommer din databas alltså att växa, kanske fördubblas då alla text-data lagras en gång till och dessutom indexeras, vilket tar ännu mera plats. Men det är i regel ingen större fara, hårddisk är ju billigt numera.

Tänk dock på att bara ta med fält i beräkningen som finns i denna tabell, inte relaterade fält eller beräkningsfält som inte kan lagras. Annars blir sökningen otroligt långsam då dessa saker gör att index inte kan skapas.

Jag har en tråd om prestanda i FileMaker här:
http://www.99.se/filemaker/246550-prestanda-i-s-kningar-i-filemakerdatabas-med-miljoner-poster.html

En nyare:
http://www.99.se/filemaker/247628-optimera-f-r-hastighet.html

Lycka till och ställ mera frågor, det är roligt med frågor.

Senast redigerat 2008-08-13 14:55
  • Medlem
  • Stockholm
  • 2008-08-13 14:10
Ursprungligen av Taz_1999:

maskhålet öppnas alltid i taket ovanför sängen och det är för långt bort för att kunna läsa på skärmen.

precis, men det vet väl alla normalbegåvade

Nu när Filemaker Pro 10 har kommit så har funktionen med Triggers öppnat en del nya möjligheter. Tex att kunna skapa just sådana supersökfält som liknar Google. (Här menar jag mest att man kan trycka på retur och därmed trigga ett manus, som gör sökningen). Du kan se ett kul lösning (som man kan köpa och peta in i sin egen databas) på denna adress:

SeedCode: New fmSearchResults

1
Bevaka tråden