0

私のクライアントは、基本的なリレーショナル データを Access に保存したいと考えています。ここまでは順調ですね。しかし、理想的には、ユーザーが Access ソフトウェアを操作したり、データベースについて知らなくても、データ型を作成および変更できる Excel スプレッドシートを作成することを望んでいます。より具体的に言うと、彼は複数の異なる「プロジェクト」のデータを管理できる単一のマスター スプレッドシートを望んでいます。各プロジェクトには、基本的な属性と、それに取り組んでいる従業員、関連付けられたデータを含む項目の番号付けなどのその他の関連データがあります。私は以前にデータベースを扱ったことがありますが、これはリレーショナル データベースのきちんとした教科書的な例です。既にデータのモデルがあり、それを入力するための Access フォームを作成するのは簡単です。

しかし、問題は次のとおりです。彼は、Excel スプレッドシート内で完全に直感的に新しい属性とテーブルを作成したいと考えています。これは、[生徒を追加] ボタンをクリックしたり、データの新しいカテゴリを追加したりするのと同じくらい簡単です。たとえば、将来、彼はプロジェクトに取り組んでいる請負業者のリストを追加する可能性があり、基本的にその新しいテーブルを作成できるボタンを使用できると便利です. ただし、大量のデータはありません。参照整合性と正規化が重要かどうかはわかりません。たとえば、彼が作成する請負業者のリストは、各企業がデータベースに 1 回しか表示されないように完全にリンクする必要はありません。

それで、私は何をすべきですか?マクロを使用して Excel スプレッドシート内でこれを実行できますか? 「新しいテーブルを作成する」というボタンを Excel で作成して、(VBScript を実行して) 各プロジェクトに関連付ける新しいデータベース テーブルを作成し、それを書式設定できるようにすることはできますか? Excel をまったく気にせず、基本的に Visual Basic プログラムを作成する必要がありますか? 一般的なプログラミングとデータベースには精通していますが、Excel、Access、および Visual Basic についてはまったくの初心者です。チュートリアル、例、アドバイス、一般的な概念など、正しい方向に向けていただければ幸いです。

4

2 に答える 2

1

Excelは基本的にデータの分析用であり、Accessは基本的にリレーショナルデータの保存と処理用です。さて、そうは言っても、あなたがやろうとしていることはおそらく可能ですが、それは実際にはソフトウェアが最適化された機能を利用していません。

さらに、「各プロジェクトに関連付けられるテーブル」を追加することは、単純な問題の複雑な解決策のように、「それを行うためのリレーショナルな方法」とは思えません。

おそらく、いくつかの代替案を検討する必要があります。

  • データの量が少なく、それほど複雑ではない場合、Accessが本当に必要になるのでしょうか、それともデータの保存と操作にExcelを使用するのでしょうか。
  • データの構造に応じて、Accessでビューまたはストアドプロシージャを作成し、Excelでリンクテーブルとして使用できますか?
  • おそらく、Accessで必要なフォームのセットを開発し、それをスタンドアロンアプリケーションに変えることができます(クライアントのコンピューターにAccessをインストールする必要はありません)。
于 2012-08-20T17:12:23.513 に答える
0

データを入力する人にとって、Access は構築されているため、リレーショナル データをまったく理解する必要はありません。彼らに Excel へのデータ入力を許可する場合、Access で同じ制御を行うために過剰なコードを作成する必要があります。そうしないと、データを自由形式のデータにして、Access にインポートし直すことができなくなるリスクがあります。 .

非常に複雑な計算があり、ユーザーがレポート レイアウトを「微調整」する必要がある場合を除き、データ入力フォームを提供します。

「Excel での作業に慣れているので、Access で再学習したくない」という考えに注意してください。データ入力は非常に直感的に行うことができ、長期的には時間を節約できます。

Excel を理解し、必要に応じてあなたなしで更新できるようにしたいと考えている所有者/管理者がいるようです。

于 2012-08-20T19:31:07.717 に答える