こんにちは。maruru01です。
F_マスタの[社員番号]テキストボックスのExitイベントに以下のように書きます。(T_マスタの[社員番号]フィールドが長整数型とします。)
If IsNull(DLookUp("社員番号", "T_マスタ", "社員番号 = " & CLng(Me!社員番号.Text)) Then
(「社員名」、「所属」を自動入力する処理)
Else
MsgBox "すでに入力されています。"
(「社員番号」、「社員名」、「所属」、「評価」を自動入力する処理)
End If
では。
質問者
お礼
こんにちは。
すばやい回答ありがとうございます。
>Exitイベントに
これがわからなかったので、「更新後処理」に以下のようにいれてみました。
------------------------------
Private Sub 社員番号_AfterUpdate()
If IsNull(DLookUp("社員番号", "T_マスタ", "社員番号 = " & CLng(Me!社員番号.Text)) Then
Me![社員氏名] = Me![社員番号].Column(1)
Me![所属] = Me![社員番号].Column(2)
Else
MsgBox "すでに入力されています。"
Me![社員氏名] = Me![社員番号]
Me![所属] = Me![所属]
Me![評価] = Me![評価]
End If
End Sub
------------------------------
すると一番上の
If IsNull(DLookUp("社員番号", "T_マスタ", "社員番号 = " & CLng(Me!社員番号.Text)) Then
が赤くなり、
実行すると「コンパイルエラー 構文エラー」と出てしまいます。
どこがダメなんでしょうか?
やはりExitでないとダメでしょうか?
お礼
再度ありがとうございます。 おかげでできました。 さらに質問なのですが、 elseの後の部分は MsgBox "すでに入力されています。" Me![社員氏名] = Me![社員氏名] じゃできないですよね。 MsgBox "すでに入力されています。" Me![社員氏名] = Tables![T_マスタテーブル]![社員氏名] もだめでした。 これはどのように標記すればいいのでしょうか? 申し訳ありませんが、再度回答いただけませんか? 宜しくおねがいします。