Ga naar inhoud
  • 0

Veranderen van kleur van een bereking na evaluatie


Bachje

Vraag

Beste mensen,

 

ik ben al een tijdje op zoek naar een 0plossing voor een, waarschijnlijk simpel, probleem maar ik kan het niet vinden.

Ik wil dat een totaal veld evalueerd of het boven een bepaalde waarde uit komt. Als dat zo is wil ik dat de kleur van het getal veranderd en vet wordt. Zoniet dan blijft het gewoon.

Ik heb de volgende formule geprobeerd maar die werkt niet. Het geeft echter wel een idee van wat ik wil.

 

If ( Sum ( Studiepunten aanwezig) ≥10 ; TextColor (TextStyleAdd ( Sum ( Studiepunten aanwezig); Vet) ; RGB ( 189 ; 19 ; 232 ) ) ; Sum ( Studiepunten aanwezig))

 

Ik heb wel in een container veld bij een soortgelijk probleem deze oplossing toegpast en daar werkt het wel! Het verschil is dat ik daar met count werk. Dat heb ik hier ook geprobeerd maar dat werkt ook niet.

 

If ( Count ( consultdd ) > 2 ; TextColor (TextStyleAdd ( Count ( consultdd ); Vet) ; RGB ( 189 ; 19 ; 232 ) ) ; ( Count ( consultdd ) ))

 

wie weet een oplossing?

Alvast bedankt voor het meedenken (ik werk overigens met Filemaker 8 advanced en mijn gebruikers met de gewone 8)

 

Franc

Link naar reactie

7 antwoorden op deze vraag

Aanbevolen berichten

  • 0

OP zichzelf klopt de berekening wel, alleen wanneer de vergelijking niet opgaat gebeurt er nu niets. In andere woorden de tekststijl blijft gehandhaaft. Door in je If statement Textstyleremove op te nemen als de vergelijking niet opgaat, wordt de tekststijl verwijderd.

 

Heb het niet getest en de vergelijking even uit de losse pols aangepast.

 

If ( Sum ( Studiepunten aanwezig) ≥10 ; TextColor (TextStyleAdd ( Sum ( Studiepunten aanwezig); Vet) ; RGB ( 189 ; 19 ; 232 ) ) ; TextstyleRemove ( Sum ( Studiepunten aanwezig); AllStyles ) ; RBG ( 0 ; 0 ; 0 ) ) )

Link naar reactie
  • 0

In FMPro 9 doe je dit met conditonal formatting: je bepaalt de stijlkenmerken voor het veld in het veld zelf. Als dat in versies lager dan 9 ook bestond, dan hadden we onze oude work arounds niet nodig gehad. Nu moet je via een apart calculatieveld werken met als result container en dat plaatsen onder je transparante numeriek veld. Twee velden dus. Hiermee verander je dan de achtergrondkleur. Dat is de gemakkelijkste methode.

Link naar reactie
  • 0

Beste mensen,

 

Allereerst bedankt voor het meedenken.

De oplossing van Eroos hielp niet maar bracht me wel wat verder in mijn denken.

De opmerking van AVD zette me aan het denken en bracht me op de volgende gedachten gang daar ik een voorbeeld had van het werken van een formule zonder container of tweede trtansparant veld. die oplossing zou mi niet werken daar ik niets in voer maar het een berekeningsveld is.

 

Ik begreep het dus niet helemaal maar ik heb ijverig verder zitten puzzelen.

 

Wat ik wil is dat, voor onze particuliere opleiding, wanneer onze studenten een bepaald aantal studiepunten behaald hebben het berekeningsveld van het totaal voor aanwezigheid een andere tesktkleur geeft zofdat we kunnen zien dat die student voor dat onderdeel zijn punten gehaald heeft.

 

Op een andere plek in dezelfde database, voor een ander studie onderdeel, heb ik een soortgelijke truc gedaan met een veld waarin ik count gebruikt heb:

 

If ( Count ( consultdd ) > 2 ; TextColor (TextStyleAdd ( Count ( consultdd ); Vet) ; RGB ( 189 ; 19 ; 232 ) ) ; ( Count ( consultdd ) ))

 

Waarbij het aantal keren dat een veld met een datum erin geteld wordt en als dat groter is dan 2 dan wordt de tekst paars.

Dat werkt, ook als gewoon veld op een kaart of in een lijst staat. Niks geen container of wat dan ook.

 

Wat mij nu verbaasde is datdezelfde truc niet werkte als ik "sum" gebruikte.

Ik snapte niet waarom.

In de handleiding en helpfile wordt vermeld dat de tekstopmaak functies niet werken als het iets anders betreft dan tekst. Terwijl mijn veld waarin het bovenstaande voorbeeld wel werkt een berekeningsveld is?!?

 

Ik heb toen geprobeerd om mijn berekening van het totaal aantal studiepunten (zie mijn eerste post van deze reeks) in één veld te laten berekenen en dan een speciaal ander veld de berekening als tekst te laten ophalen (get as text) maar ook dat werkte niet.

 

Als ik precies dezelfde formule toepaste op mijn studiepunten veld zoals ik dat met consultdd gedaan heb telde hij keurig maar hij paste mijn tekstatributen niet toe.

Rara hoe kan dat binnen één database (wel 2 tabelen).

 

Toen ik de aangepaste formule op de kaart zette, omdat ik dacht dat dat misschien zou helpen, in een nieuw veld, werkte het wel!!

 

If ( Sum (Studiepunten aanwezig ) > 8; TextColor (TextStyleAdd ( Sum ( Studiepunten aanwezig ); Vet) ; RGB ( 189 ; 19 ; 232 ) ) ; ( Sum ( Studiepunten aanwezig) ))

 

Ik werd steeds verbaasder. :roll:

Totdat ik besefte dat er een verschil was.

Op de kaart kreeg ik geen cijfers achter de komma als die er in de optelling niet was, en in de lijst wel.

Toen ik bij het veld in de lijst de getalsnotatie van 1 decimaal achter de komma naar behoud deze notatie omzette kreeg ik keurig gekleurde vakjes volgend de door mij opgegeven waarde.

Zet ik een specifiek getalsnotatie aan dan verdwijnt de kleur weer.

 

Probleem opgelost :D , nieuw probleem ontstaan :( :

 

Ik zou geraag mijn dedcimaal terug krijgen. Is dat in de formule te regelen?

Round of truncate lijkt niet te werken

 

Als ik dit doe:

If (Sum (Studiepunten aanwezig ) > 8;TextColor (TextStyleAdd (Truncate (Sum(Studiepunten aanwezig);2);Vet);RGB ( 189 ; 19 ; 232 ));( Sum ( Studiepunten aanwezig)))

krijg geen decimalen

 

Als ik dit doe:

Truincate(If(Sum (Studiepunten aanwezig ) > 8;TextColor (TextStyleAdd (Sum(Studiepunten aanwezig);Vet);RGB ( 189 ; 19 ; 232 ));( Sum ( Studiepunten aanwezig)));2)

krijg ik geen kleur meer.

 

Als ik de if buiten zet ook niet

if (truncate( enz.

 

Weet iemand een oplossing?

 

Alvast bedankt voor het meedenken

 

 

p.s. excuses dat ik deze vraag in het 9 forum heb geplaatst, niet goed opgelet.

aangepast door Gast
Link naar reactie
  • 0

Ik heb jou probleem proberen te reproduceren in een voorbeeld database. Ik kan niet anders concluderen dat het gewoon zou moeten werken. Zie voorbeeld. Zou je in dit voorbeeld eens willen aangeven waar het verschil zit met jou situatie.

 

Zodra ik een waarde aanpas veranderd het totaal keurig mee, zowel in kleur als in stijlkenmerk.

 

Deze is wel gemaakt in versie 8.5 maar dat mag niets uitmaken in dit geval... volgens mij.

tekstkleur.fp7

Link naar reactie
  • 0

Ik heb je voorbeeld gedownload en geopend. Nop, nergens kleur te zien.....

Het zou dus kunnen dat dat in versie 8 anders is geregeld.

Het gekke is dat in jouw database de dingen niet essentieel anders zijn dan bij mij behalve dat je de Tekststylremove gebruik. Die heb ik er voor het gemak even uitgelaten.

Als ik die in jouw voorbeeld weghaal krijg ik nog steeds geen kleur.

En dat terwijl ik het in mijn eigen database wel voor elkaar heb, maar daar geen decimalen achter de komma kan instellen in de getalsopmaak, dan verdwijnt de kleur weer.

Het ziet er naar uit dat we moeten gaan upgraden als ik dit wil oplossen.....

Hebben we jammer genoeg effe geen geld voor (moet dan een advanced, 3 gewone en een server opnieuw aanschaffen, dat loopt in de papieren)

 

Ik stuur, een leeggemaakt versie van mijn database mee.

Misschien kun je er nog iets zinnigs over zegggen?

het gaat om de velden

Studiepunten aanwezig totaal kleur in de tabel praktijk

(je zult bij het openen een foutmelding krijgen omdat hij nar een andere datbase verwijst voor adres gegevens, gwewoon negeren/anuleren en alles opent.

Dan kun je zien wat ik bedoel

zoals je zit is het punten aantal van record 1 keurig paars en van record 2 niet. als ik het veld in de lijst bij getalsnotatie instel op 1 of 2 decimalen, verdwijnt de kleur.

Als je naar de patiënten lijst gaat zul je hetzelfde zien bij het eerste patiënten record laatste kolom keurig paars de andere niet.

Als ik daar de gatalsnotatie veranderd verdwijnt de kleur ook.

Ik ben benieuwd of dat bij jou in 8.5 ook zo is.

Praktijk Kloon.fp7

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...