実現したいこと
Access(2007-2016)で勤怠管理DBを作成しています。
フォームのコンボボックスにVBAで値を入力させようとしているのですが、「実行時エラー2113 このフィールドに入力した値が正しくありません」と表示され、うまく入力できません。ある値に紐づいた別の値を、コンボボックスに記入する方法を教えていただきたいです。
以下、詳細になります。
テーブルとリレーション
〇使用テーブルは7つで、このようにリレーションを組んでいます。以下に、今回使用するテーブル3つを記載します。
1.勤怠テーブル----------------
勤怠管理No:オートナンバー
社員ID:数値
出社日:日付
出社時間:日付/時刻
退社時間:日付/時刻
勤怠管理No 社員ID 出社日 出社時間 退社時間
1 1 2020/07/02
2 2 2020/07/02
3 3 2020/07/02
4 1 2020/07/03
5 2 2020/07/03
6 3 2020/07/03
7 4 2020/07/03
8 5 2020/07/03
9 3 2020/07/07
2.稼働テーブル------------------
稼働管理No:オートナンバー
勤怠管理No:数値
受注No:数値
タスクID:数値
稼働時間:数値
稼働管理No 勤怠管理No 受注No タスクID 稼働時間
1 1 1 3 4
2 1 1 2 5
3 1 3 5 2
4 2 1 2 3
5 2 2 1 3
6 3 3 5 2
7 4 3 4 10
8 5 3 4 6
9 5 1 3 7
10 6 1 2 8
11 7 2 5 9
12 7 3 4 4
13 8 3 4 3
14 9 3 5 4
3.社員テーブル------------------
社員ID:オートナンバー
社員名:短いテキスト
時給:数値
社員ID 社員名 時給
1 一郎 100
2 二郎 200
3 三郎 300
4 四郎 400
5 五郎 500
###詳細
サブフォーム付きのフォームで、従業員が日々の勤怠情報(氏名、出社日、出社時間、退社時間)と、その稼働内容を入力するフォーム「F_勤怠」を作成しています。今回サブフォームについては無視してください。
ログインフォームでユーザー名とパスワードを入力すると、「ユーザー名」を保持したまま勤怠管理用のフォーム「F_勤怠」が開くようになっています。
※ログイン用フォームのテキストボックス「Login_UserName」に「一郎」と打ち込みログインした時、「F_勤怠」のテキストボックス「User_name」(赤マル部分)に「一郎」と記入される。
ログインボタンクリック時 '勤怠管理用のメニューを開く DoCmd.OpenForm "F_勤怠" '社員名を「F_勤怠」の「User_name」欄に自動で表示 Forms![F_勤怠]![User_name] = Me.Login_UserName.Value
同様にして、「F_勤怠」のコンボボックス「社員ID」にも社員名を自動入力したいのですが、コンボボックス「社員ID」には社員IDを入力する必要があるため、社員名を入力できません。
コンボボックス「社員ID」の詳細-------------
コントロールソース:社員ID
値集合ソース:社員テーブル
連結列1
列数2
列幅0cm,3cm
ーーーーーーーーーーーーーーーーーーーーーーー
3.社員テーブル(再掲)------------------
社員ID:オートナンバー
社員名:短いテキスト
時給:数値
社員ID 社員名 時給
1 一郎 100
2 二郎 200
3 三郎 300
4 四郎 400
5 五郎 500
テキストボックス「User_name」に記入されている社員名をもとに、それに紐づいた社員IDをコンボボックス「社員ID」に入力するにはどのようにすれば良いのでしょうか。
初歩的な質問かもしれませんが、お力をお貸しいただけると助かります。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/12 07:49
2020/08/12 07:59