Jump to content
  • 0

Berekening met voorwaarde


milan2006

Question

Posted

Heb in een veld de volgende berekening:

 

Let(cLeeftijd = Date( Month( Geboortedatum ) ; Day( Geboortedatum ) ; Year( Get ( HuidigeDatum ) ) ) ;

(Year( Get ( HuidigeDatum ) ) - Year( Geboortedatum ) - 1 ) + (Get ( HuidigeDatum ) >= cLeeftijd) )+1

 

Deze berekening moet worden uitgevoerd als waarde veld A=0 en als waarde veld A>0 dan

 

Let( cLeeftijd = Date( Month( Geboortedatum ) ; Day( Geboortedatum ) ; Year( Get ( HuidigeDatum ) ) ) ;

(Year( Get ( HuidigeDatum ) ) - Year( Geboortedatum ) - 1 ) + (Get ( HuidigeDatum ) >= cLeeftijd) )

 

Heb het geprobeerd met de if functie en case functie maar krijg constant de melding te veel parameters.

 

Wie kan me helpen.

4 answers to this question

Recommended Posts

  • 0
Posted

meestal een kwestie van duidelijker opschrijven zodat je kunt zien welk beginhaakje bij welk eindhaakje hoort en welke puntcomma bij welke functie. bijvoorbeeld zo:

 

case
(

// case 1
A=0 ;

// berekening 1
Let
(
cLeeftijd = Date ( Month ( Geboortedatum ) ; Day ( Geboortedatum ) ; Year ( Get ( HuidigeDatum ) ) ) 
; 
( Year ( Get ( HuidigeDatum ) ) - Year ( Geboortedatum ) - 1 ) + ( Get ( HuidigeDatum ) >= cLeeftijd ) ) + 1
) // end let

;

// case 2
A>0 ;

// berekening 2
Let
(
cLeeftijd = Date ( Month ( Geboortedatum ) ; Day ( Geboortedatum ) ; Year ( Get ( HuidigeDatum ) ) ) 
; 
( Year ( Get ( HuidigeDatum ) ) - Year ( Geboortedatum ) - 1 ) + ( Get ( HuidigeDatum ) >= cLeeftijd )
) // end let

) // end case

 

ik heb in je berekening overigens >= vervangen door ≥ en ik heb niet gecontroleerd of de berekening geaccepteerd wordt door filemaker.

groet, BDK

  • 0
Posted

Beste BDK,

 

Bedankt voor het meedenken maar krijg nog steeds de melding "Hier wordt een operator verwacht".

en dan wordt het laatste deel geselecteerd.

 

case
(

// case 1
cDagenVerwijderdVerjaardag>0 ;

// berekening 1
Let
  (
  cLeeftijd = Date ( Month ( Geboortedatum ) ; Day ( Geboortedatum ) ; Year ( Get ( HuidigeDatum ) ) ) 
  ; 
  ( Year ( Get ( HuidigeDatum ) ) - Year ( Geboortedatum ) - 1 ) + ( Get ( HuidigeDatum ) >= cLeeftijd ) ) + 1
  ) // end let

;

// case 2
cDagenVerwijderdVerjaardag=0 ;

// berekening 2
Let
  (
  cLeeftijd = Date ( Month ( Geboortedatum ) ; Day ( Geboortedatum ) ; Year ( Get ( HuidigeDatum ) ) ) 
  ; 
  ( Year ( Get ( HuidigeDatum ) ) - Year ( Geboortedatum ) - 1 ) + ( Get ( HuidigeDatum ) >= cLeeftijd )
  ) // end let

) // end case

  • 0
Posted

een haakje te veel in deze regel:

( Year ( Get ( HuidigeDatum ) ) - Year ( Geboortedatum ) - 1 ) + ( Get ( HuidigeDatum ) >= cLeeftijd ) ) + 1

 

deze wordt wel geaccepteerd:

( Year ( Get ( HuidigeDatum ) ) - Year ( Geboortedatum ) - 1 ) + ( Get ( HuidigeDatum ) >= cLeeftijd ) + 1

 

groet, bdk

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...