スタッフのトレーニング記録用の Excel スプレッドシートを Access 2003 データベースに変換しようとしています。データベースを 4 つのテーブル (Staff、Tasks、Trainers、TrainingRecords) に設定しました。トレーニング レコード テーブルには、次のフィールドがあります: RecordID (自動番号と PK)、StaffID (スタッフにリンク)、TaskID (タスクにリンク)、DateCompleted、TrainerID (トレーナーにリンク)。スタッフ、タスク、およびトレーナー テーブルにデータを入力するための関連フォームをすべて作成しました。コンボボックスからスタッフ名、タスク名、トレーナー名を選択して、新しいトレーニング記録を入力できるフォームも作成しました。
私の問題は、上司がトレーニング記録のデータ入力を、利用可能なすべてのタスクの完全なリストを表示する Excel スプレッドシートのようにしたいと考えていることです。ユーザーは、関連するすべてのタスクの完了日とトレーナー名を入力できます。多くの場合、作成日とトレーナーなしで複数のタスクが残されます (スタッフ メンバーはその特定のタスクについてまだトレーニングを受けていないため)。これについてどのように始めたらよいかよくわかりません。次のアイデアがありましたが、どれだけ実現可能かわかりません。
1) フォームが読み込まれたら、タスク名から利用可能なすべてのタスクとラベルのチェックボックスを追加します。次に、ユーザーは追加したいタスクをクリックし、選択したすべてのタスクに同じ日付とトレーナー名を指定します。
2) Office Excel スプレッドシート コントロール (10 または 11) を使用してデータ入力を許可し、コードを記述して情報を相互運用し、必要に応じて TrainingRecords テーブルを作成/修正します。多くの Excel VBA プログラミングを行ってきたので、このオプションはかなり簡単です。ただし、スプレッドシート内の Range/Cells オブジェクトにアクセスしてデータを読み書きする方法がわかりません。このコントロールは、実際にはこのように使用することを意図していないと思います。
3) 一時テーブル (サブフォームを介して表示される) を作成します。これには、すべてのタスクのリストが入力され、ユーザーがドロップダウン ボックスからスタッフ名を選択したときにスタッフ メンバーがトレーニングを受けていた場合は、メインフォーム。ユーザーがドロップダウン ボックスから別のスタッフ メンバーを選択すると、フォームが更新され、そのスタッフ メンバーのデータが表示されます。
私は、ここで考えたアイデアよりも簡単な他のアイデアや提案を受け入れます。