私のクライアントは、基本的なリレーショナル データを Access に保存したいと考えています。ここまでは順調ですね。しかし、理想的には、ユーザーが Access ソフトウェアを操作したり、データベースについて知らなくても、データ型を作成および変更できる Excel スプレッドシートを作成することを望んでいます。より具体的に言うと、彼は複数の異なる「プロジェクト」のデータを管理できる単一のマスター スプレッドシートを望んでいます。各プロジェクトには、基本的な属性と、それに取り組んでいる従業員、関連付けられたデータを含む項目の番号付けなどのその他の関連データがあります。私は以前にデータベースを扱ったことがありますが、これはリレーショナル データベースのきちんとした教科書的な例です。既にデータのモデルがあり、それを入力するための Access フォームを作成するのは簡単です。
しかし、問題は次のとおりです。彼は、Excel スプレッドシート内で完全に直感的に新しい属性とテーブルを作成したいと考えています。これは、[生徒を追加] ボタンをクリックしたり、データの新しいカテゴリを追加したりするのと同じくらい簡単です。たとえば、将来、彼はプロジェクトに取り組んでいる請負業者のリストを追加する可能性があり、基本的にその新しいテーブルを作成できるボタンを使用できると便利です. ただし、大量のデータはありません。参照整合性と正規化が重要かどうかはわかりません。たとえば、彼が作成する請負業者のリストは、各企業がデータベースに 1 回しか表示されないように完全にリンクする必要はありません。
それで、私は何をすべきですか?マクロを使用して Excel スプレッドシート内でこれを実行できますか? 「新しいテーブルを作成する」というボタンを Excel で作成して、(VBScript を実行して) 各プロジェクトに関連付ける新しいデータベース テーブルを作成し、それを書式設定できるようにすることはできますか? Excel をまったく気にせず、基本的に Visual Basic プログラムを作成する必要がありますか? 一般的なプログラミングとデータベースには精通していますが、Excel、Access、および Visual Basic についてはまったくの初心者です。チュートリアル、例、アドバイス、一般的な概念など、正しい方向に向けていただければ幸いです。