アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっております。
OS:Windows 7
Access 2007

現在Access で日報管理を作成しています。
弊社では職務と職位で給料段階が違います。
それで以下のようにテーブルが作っております。
職務テーブル
 職務ID 職務名称
  1    研修生
  2    職人
  3    リーダー
給与情報テーブル
 職務ID 職位 基本給 手当 月給 日給

それぞれ職務に対して職位は3段階があります。それぞれに基本給などが変わっていきます。

以上の二つテーブルから社員の給与明細のフォームを作成しています。
日付  社員ID 社員名 職務 職位 月給 日給

ここで教えていただきたいのは職務と職位を入力すると月給と日給は自動的表示することです。

よろしくお願いします。

A 回答 (2件)

>以上の二つテーブルから社員の給与明細のフォームを作成しています。


>日付  社員ID 社員名 職務 職位 月給 日給

この明細フォームのレコードソースは二つのテーブルだけでは
無いと思いますが、また、給与明細のフォームでの職務、職位が
テキスト型なのか、あるいは数値型なのかまったくわからない
のでわからないままコードを作成すると当然ながらあちこちで
エラーが発生します。あらかじめそういう情報、あるいは
給与明細フォームで、職務は単純なテキストボックスか、あるいは
コンボボックスか、同様に職位に関しても事前に情報が提供されて
いれば回答、補足のやり取りが少なくてすみます。

そういうことは棚上げにして、以下に
方法を示しておきます。給与明細のフォームでのイベントで
二つの方法を示しておきます。(1)、(2)のどちらでも結果は
同じです。

なお、(1)、(2)ともにデータの型の違いにより三つほど
例を入れておきました。一応、給与明細のフォームの
職務、職位はテキストボックスで手入力するものとしています。


準備:

クエリの作成
Q給与情報という名前でクエリを作成します。

Q給与情報

SELECT 職務テーブル.職務名称, 給与情報テーブル.職務ID, 給与情報テーブル.職位, 給与情報テーブル.基本給, 給与情報テーブル.手当, 給与情報テーブル.月給, 給与情報テーブル.日給
FROM 職務テーブル INNER JOIN 給与情報テーブル ON 職務テーブル.職務ID = 給与情報テーブル.職務ID;



給与明細のフォームでのイベント:

月給フィールドフォーカス取得時と
職位更新後処理のイベントの二つを
表示しておきます。どちらかで
結構です。


(1)


Private Sub 月給_Enter()
If Not IsNull(Me![職務]) Then
'職務、職位が数値型の場合
'Me![月給] = DLookup("月給", "Q給与情報", "[職務名称]=" & Me![職務] & " And [職位]=" & Me![職位])

'職務が数値型、職位がテキスト型の場合
'Me![月給] = DLookup("月給", "Q給与情報", "職務名称=" & Me!職務 & " And 職位='" & Me![職位] & "'")

'職務、職位がテキスト型の場合
Me![月給] = DLookup("月給", "Q給与情報", "職務名称='" & Me!職務 & "' And 職位='" & Me![職位] & "'")
End If
End Sub


(2)

Private Sub 職位_AfterUpdate()
If Not IsNull(Me![職務]) Then
'職務、職位が数値型の場合
'Me![月給] = DLookup("月給", "Q給与情報", "[職務名称]=" & Me![職務] & " And [職位]=" & Me![職位])

'職務が数値型、職位がテキスト型の場合
'Me![月給] = DLookup("月給", "Q給与情報", "職務名称=" & Me!職務 & " And 職位='" & Me![職位] & "'")

'職務、職位がテキスト型の場合
Me![月給] = DLookup("月給", "Q給与情報", "職務名称='" & Me!職務 & "' And 職位='" & Me![職位] & "'")
End If
End Sub


間違い、勘違い、分からないことがあれば補足してください。
    • good
    • 0

No1です。


回答に抜けているところがありました。

給与明細のフォームのレコードソースは質問の、

>以上の二つテーブルから社員の給与明細のフォームを
>作成しています。

ではなく、別個に

日付  社員ID 社員名 職務 職位 月給 日給


で、給与明細テーブルというもの作って回答しています。
結果は多分同じだと思いますが、一応念のために。
理由は、No1でも説明しましたが、

>以上の二つテーブルから社員の給与明細のフォームを
>作成しています。

では、給与明細のフォームのフィールドが足りないからです。
    • good
    • 0
この回答へのお礼

大変助かりました。
これでうまく行きました。
ありがとうございます。

お礼日時:2011/07/13 11:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す