Jump to content
  • 0

Berekening met voorwaarde


milan2006

Question

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.

Link to comment

4 answers to this question

Recommended Posts

  • 0

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

Link to comment
  • 0

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

Link to comment
  • 0

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

Link to comment

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