berekeningprobleem in qwery

Status
Niet open voor verdere reacties.

RSpan

Gebruiker
Lid geworden
10 jun 2009
Berichten
166
Beste mensen

Er doet zich een vreemd probleem voor in een query die tarieven moet berekenen.
Het betreft een planning/factureer programma
Na het invullen van de planning kun je de facturen uitdraaien.
De volgende tabellen zijn hiervoor in gebruik:
[tblPatiënten] (patiëntgegevens)
[tblOrg] (organisatiegegevens)
[tblProducten] (productgegevens)
[tblRooster] (planningsgegevens)
[tblFstOpslag] (feestopslag percentage)
[tblFuncie] (functiegegevens personeel)
[tblNieuwTarief] (opslag voor tussentijdse tariefswijziging)
zie plaatje van de query
qrybprooster.jpg

Het volgende is het geval:
Deze query berekent de tarieven van het personeel aan de hand van de functie (bv VP) en soort dienst (dag, nacht weekend e.d.)
Voor deze berekening gebruik ik de volgende formule:
Code:
TarievenFr3: IIf([feestdag]=0;
(IIf([TblNieuwTarief].[TariefAanpasDatum]<=[TblRooster].[Datum];
([TblNieuwTarief].[TariefAanpas]+[tblproducten].[tarieven]);
[tblproducten].[tarieven])+Nz([TblOrg].[opslag])+Nz([TblPatienten].[opslag]));
(IIf([TblNieuwTarief].[TariefAanpasDatum]<=[TblRooster].[Datum];
((([TblNieuwTarief].[TariefAanpas]+[tblproducten].[tarieven])+Nz([TblOrg].[opslag])+Nz([TblPatienten].[opslag]))*[TblFstOpslag_2].[feest opslag]);
([tblproducten].[tarieven]+Nz([TblOrg].[opslag])+Nz([TblPatienten].[opslag]))*[TblFstOpslag_2].[feest opslag])))

Dit werkt goed tot dat er een tussentijdse tariefswijziging zich voor doet.
In dat geval wordt er in de tabel [TblNieuwTarief] de datum en het bedrag van de verhoging ingevoerd. (bv per 1-5-2011 een verhoging van € 5, - p/u )
Wanneer ik nu de query 'qrybprooster' draai dan wordt voor 1-5-2011, uit de tabel [tblProducten] het tarief € 15, - gebruikt en na 1-5-2011 wordt bij dit tarief van € 15, - € 5, - opgetelt uit de tabel [tblNieuwTarief] = € 20, - .
Tot zover de uitleg hoe het moet werken, nu het probleem:Bij sommige functies en diensten werkt het zo het moet en bij sommige functies en diensten werkt het niet.
Wanneer het nu in alle functies en diensten niet zou werken dan is het begrijpelijk maar nu het in sommige functies en diensten wel werkt en in andere niet ben ik het spoor even bijster.
Nog even een voorbeeld wat ik bedoel:
Functie VP dienst nacht wordt de verhoging niet meegenomen.
Functie VP dienst Wnacht wordt de verhoging wel meegenomen.

Het is een heel verhaal maar ik hoop dat het een beetje duidelijk is en dat iemand mij verder kan helpen.

Groet
René


beste mensen
ik heb niet de fout gevonden maar wel het probleem opgelost door de gegevens in de TblNieuwtarief in de tblproducten op te nemen.
één tabel minder en de fout doet zich niet meer voor.
probleem opgelost

groet
René
 
Laatst bewerkt:
De gegevens uit de tabel TblNieuwtarief had je moeten groeperen met een maximum op de datum. Dan krijg je van alle tarieven de laatste. Het resultaat kan je dan weer gebruiken om te joinen met je tblProducten.
Dan had je nog een relationeel database model gehad. Nu niet meer...

Share & Enjoy!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan