Trigga manus...?

Tråden skapades och har fått 4 svar. Det senaste inlägget skrevs .
1

Hej,
jag har en kund-tabell med en relaterad kontaktpersoner-tabell. I kund-tabellen har jag två fält för att ange huvudkontaktperson (för- och efternamn). Jag skulle vilja få till en snygg funktion som, när jag anger huvudkontaktperson i kund-tabellen, skapar en post i kontaktpersoner-tabellen och fyller i det jag nyss angivit samt sätter en symbol som indikerar att detta är huvud kontaktpersonen. Det jag vill komma åt, antar jag, är hur jag triggar ett manus när ett fält ändras? Hade också varit snyggt om jag kunde förhindra inmatning i ett fält och sätta fältet till grått beroende på ett val i ett fält. T.ex. om användarn sätter kund till "privatkund" så förhindras inmatning i fältet företagsnamn och bakgrundsfärgen sätts till grå. Finns det något smart lösning hur man gör? Använder filemaker 8 och windows.

Många frågor. Kort svar: Du behöver FileMaker 9 för att göra detta, det har stöd för villkorsstyrd formatering (färga fält eller textinnehåll).

FileMaker saknar även triggers, du kan inte få FileMaker (utan plugins) att reagera på saker och ting, men FileMaker kan oavsett det avsaknden av triggers automatiskt skapa relaterade poster, göra beräkningar för att avgöra vilken bild som skall visas beroende på vilkor mm, allt du vill göra.

Men det är inte helt enkelt att förklara detta i ett foruminlägg. Men ett par pekare:

1. Du behöver en relation på ID_Kund mellan kunder och kontaktpersoner (löpnummer i kunder, numeriskt i kontaktpersoner) och den skall vara inställd på att automatiskt skapa poster i kontaktpersoner.

2. Lägg sedan ut relaterade fält från kontaktpersoner via den relationen i layouten för kunder. Detta betyder att så fort man fyller i något i dessa fält så kommer posten i kontakpersoner att skapas. Du behöver inte en portal för att skapa en post. Vill du kunna skapa flera poster, lägg ut en portal, samma relation och klicka på sista raden, fyll i, så skapas flera relaterade poster.

3. Du behöver ett beräkningsfält som kan visa rätt bild. Bilden i sig behöver lagras någonstans den med (tex i en separat tabell till vilken du har en konstantrelation (aka statisk relation), eller i ett repeterat fält osv... När du har den bilden så skall du göra ett beräkningsfält i kontakter som kollar om det finns några relaterade poster som innehåller samma förnamn och efternamn som denna post. Beroende på resultatet, så visar du olika bilder.

4. Förhindra inmatning gör man genom att styra rättigheter via beräkningar som tittar på vad som står inuti fält. Sedan behöver man manus för att stänga av och på redigeringen (som ändrar på värdet i fältet som styr om man kan ändra på infon).

5. Villkorlig formatering, finns i FileMaker 9, man högerklickar på fältet i layoutläge och fyller i ett villkor. Detta kan vara tex innehållet i fältet ovan osv.

Köp FileMaker 9 Advanced om du skall köpa något. Det är billigt i förhållande till vad det kan, promise!

Ahh, att jag inte tänkte på det... det var lättare än jag trodde. Jag sitter på adv. 8,5 men användarna har 8:an, inte riktigt aktuellt att uppgradera nu men det finns onekligen intressanta funktioner i 9:an.

Hmm... en uppföljningsfråga: hur byter jag huvudkontakt, alltså om jag har flera kontaktpersoner så visar huvudkontaktfältet i kundlayouten den kontakt jag skapade först. Jag vill kunna välja vilken konktakt som ska vara min huvudkontakt... Hur göra?

Tack för bra svar!

Om du vill kunna byta huvudkontakt så är relationer din kompis, kompis.

Börja med att skapa ett fält i kunder som heter ID_Kontaktperson_Huvudkontakt (Detta utläses ID, dvs ett löpnummer ur tabellen Kontaktperson, och det är just det ID till huvudkontakten). Skapa sedan en relation mellan detta fält och ID_Kontaktperson, men du skall göra den utifrån kontaktpersoner, den kan heta tex Kontaktpersoner_Kunder_ID_Kontakterson_Huvudkontakt.

Sedan behöver du ett manus som skall ligga i portalen i kunder som visar kontaktpersoner. Manuset skall läsa av ID_Kontaktperson när man klickar på en portalrad, och sedan peta in det i ID_Kontakterson_Huvudkontakt och verkställer posten.

Sedan behöver du i kontaktpersoner ett beräkningsfält som kollar om denna kontaktperson ÄR huvudkontakten. Det kan se ut så här:

If(Kontaktpersoner_Kunder_ID_Kontakterson_Huvudkontakt::ID_Kontakterson_Huvudkontakt = ID_Kontakterson; "Huvudkontakt"; "")

Detta utläses, om den post som kan hittas via denna relation där borta i kunder, har samma ID i ID_Kontaktperson i den här tabellen Kontaktpersoner, i så fall så skall det stå "Huvudkontakt" i det här fältet, i annat fall skall det inte stå någonting.

Lägg ut detta beräkningsfält i portalraden brevid knappen så kommer du att kunna se att det står huvudkontakt brevid en av posterna i portalen.

Nu kan man klicka på en knapp i portalen över kontaktpersoner för att göra den till huvudkontakt.

Tack så mycket taz, du spar mig mycket huvudbry! Ska genast prova!

1
Bevaka tråden