Jump to content
  • 0

berekening in herhalend veld probeem


theoduijkers

Question

FM8,

lijkt simpel, maar ik krijg het niet voor elkaar: ik heb 2 herhalende velden langs elkaar (x85). kolom 1 is het aantal uren van tarief 1 (stel: 100 euro); kolom 2 zou het berekende bedrag moeten worden (aantal uren x uurtarief, aantal minuten maal uurtarief). Met de volgende formule krijg ik alleen in het eerste veld het juiste bedrag te zien, de volgende velden geven "0"

 

Round((Hour(uren tarief A) * uurtarief tarief A + Minute(uren tarief A) * uurtarief tarief A/ 60);2)

 

ook met "Sum" hetzelfe resultaat

wie weet waar dit fout gaat, help...

 

bedankt

Link to comment

7 answers to this question

Recommended Posts

  • 0

Welkom Theo,

 

Volgens mij zit de 'fout', indien we hier van een 'fout' zouden kunnen spreken.....niet in de berekening maar wel in het gebruik van een herhalend veld.

 

 

Herbekijk de design van je toepassing en denk relationeel.

 

Je hebt 'uren' en je hebt 'tarieven'. Dat zijn 2 verschillende entiteiten.

Die zouden best ieder in hun eigen tabel zitten.

 

Tussen die tabellen maak je een relatie en je probleem is verdwenen.

Link to comment
  • 0

hallo JeanWM

dit is al een vrij oude en ook erg uitgebreide factureringsdatabase, dus helemaal omgooien zal erg mielijk worden

 

waarom krijg ik dan alleen 50 als antwoord bij:

Round((Hour(uren tarief A) * uurtarief tarief A + Minute(uren tarief A) * 100/ 60);2)

 

Round((Hour(uren tarief A) * (uurtarief tarief A)/ 60);2)

werkt niet omdat het 2 verschillende entiteiten zijn

 

Round((Hour(uren tarief A) * 100/ 60);2)

geeft (weliswaar alleen maar de uren) wel een bruikbaar resultaat

 

als ik tijd (uren tarief A) naar minuten kan zetten en dit niet als tekst maar als getal kan inzetten voor de berekening zou het toch ook moeten kunnen?

Link to comment
  • 0

Theo,

 

Gebruik in het geval van herhalende velden de Extend() functie (weet de juiste Nederlandse naam niet) voor het niet herhalende veld (uurtarief). Je formule wordt dan:

 

Round((Hour(uren tarief A) * Extend(uurtarief tarief A) + Minute(uren tarief A) * Extend(uurtarief tarief A)/ 60);2)

 

Nu wordt de berekening niet alleen voor de eerste herhaling, maar ook voor alle andere gemaakt. Raadpleeg de Help voor meer info over de Extend() functie.

 

 

- Jeroen

Link to comment
  • 0

dit is al een vrij oude en ook erg uitgebreide factureringsdatabase, dus helemaal omgooien zal erg mielijk worden

samen met

FM8, ....

 

Waarschijnlijk de oude toepassing geopend in FM 8, zonder eerst aanpassingen te doen....¿¿

Het was nochtans het geschikte moment om dat even recht te zetten....

Je gaat na verloop van tijd waarschijnlijk op nog andere (hinderlijke) beperkingen stoten waar de RF's de oorzaak zullen zijn.

 

In je berekening dien je dan niet alleen naar het veld te verwijzen maar ook naar de juiste repetition.

 

De aanduiding wordt dan: yourField[2] , wat de tweede repetition zal zijn.

 

yourField[5] , zal dan de 5de zijn.

 

Kijk ook even wat de Extend function eventueel zou kunnen doen, daar we niet weten hoe de rest van je toepassing in mekaar zit.

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