Ga naar inhoud
  • 0

ZOEKEN zonder script


DEER

Vraag

Wie kan me helpen met een oplossing op het volgende probleem ?

 

In een database "Calculatie" voor de berekening van de kosten voor gewerkte uren staat het volgende vermeld:

veld1 = datum

veld1 = ID-nr van de werknemer

veld3 = gewerkte uren

veld4 = gewerkte uren x uurloon

 

In een andere tabel "Tarieven" staan vermeld:

veld1 = ID-nr

veld2 = datum

veld3 = uurloon

veld4 t/m veld28 de maanden in 2009 & 2010

In de tabel "Tarieven" wordt per individuele werknemer het loon aangepast onder de betreffende maand.

 

De bedoeling is dat bij de vrijwel dagelijkse invulling van de database "Calculatie" het programma automatisch, dus zonder script, gaat opzoeken in tabel "Tarieven" welk uurloon van toepassing is op bijvoorbeeld werknemer A (ID-nr xx), die gisteren 6 uur gewerkt heeft bij een externe klus. Met een variatie hierop: als deze klus een paar maand eerder geklaard was dan zou dat mogelijk een ander uurloon opgeleverd hebben als er tussentijds een loonaanpassing heeft plaats gevonden.

Ik kan me voorstellen dat de oplossing gezocht wordt in de richting van een script. Maar dat vraagt weer een extra toetsaanslag die niet vergeten mag worden.

 

Dit is geen excel, maar Filemaker. In excel werd de oplossing gevonden met INDEX en 2 maal een VERGELIJK in één formule.

 

In feite moet je dus in de tabel "Tarieven" eerst vertikaal zoeken naar het exacte ID-nr, en dan horizontaal naar de beste benadering van de maand (veld2) en de ingevoerde datum (veld1).

 

Wie kan de oplossing aandragen ?

 

Bedankt voor de moeite.

mvg., DEER

Link naar reactie

9 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Hoi,

 

Ik denk dat je iets te veel in een excel file zit te denken.

In de tabel tarieven heb je de tarieven van iedere werknemer.

Als die per maand verschillen dan maak je voor iedere maand een nieuw record.

Bij het invoeren gebruik je een lookup o.i.d. op basis van het jaar (haal je uit de datum) en het werknemer id.

 

Als je alle maanden in één record zet zoals je zelf aangeeft werkt het niet.

 

Groet.

Link naar reactie
  • 0

op het ogenblik ben ik bezig een bestand te maken om mijn bankmutaties te importeren.

is allemaal aardig gelukt, alleen met de datum heb ik moeite.

de gegevens van de bank komen alle in tekstformaat binnen. ik hou deze in tact f1, f2 ,f3 etc. om alles

bij de volgende importsessie synchroon te laten lopen. van het veld f3 in dit geval de datum, heb ik een copie gemaakt

om deze in het juiste datum formaat om te zetten, zodat deze ook normaal op datum gesorteerd kan worden.

de formule voor het omzetten naar de juiste datum kan ik niet vinden. weet iemand een oplossing. ?

Link naar reactie
  • 0

even off topic ;-)

 

Denk dat je een nieuw draadje wou beginnen...

 

Hier is iig een calculatie die je kan verder helpen. Werkt enkel als je de datum zo steeds binnenkrijgt natuurlijk.

 

 

Let ( 
[
 _date = "20090330"
; _year = Left ( _date ; 4 )
; _month = Middle ( _date ; 5 ; 2 )
; _day = Right ( _date ; 2 )
]
;

Date ( _month ; _day ; _year )

)

Link naar reactie
  • 0
even off topic ;-)

 

Denk dat je een nieuw draadje wou beginnen...

 

Hier is iig een calculatie die je kan verder helpen. Werkt enkel als je de datum zo steeds binnenkrijgt natuurlijk.

 

 

Let ( 
[
 _date = "20090330"
; _year = Left ( _date ; 4 )
; _month = Middle ( _date ; 5 ; 2 )
; _day = Right ( _date ; 2 )
]
;

Date ( _month ; _day ; _year )

)

ik wou inderdaad een nieuw draadje beginnen; op de of andere manier is dit misgegaan.

in ieder geval hartelijk dank voor de reactie en de oplossing .

met groet

fred

Link naar reactie
  • 0

Ik zit meer te denken in de richting van een matrix.

 

Achter onderstaande link staan richtinggevende ideeën hierover. 'k Ben wel tot de ontdekking gekomen dat de creatie van een beetje matrix veel rekentijd vergt.

 

Voor degene die de gewijzigde lonen invoert moet het een eitje zijn om de juiste gegevens op de juiste plaats te zetten. Een matrix (vertikaal de werknemers en horizontaal de lonen in de maand waarin ze gewijzigd zijn).

 

http://www.spf-15.com/fmExamples/

 

Bedankt voor het meedenken.

Link naar reactie
  • 0
Als je Naam+Maand+Loon in een aparte tabel zet, heb je daar je matrix.

Met een relatie op werknemer+maand haal je daar je data uit middels een lookup.

 

Accoord, maar m'n doelstelling is dat bij de dagelijkse invoer van datum + naam vd werknemer + aantal gewerkte uren, het programma automatisch uit bovengenoemde matrix het meest recente uurloon leest dat bij de betreffende werknemer hoort en dit vervolgens ergens in een berekening meeneemt.

Het automatisch had ik gedacht als een berekening. Niet als resultaat van een of ander script. Of........ weet iemand een methode dat er automatisch een script kan worden gestart na de invoer van een bepaald veld ?

 

Bovengenoemde matrix wordt alleen geupdated als er aanleiding voor is, bijv. een nieuwe werknemer of loonaanpassing.

Link naar reactie
  • 0

Misschien zoek je het te moeilijk: per werknemer kan er toch maar 1 uurbedrag actueel cq recent zijn?

Elke keer dat dat veranderd wordt de tabel aangepast. Elke keer als je uren invoert wordt die waarde uit de tabel gehaald.

De kans op fouten is dan kleiner dan dat je tabellen met waarden hebt voor verschillende perioden.

 

Als je ineens voor een heel jaar de bedragen wilt vastleggen, zit je naar mijn gevoel toch een de eerder genoemde tabel vast. Dan kun je per periode (week, maand, 4 weken) aangeven wat het uurbedrag is.

Met een relatie en lookup wordt de waarde uit de tabel gehaald in in de berekening gebruikt voor de salarisberekening. Geen script voor nodig, gewoon een calculatieveld.

 

Automatisch een script draaien kan met FM10.

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