Arnoud Posted June 22, 2003 Posted June 22, 2003 Ik heb twee veldjes: veld1 [getal] veld2 [tekst] en het volgende script: If(veld1>5 ; veld2="ja"; veld2="nee" ) End If Als ik in veld1 het getal 6 invoer en ik run de script dan zou er toch in veld2 het woordje nee moeten verschijnen. Wat doe ik verkeerd? Quote
0 eurotouring Posted June 22, 2003 Posted June 22, 2003 if then else if veld1 > 5 dan moet hij nee invullen anders moet hij ja invullen dus zetten we nee als eerste optie en ja als 2de optie Quote
0 Arnoud Posted June 22, 2003 Author Posted June 22, 2003 Sorry Eurotouring het werkt nog steeds niet. Het probleem is niet dat "ja" en "nee" omgedraaid zouden moeten worden. Ben ik trouwens niet met je eens, want de eerste waarde is toch altijd TRUE en de tweede FALSE. Als ik die fout had gemaakt had ik daar snel zelf achtergekomen... Nee, het probleem is dat er helemaal geen waarde in veld2 verschijnt. Ik denk dat dit een beperking is van FMP. Ik heb trouwens eerst een IF aangeroepen en toen in de calculatie ook weer een IF gebruikt. Volgens mij kan je niet in een calculatie waarden toewijzen aan andere velden (behalve het calculatieveld zelf), of zit ik ernaast? wie of wie? Het volgende werkt natuurljik wel: If ["veld1>5] Veld instellen ['veld2','''ja'''] else Veld instellen['veld2','''nee'''] End If Quote
0 eurotouring Posted June 22, 2003 Posted June 22, 2003 het is toch niet nodig om een script te gebruiken veld 2 moet een berekeningsveld zijn, hierin gebruikt ge de formule if then Quote
0 Arnoud Posted June 22, 2003 Author Posted June 22, 2003 Bedankt voor het meedenken. Ik ben er intussen achter dat de formule in het script alleen maar werkt in een calculatieveld, maar op zich geen ramp. Tuurlijk kan ik "ja" en "nee" laten genereren door een calcualieveld, alleen wil ik later handmatig de inhoud van het veld kunnen wijzigen, en DAT kan dan niet. Vandaar dat ik aan het experimenteren ben geslagen. gr. Arnoud Quote
0 AvD Posted June 22, 2003 Posted June 22, 2003 If(veld1>5 ; veld2="ja"; veld2="nee" ) End If Als ik in veld1 het getal 6 invoer en ik run de script dan zou er toch in veld2 het woordje nee moeten verschijnen. Wat doe ik verkeerd? Goede vraag, en simpel antwoord. Je gebruikt het verkeerde middel (een operator i.p.v. een functie). Ik heb ooit geprobeerd modderrijk te worden door op de muur te kalken AVD = miljardair. En dat bleek ook niet te werken. Je verandert de inhoud van een veld niet met een gelijkheidsteken (dat is een operator), maar met een SetField (en dat is een functie). Probeer dat maar eens, dat werkt wél. Quote
0 Arnoud Posted June 22, 2003 Author Posted June 22, 2003 Bedankt voor de reaktie. Dat klopt, helmaal waar. Had ik al geprobeerd met die setfields, zie boven, maar ja op een gegeven moment denk je dat alles kan... Quote
0 AvD Posted June 22, 2003 Posted June 22, 2003 (edited) Toch misschien best een en ander verduidelijken: Ik ben er intussen achter dat de formule in het script alleen maar werkt in een calculatieveld Dat is niet waar en eigenlijk is het zelfs andersom. (1) Formules in scripts werken perfect in ALLE veldtypes (uitgez. de calc fields), tenminste als ze correct geformuleerd zijn. (2) Een formule (dwz een calculatie) in een script krijgt nooit voorrang op de calculatie-formule in de velddefinities. Nu het eigenlijke opzet, datgene waarover het ging: indien je "Ja" of "Nee" automatisch wil doen verschijnen via een calculatie, terwijl je ook zelf die "Ja" of "Nee" wil kunnen invullen met een script en een bijbehorende button, dan kan dat perfect: het volstaat een tussenveldje te creëren waarin je met SetField een "Ja" of een "Nee" kunt zetten via een script. Stel dat dat tussenveldje "Handbediend" zou heten, dan wordt de calculatieformule: If(Veld1 > 5 or Handbediend = "Ja"; "Ja";"Nee") Op die manier laat je die "Ja" afhangen van twee verschillende voorwaarden die elk apart geldig zijn. HTH Edited June 22, 2003 by Guest Quote
0 Arnoud Posted June 22, 2003 Author Posted June 22, 2003 Mijn uispraak was ietwat vaag dat geef ik toe. Ik bedoelde natuurlijk dat er na de IF-check niet weer een check of een toewijzing aan een veld! kan volgen in RESULTAAT1 en RESULTAAT2 etc. Hartelijk dank voor je uitstekende uitleg. Hierdoor gescherpt viel het me op dat je een " te weinig hebt getypt in de voorbeeld formule, net zoals ik zelf deed overigens! Nogmaals dank voor tijd en uitleg. A. Quote
0 AvD Posted June 22, 2003 Posted June 22, 2003 Je hebt gelijk. De fout is ondertussen verbeterd en de schuldige op gepaste manier gestraft (gegil gehoord?). Quote
Question
Arnoud
Ik heb twee veldjes:
veld1 [getal]
veld2 [tekst]
en het volgende script:
If(veld1>5 ; veld2="ja"; veld2="nee" )
End If
Als ik in veld1 het getal 6 invoer en ik run de script dan zou er toch in veld2
het woordje nee moeten verschijnen.
Wat doe ik verkeerd?
9 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.