Accessの回答履歴を調べたのですが、結局わからなくて質問させて頂きました。お願いします。
入力したいデータ(口座管理情報)があります。
項目は社員番号、氏名、銀行口座
社員マスターがあるので、社員番号はコンボボックスにして選択できるようにしたいと思ってます。
社員番号をコンボボックスで選択すると、社員マスター上の氏名を口座管理情報の氏名に設定したいのですが、どうすればいいのでしょうか?
また、口座管理情報入力の画面は表形式にして連続で入力させたいと思っています。
各行に単純にテキストとしてコンボで選んだ社員の氏名を表示させる事は出来るのですが、入力項目に設定する方法がわかりません。
No.1
- 回答日時:
根本的に、社員番号を使って社員マスターから情報をリンクできるのにもかかわらず、口座管理情報に氏名を敢えて各必要性があるのかわかりませんが、本題からそれるので、それは置いときます。
また、フォーム上での操作であると想定しています。
>また、口座管理情報入力の画面は表形式にして連続で入力させたいと思っています。
>各行に単純にテキストとしてコンボで選んだ社員の氏名を表示させる事は出来るのですが
ということですので、コンボボックスで社員番号を入力すると、別のテキストコントロールへ氏名を表示することができるということだと思います。
例えば、口座管理情報内の氏名に対応するフィールドを設定し、可視を'いいえ'にしておきます。
VBAでの作成になりますが、レコードの更新前処理等のイベントで、コンボボックスの情報から、氏名のフィールドへ情報を転写したらいかがでしょうか?
お返事ありがとうございます。
氏名を別途管理しておきたいのは、社員マスターが履歴管理されておらず、結婚などで氏名が変わった場合を想定して、口座管理は履歴を残したいと思っています。
やはりVBAを使用しないとできませんか?
ほとんどVBAは知らないし、もっと簡単に出来ることかと思っていました。
VBAも研究してみます。
No.2
- 回答日時:
Ryokuchaさんの意向を尊重すれば、方法はVBAでしょうね。
ただ、私も#1の NorthMole さんと同じ意見です。NorthMole さんがコメントされていますが、口座管理情報に氏名を記録する必要性はあるのでしょうか?
これがネックになって、解決方法を限定しています。
>社員マスターが履歴管理されておらず、結婚などで氏名が変わった場合を
>想定して、口座管理は履歴を残したいと思っています。
とするなら例えば、フィールド:社員番号,変更日,変更内容 のような履歴管理テーブルを作成することをお勧めします。
「テーブルの正規化」ってやつですね。
お返事ありがとうございます。
社員マスターを変更して履歴を管理することが望ましいとは思うのですが、パッケージ製品のマスターを社内で正としているので、安易に手を加えるわけにもいかないんです。
社員マスターは定期的にCSVに吐き出したものを貰って対応しようとしています。
私の部署だけで履歴管理してもしょうがないと思い、取り合えず目先の必要な情報を確保しておこうかと思ってます。
やはりVBAによる解決しかないですね。
No.3ベストアンサー
- 回答日時:
>パッケージ製品のマスターを社内で正としているので、安易に手を加えるわけ
>にもいかないんです。
そうですか。では、ご希望の動作をVBAで実現するための例を示します。ご参考になれば、幸いです。(VBAとはいえ、簡単なコードです。是非お試し下さい。)
<前提>
1. 社員番号コンボボックスのプロパティを次のとおり設定。
名前:cmbCode
集合値タイプ:テーブル/クエリ
集合値ソース:SELECT 社員番号,氏名 FROM 社員マスター ORDER BY 社員番号;
列数:2
列幅:1;3
連結列:1
入力チェック:はい
2. 社員氏名テキストボックスのプロパティを次のとおり設定。
名前:txtSyainName
編集ロック:はい
使用可:いいえ
タブストップ:いいえ
上記のように各コントロールのプロパティを設定したら、フォームに次のVBAコードを貼付け。
Private Sub cmbCode_BeforeUpdate(Cancel As Integer)
On Error GoTo ErrorHandler
'コンボボックスの2列目(0から数えたら1列目)を代入
txtSyainName = cmbCode.Column(1)
ExitHandler:
Exit Sub
ErrorHandler:
Cancel = True
Resume ExitHandler
End Sub
これだけです。折角ですから、チャレンジされたらどうでしょうか?
お返事ありがとうございました。
おかげ様で、ようやく出来ました。
簡単な処理なのにここまでしなくてはならないのも辛いですね。
もっとVBAも勉強します^_^;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- その他(メールソフト・メールサービス) Windows10付属のメール、なぜ設定が劇的に簡単になったのか? 1 2022/12/16 13:14
- 政治 消防団を暴力団と読み違えたのは私だけですか? 2 2022/06/14 15:37
- その他(資産運用・投資) 助けてください 株購入、配当について 正式なグリー株式会社から 身に覚えのない手紙が届きました。 手 8 2023/08/28 12:50
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- 消費者問題・詐欺 これは詐欺でしょうか 賃貸の管理会社が変更になり、家賃の支払い先が変更になったのですが二重引き落とし 3 2022/10/28 23:29
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- gooポイント gooポイントをdポイントに交換できない。 3 2022/04/22 20:39
- その他(IT・Webサービス) CICでの情報開示について CICのインターネット開示を利用しているのですが、必要事項を入力後に確定 1 2023/04/04 16:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
平社員の場合の役職名は?
-
月1くらいで休む派遣さんが、休...
-
巨乳の同僚
-
皆さんの会社の親睦会費は社員...
-
社員への残業時間公開について
-
出戻り社員は一番下でしょ?? ...
-
若いイケメンには態度を変える...
-
自分にだけタメ口対応をされま...
-
帰り際になって急に話しかけて...
-
マクドナルド社員になるのはか...
-
会社の人に勝手にLINE追加され...
-
派遣社員に直接注意
-
職場で寝不足で早退するのはど...
-
職場で空気のような存在になっ...
-
Accessの参照フィールドの列が...
-
ニコニコしてる人の裏の顔につ...
-
Access VBA DB(先頭の0値を...
-
社員各位という言葉について
-
会社の保養所の不正利用につい...
-
大人のイジメって何をされるの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
平社員の場合の役職名は?
-
出戻り社員は一番下でしょ?? ...
-
会社の人に勝手にLINE追加され...
-
巨乳の同僚
-
社員名簿で家族構成書くとこあ...
-
社員各位という言葉について
-
職場で空気のような存在になっ...
-
社内盗撮
-
会社の互助会費について
-
社員への残業時間公開について
-
マクドナルド社員になるのはか...
-
帰り際になって急に話しかけて...
-
月1くらいで休む派遣さんが、休...
-
自分にだけタメ口対応をされま...
-
派遣社員に直接注意
-
悪口を本人に聞かれてしまった
-
皆さんの会社の親睦会費は社員...
-
若いイケメンには態度を変える...
-
妻ですが男性と2人だけの出張が...
-
社員がPCを壊した場合の対処方...
おすすめ情報