2

従業員の給与情報を表示するフォームを設計しています。他の個人情報に加えて、2007 年から 2013 年の給与を表示するフォームが必要です。

フォームは次のようになります。

 Name   Department   Sub Department

        2007 2008 2009 2010 2011 2012 2013
 Salary  x
 Bonus   y
 Total  x+y

 Various stats:  
 Calls Stats 2013      [a]  [c]
 Marketing Stats 2013  [b]  [d]
 Sales Rank 2011       [x]
 Sales Rank 2012       [y]
 Sales Rank 2013       [z]

私は年月を適切に機能させるためにあらゆることを試みましたが、役に立ちませんでした。1 つの大きなクエリを作成してみました。複数のクエリを作成してプラグインしようとしました。

私のテーブルは次のとおりです。

  • 空のテーブル
  • 補償表
  • 部門表
  • 統計表

CompTable と StatsTable にはの列があるため、年ごとに給与/統計が異なります。

このようなフォームを設定する手順は何ですか? 私はいくつかのことを試しましたが、どれも機能していません。すべてを 1 ページにまとめたいので、どうしても必要な場合を除き、分割フォームは使用したくありません。

編集:スキーマ:

   EmpTable       CompTable        DeptTable                StatsTable
                  PK CompID                                PK StatsID
   PK ID   ------>FK ID   -----> PK/FK ID (From emp) ----> FK ID (From emp)
      Name           Year           Dept                      Year 
      Etc.           Salary                                   Rank

私が試した解決策:

  1. 正規化なしで 1 つの大きなクエリを作成する。たとえば、各年の列があります。 以前は機能していましたが、テーブルの正規化を修正したため、現在は機能しません。
  2. 複数のクエリで 1 つの大きなクエリを作成する。毎年の個々のクエリ。たとえば、2013 Comp Query + 2012 Comp Query をすべて 1 つの大きなクエリにまとめます。 フィールドが多すぎるため機能しません。(127以上)
4

1 に答える 1