Ga naar inhoud
  • 0

berekenen


lassie1952

Vraag

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

Link naar reactie

3 antwoorden op deze vraag

Aanbevolen berichten

  • 0

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

Link naar reactie
  • 0

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

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