Grzegorz P.

Grzegorz P. Analityk IT

Temat: przydzielanie premii acces

Witam
Mam problem z wyliczeniem premii dla agenta
Agent A -0015 w danym miesiącu jest przydzielony do jednego przełożonego P-001
(data_przydziel = 2010-12-01). Ten przełożony zbiera premię od składki z umów
zawartych przez tego agenta. Lecz może siê zdarzyć, że dany agent w tym miesiącu zmieni przełożonego na P-002 (data_przydziel = 2010-12-07). Jaką utworzyć kwerendę aby naliczała premię najpierw dla pierwszego przełożonego od
data_przydziel 2010-12-01 do 2010-12-07 a następnie dla drugiego od 2010-12-07
do kolejnej zmiany lub dziś. W tabeli poszczególni agenci są umieszczeni w I
kolumnie, przełożeni w II kolumnie, a data_przydziel w III kolumnie.

Bardzo proszę o pomoc

pozdrawiam
Paweł B.

Paweł B. architekt baz danych
/ SQL Developer /BI
Developer

Temat: przydzielanie premii acces

Wyliczenie ma być proporcjonalne do okresu przydziału w miesiącu, czy każda składka ma datę, która determinuje komu przyznać premię?
Grzegorz P.

Grzegorz P. Analityk IT

Temat: przydzielanie premii acces

Paweł
wyliczenie ma być proporcjonalne do okresu przydziału w miesiącu, czyli przełożony zbiera premie od składki konkretnego agenta tylko w okresie kiedy ten agent był do niego przydzielony. Patrzymy na daty od do kiedy był agent przydzielony do przełożonego.

pozdrawiam
Grzegorz P.

Grzegorz P. Analityk IT

Temat: przydzielanie premii acces

dodam jeszcze co istotne że jest druga tabela ze składką gdzie są kolumny: I nr_agenta, II kwota_skladki, III data_pobrania_skladki

pozdrawiam
Paweł B.

Paweł B. architekt baz danych
/ SQL Developer /BI
Developer

Temat: przydzielanie premii acces

Czyli nie proporcjonalnie ;)

Najprostszym sposobem jest funkcja użytkownika przelozonywdniu(nr_agenta, data) zwracająca identyfikator przełożonego.

Najpierw sprawdzasz największą data_przydziel mniejszą bądź równą dacie z parametru:
data= DMax("data_przydziel","tabela_przydzialy","data_przydziel<='" & data &"'")
a następnie przełożonego z tego dnia:
przelozonywdniu = DFirst("przelozony","tabela_przydzialy","data_przydziel"='" & data &"'")
Taką funkcję wkładasz do kwerendy i gotowe.

konto usunięte

Temat: przydzielanie premii acces

potrójna relacja z czego dwa elementy są nie z krreatora tylko z SQL-a

select prac_premia.id,prac_premia.data , prac_przel.id_prz, prac_przel.start, prac_przel.stop
from prac_premia join prac_przel on prac_premia.id = prac_przel.id_prac and prac_premia.data <= prac_przel.start and prac_premia >= prac_przel.stop

jakoś tak by to leciało ;)
Grzegorz P.

Grzegorz P. Analityk IT

Temat: przydzielanie premii acces

dzięki za propozycje rozwiązań ale doszedłem do wniosku, że dołożę jeszcze jedną kolumnę z datą końcową przydzielenia do przełożonego i potraktowałem to betweenem

jeszcze raz dziękuję za pomoc

Następna dyskusja:

Pilnie szukam pomocy Acces ...




Wyślij zaproszenie do