1

Access 2010 に 2 つの (簡略化された) テーブルがあるとします。

**tblDailyLabour**
DailyLabourID - PK
DateRecorded
EmployeeID
QtyHours

**tblEmployeeHistory**
EmpHistoryID - PK
DateApplicable
EmployeeID
PayRate

今日、従業員 1 がデータベースに入力されます。彼は、さまざまな値が割り当てられた従業員の「アドレス帳」に設定されています。今日の時点で、彼の PayRate は $23.50/hr です。

したがって、今日以降、記録されたすべての時間は、従業員 1 の今日のレートに対して (23.50 * [QtyHours]) で計算されます。この値は「従業員履歴」の新しいエントリとして記録され、たとえば 4 月 17 日の時点で有効です。したがって、4 月 17 日以降は (25.00 * [QtyHours]) で計算されます。

日次レポートでは、クエリがレポートの日付をチェックし、Employee1 の合計を計算するので、これは簡単です。レポートが 3 月 17 日であろうと 4 月 25 日であろうと、クエリは割り当てられたレートを検索し、総費用を計算します。

ただし、3 月 17 日から 6 月 3 日までのすべての日の総コストを評価する管理レポートを作成する場合、従業員率にいくつかの変更を考慮する必要がある可能性があります。

これは私が問題を抱えているところです。DateApplicable <= DateRecorded の場合、以前のレートを表示しない方法がわかりません。

従業員履歴の値に応じて毎日のレートを決定し、合計を計算するクエリを作成するにはどうすればよいでしょうか?

この質問がうまく表現されていない場合は、事前にお詫び申し上げますが、助けてくれてありがとう!

4

1 に答える 1

0

開始日だけでなく、「アドレス帳」で日付範囲(開始日と終了日)を設定した方が簡単かもしれないと思います。
現在のレコードで、終了日を12/31/9999にします。新しい現在のレコードを入力するときは、最後のレコードの終了日を更新してください。

于 2013-03-14T18:08:19.927 に答える