Vill inte ha med tomma fält

Tråden skapades och har fått 7 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • International user
  • 2008-04-30 13:11

Jag har en kundlista med det vanliga, namn adress och sådär. Jag har även ett fält där den totala fakturerade summan till kunden står. Nu har jag gjort en lista i en ny layout, med hjälp av en portal.

Jag vill alltså ha en lista med endast namn och fakturerad summa. Vilket egentligen fungerade bra att göra.

Mitt problem är att då följer ALLA kunder med, även sådana som inte blivit fakturerade på länge. Jag vill att om fältet med den fakturerade summan e TOM så ska inte heller kundens namn följa med till portalen. Är det möjligt, eller borde jag gjort på annat sätt än portal?

Mvh

Tina

Välkommen TinaS!

Du säger inte vilken version av FileMaker du har så jag antar version 9 (eller i alla fall version 7 och framåt).

I de versionerna kan du i relationen som portalen baserar sig på använda dig av mer än ett villkor, tex skulle du kunna ha villkoret "aktuell kund" och "fakturering större än 0". Mera konkret betyder det att du följer regel 1 för relationer, om du har något som är lika i två fält i varsina tabeller, så kan du koppla ihop dem, dvs relatera dem till varandra.

Har du fältet Rel_Ja (ett beräkningsfält som innehåller beräkningen "Ja" och som används i relationen för portalen, därav namnet, Rel som i relation och Ja, vad det innehåller) och i din kundtabell har du fältet Status_Aktuell_Kund som innehåller Ja eller Nej (alternativknappar tex), så får du i en portal baserad på Rel_Ja på ena sidan och Status_Aktuell_Kund på andra sidan fram alla aktuella kunder i din portal.

Om du vill bygga vidare på detta och bara få fram alla kunder som har mer än 0 kronor i fakturering, så kan vi lägga till fältet Rel_Noll som innehåller beräkningen 0 och på andra sidan i kunder ha Summa_Fakturering. Sedan lägger vi till ett villkor i samma relation, Rel_Noll > Summa_Fakturering. Då får du i portalen fram alla som både är aktuella kunder och har mer än 0 i fakturering.

Det kan tillkomma lite smågrejer när man bygger en sådan här sak, tex antar jag att du inte har siffran för fakturering i tabellen kunder utan i en annan tabell, tex Order, men det är bara en liten enkel sak du behöver göra i ett manussteg för att lagra faktureringen i kunder, så att den kan användas i en relation. (Relaterade värden kan inte användas i relationer, inte heller beräknade värden på höger sida i relationen).

Har du tidigare versioner av FileMaker, tex 4, 5, 6 går det att göra en sådan här sak där med, men på ett lite annat sätt.

Senast redigerat 2008-05-06 10:45
  • Medlem
  • International user
  • 2008-05-06 07:19

Tack

för ditt svar!! Du förstod precis vad jag menade. Jag ska testa din teori redan idag! Jag har FileMaker 8,5 så då borde dina förslag stämma!

Mvh
TinaS

  • Medlem
  • International user
  • 2008-05-06 14:08

..."enkel sak du behöver göra i ett manussteg"... skrev du om, den biten tror jag du behöver ta lite noggrannare för min del. Har gjort allt, men står att index saknas, och jag antar det beror på fakturasumman. Jag har den summan i kundlistan, och den är gjord som en beräkning från relaterade fakturor.

TinaS

Jag aldrig sett din databas, så jag vet inte vilka tabeller, fält och relationer du har. Du måste alltså förklara det i din fråga om jag skall kunna ge bra svar.

Om jag förstår dig rätt så har du en tabell "Kunder" och i den finns ett fält "Ordersumma" som är en beräkning. Den beräkningen tittar via en relation bort till tex tabellen Order som har ett fält ordersumma. Det fältet i sin tur tittar kanske bort mot Orderader via en relation och summerar summorna på orderraderna. Denna beskrivning är utifrån hur det brukar vara, jag vet som sagt inte hur din databas ser ut.

Det här betyder att i kunder så försöker du göra något icke tillåtet, dvs basera en relation på ett värde som är lagrat tre tabeller "bort" från denna. Kedjan är ju Kunder -> Order -> Orderrader, och det är i den senare som värdet faktiskt lagras.

Men, lätt fixat, du har nästan allt du behöver på plats redan, du har relationer mellan kunder och order och mellan order och orderrader.

Det du behöver göra är att skapa ett nytt fält i Kunder, ett numeriskt fält som kan innehålla ordersumman, vi kan kalla det Ordersumma_lagrad, för att skilja det från Ordersumma_beräknad_via_relation.

Det fältet skall uppdateras via ett manus som har stegen du ser i bilden. Du kan lägga det på en knapp, eller så kan man köra det när databasen öppnas eller stängs (titta under Arkiv > Filtillval).

Relationen mellan kunder och order bygger på ID_Kund (kundnummer, löpnummer), så enligt mitt system för att döpa relationer: TabellenJagStårI _ TabellenJagTittarMot _ FältetJagTittarMed (med _ som skiljetecken), så får den namnet:

  • Kunder_Order_ID_Kund

Beräkningen du skall använda i "Ersätt fältinnehåll" är alltså

  • Sum(Kunder_Order_ID_Kund::Summa Order)

Lycka till!

P.S. Vill du eller någon annan som läser detta, ha den exempel-databas i FileMaker 9 jag har använt för att göra skärmdumparna så hittar du kontaktmetoder till vänster, klicka de färgglada ikonerna.

Senast redigerat 2008-05-07 16:19
  • Medlem
  • International user
  • 2008-05-08 09:05

Perfekt!


Tack för all hjälp!!
FileMaker är det roligaste program jag jobbat med, även om jag är rätt ny på det hela. (Började i oktober 2007) Och ingenting är väl roligare när man får något att fungera som man funderat och jobbat på! Tyvärr är jag den enda som jobbar med programmet på mitt jobb, så man har ingen att bolla ideérna med...
Nu fungerar det precis som det ska, och det du lärde mig nu kommer jag ha nytta av vid mitt nästa projekt! Dvs ordna alla underleverantörer i liknade lista!... Tack!

TinaS

Varsågod, kul att det fungerade för dig.

Om du är intressad av ämnet portalfiltrering, alltså att påverka vad som visas i en portal med hjälp av menyer och sökrutor ovanför den så kanske denna tråd är av intresse?

Söka i relaterat register

Hör av dig igen med nya frågor, du har rätt i att FileMaker är väldans kul!

Jag kan bara hålla med... Filemaker är verkligen gränslöst... Jag har pysslat med det sen 1992 och är fortfarande fascinerad av allt som man med lite fantasi kan åstadkomma...

1
Bevaka tråden