Jump to content
  • 0

berekenen


lassie1952

Question

Posted

ik zit met een berekenings-probleem in filemaker pro 12

ik voer starttijd 07,30 als getal het zelfde eindtijd 16,30 min 1 uur eten is 8 uur , maar met halve uren gaat het mis

na verloop van tijd krijg 26,30 als uitkomst dit is 26 uur en 30 min maar als ik dit naar geld wil omrekenen € 30 x 26,30 =€ 787 en dit moet zijn 26x 30= 780 + 30 min = 15 dus 795

ik denk dat ik met tijd moet werken maar dan is de uitkomst 26:30 tijd, graag en oplossing

3 answers to this question

Recommended Posts

  • 0
Posted

Beste,

 

Zorg ervoor, dat je vergelijkingsvelden van het type tijd zijn (dus half acht in de ochtend wordt 07:30)

Je kunt dan eenvoudig aan tijd rekening door de velden van elkaar af te trekken of op te tellen.

 

Als je bijvoorbeeld tekstvelden zou hebben dan moet je ze eerst naar tijd converteren.

 

Als een medewerker bijv om 08:00 start en om 09:00 stopt dan ziet de berekening er als volgt uit:

 

getastime("17:00") - getastime("08:00") // De uitkomst is hier dan 9:00

 

Stel dat er één uur pauze is geweest, dan ziet je formule er als volgt uit:

 

getastime("17:00") - getastime("08:00") -3600 // (je trekt er gewoonweg 1 uur in seconden(3600) vanaf de uitkomst is dan keurig 08:00 (in een tijd variabele)

 

Wanneer je de waarden tussen de aanhalingstekens vervangt door bijvoorbeeld jouw veldnamen (jouwtabel::jouwveld zonder de aanhalingstekens dan heb je je gewerkte uren per record)

 

In het geval dat je je database velden van het type tijd hebt gemaakt, dan kun je zelfs de getastime constructie weglaten.

 

Zet dit in een veld van het type berekening en je hebt je gewerkte uren.

 

 

succes met de puzzle

 

cor

  • 0
Posted

@lassie1952

 

Ik begrijp uit je inleiding dat je de tijd als tekst (dus in tekstvelden) invoert, waarbij je met 9,30 : 9:30 bedoelt ofwel 9+1/2 uur.

Als je dat altijd op die manier invoert, dus als conventie aanhoudt, dan kan je eventueel de volgende formule gebruiken om tijdsbereik in decimale uren om te zetten:

Let ( [ 
s = GetAsTime ( Substitute ( Starttijd ; [ "," ; ":" ] ) ) ; 
e = GetAsTime ( Substitute ( Eindtijd ; [ "," ; ":" ] ) ) ; 
t = ( e - s ) / 3600
] ; 
t
)

De beide velden Starttijd en Eindtijd kan je dan vullen met tijden zoals 9,30 maar ook zoals 9:30. Beide invoerwijzen geven dan hetzelfde resultaat. Je zou eventueel ook nog punten in de tijd op dezelfde manier kunnen omzetten:

GetAsTime ( Substitute ( Starttijd ; [ "," ; ":" ] ; [ "." ; ":" ] ) )

en dan ben je nog flexibeler, 9.30 9,30 en 9:30 geven dan allemaal hetzelfde resultaat.

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