Access 2013 で資産データベースを再構築しています。主キー (資産のシリアル番号) を持つ 1 つのテーブルと、22 の他のフィールドがあります。テーブルを手動で編集しないように、テーブルで使用するフォームを設計しています。後で説明する「Status:」フィールドはテーブルに存在しません。レコードが存在するかどうかを表示するユーザーフレンドリーな方法です。
最終的な目標は、2 つのケースを処理するフォームを作成することです。ユーザーは PK を入力してタブ キーを押します。それで:
- PK が存在する場合、他の 22 のフィールドから情報を取得してフォームのフィールドに入力し (1:1)、'Status:' を 'Existing' に更新します。
- PK が存在しない場合は、「ステータス:」が「新規」に変更され、すべてのフィールドが空白になります。
フォームのほとんどのフィールドはコンボ ボックスです。2 つのテキスト フィールドと 1 つの日付/時刻フィールドがあります。
ユーザーがフォームの操作を完了し、必要な変更を行うと、下部に [保存] ボタンが表示され、PK で示される行にフォームの内容がすべて書き込まれます。
フォームの PK フィールドで Access 2013 の LostFocus() イベントを使用して部分的な解決策を見つけました。MS Access の経験はほとんどなく、DBA の経験は中程度で、VBA プログラミングの経験はありません。この解決策は実行できると確信しています。私の質問は、解決策をハードコーディングする以外の方法で解決できますか? フォームの作成についても調べてみましたが、必要に応じて機能するものが見つからなかったので、これを実現できるツールがあれば、それで問題ありません。