Ga naar inhoud
  • 0

case met meer dan twee voorwaarden werkt niet?!


Marco H.

Vraag

De waarde "order_betalingsconditie" wordt ingegeven door keuzevakjes. Ik gebruik een case;

 

Case ( order_betalingsconditie = "1" ; "dit is waarde 1" ; "2" ; "dit is waarde 2"; "3" ; "dit is waarde 3" ; "")

 

Als ik de derde voorwaarde weglaat werkt het prima. Maar vanaf de derde voorwaarde werkt het dus niet. Ik kan toch meer dan twee voorwaarden in een case opnemen?

 

Wat doe ik niet goed...

Link naar reactie

10 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Klopt, met Case kun je heel veel voorwaarden opnemen, mits je wel steeds met Case begint.

 

Case ( order_betalingsconditie = "1" ; "dit is waarde 1" ;

Case ( order_betalingsconditie = "2" ; "dit is waarde 2" ;

Case ( order_betalingsconditie = "3" ; "dit is waarde 3" )))

 

In de formule die jij gebruikt ga je uit van de If-fomule

If ( order_betalingsconditie = "1" ; "dit is waarde 1", else "dit is waarde 2"

Link naar reactie
  • 0
Case ( order_betalingsconditie = "1" ; "dit is waarde 1" ; "2" ; "dit is waarde 2"; "3" ; "dit is waarde 3" ; "")

moet volgens mij zo:

Case (
order_betalingsconditie = "1" ; "dit is waarde 1";
order_betalingsconditie = "2" ; "dit is waarde 2";
order_betalingsconditie = "3" ; "dit is waarde 3";
"")

Het kan dus best in één statement en dat is ook gebruikelijk.

Verder zal de Case vermoedelijk stoppen bij de eerste voorwaarde die klopt, dus de volgorde kan soms heel belangrijk zijn.

 

Je kan ook and/or ed. in je voorwaarde gebruiken.

Link naar reactie
  • 0

Goed dat er op het forum zo snel en vaak zo goed geantwoord wordt. Dank ook aan Rony die er de Choose-oplossing nog aan toevoegt. Toch had ik graag een meer nadrukkelijke correctie gezien op het bericht van Hiker. Wat op het forum staat, blijft er in principe op staan, en Google zorgt er wel voor dat het ook gevonden wordt. Daarom moeten we ook waken over de kwaliteit van de informatie. Die is niet altijd 100%. No offense intended, zeker niet, maar als Hiker even de online help had geraadpleegd, had hij gezien dat hij de vraagsteller met een foutieve syntaxis de verkeerde weg opstuurt. Daarom uitdrukkelijke dank aan Gido die de verkeerde tip van Hiker corrigeert.

Link naar reactie
  • 0

Mijn excuses voor de "foute" vermelding.

Ik was tussen het werk door even op het forum en heb het zonder te controleren even ingetypt.

Ik ben het met AvD eens dat informatie op het forum moet kloppen.

Dat de syntax verkeerd is ben ik het echter niet mee eens, zo gebruik het het zelf namelijk ook. Bij keuzevakjes heb je namelijk een beperkte keuze: 1,2,3. Deze drie waarden kun je dus verwerken.

Bij een vrije invoer met keuze 1,2,3 of iets anders, laat je de 4de optie open voor alles wat anders is dan 1,2 of 3. Daarmee heeft Gido helemaal gelijk.

Mijn vermelding is dus eerder onvolledig dan fout.

 

De Choose functie gebruik ik minder vaak: bij het terugzoeken in velddefinities is niet te zien "order_betalingsconditie" voor waarde moet hebben om "dit is waarde1" als uitkomst te krijgen. Bij de Case functie zie je direct dat waarde 1 uitkomst Dit is waarde1 met krijgen. Dat heeft dan mijn voorkeur.

Link naar reactie
  • 0
Dat de syntax verkeerd is ben ik het echter niet mee eens, zo gebruik het het zelf namelijk ook.

 

FM zal de gebruikte notatie goedkeuren: elke test in een case kan weer een case op zichzelf zijn, maar de case-functie heeft een andere opzet.

 

De helptekst van FM geeft de volgende notatie:

Case ( test1 ; resultaat1 [ ; test2 ; resultaat2 ; standaardresultaat]... )

Hierin komt geen herhaling van 'case' voor en dat is ook niet nodig.

De manier waarop jij het formuleert is nodig als je de if-functie gebruikt: die kent maar 1 test en moet daarom worden genest.

 

Kijk ook maar naar de voorbeelden die erbij worden genoemd.

 

http://www.filemaker.nl/help/FunctionsRef-32.html

 

rmw

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...