単一の大きな情報テーブルを生成するプログラムを書いています。このテーブルは、数量を含む列とプロパティを含む列の 2 種類の列で構成されています。量は合計できる数値であり、プロパティは量の値に属性を与える定性的な値です。
データがデータベースのテーブルにある場合、特定のプロパティと数量を選択し、選択したプロパティと同じ値を持つ数量を合計するクエリを作成できます。
例:
テーブル:
Quanity1 Quanity2 Quanity3 Property1 Property2 Property3
12 43 12 RED Long Rough
43 23 23 Blue Short Smooth
43 90 34 RED Fat Bumpy
クエリ:
SELECT sum(Quanity1), sum(Quanity2), Property1 FROM Table Group By Property1
結果:
Quanity1 Quanity2 Property1
43 23 Blue
55 133 Red
私がやりたいことは、SQL クエリの書き方やそのためのコードを知らなくても、これを行うためのグラフィカル インターフェイスをユーザーに提供することです。表示するプロパティと数量を選択する一連のリスト ボックスや、選択したフィールドと数量を合計した表が表示されます。後で、ユーザーが特定の条件に基づくフィルタリングなどのアクションのような他の SQL クエリを実行できるようにする機能を追加することもできます。また、これらのユーザー クエリに基づいて見栄えの良いレポートを生成できるようにする必要があることも後でわかります。
私は一般的に、ADO と .NET に非常に慣れていません。しかし、これを行う最善の方法は、データを System.Data.DataTable にエクスポートし、ユーザーが RowFilter プロパティの文字列を生成して System.Data.DataView を作成するためのインターフェイスを作成することだと考えています。ただし、DataTable をフィルター処理して並べ替えるだけでなく、大きなマスター テーブルから特定の列のみを含む別のテーブルまたはビューを生成する方法は明らかではありません。
全体として、これが最良の選択肢のように思えますか、それとも検討すべき別の方法はありますか? これをどのように実装する必要があるかについて、誰か特定のヒントや提案がありますか? また、これが LINQ で簡単になるかどうかも疑問でした。
更新 Access またはその他の利用可能なツールを使用することを提案していただければ幸いですが、それは実際にはオプションではありません。ここにいるユーザーにとってアクセスは複雑すぎて理解しようとすることができません。私は常に Access を上級ユーザー向けのオプションとして残しています。しかし、ユーザーが必要な列を選択すると、ソフトウェアが適切な列を選択して合計するビュー/クエリを自動的に作成する基本的なクエリ機能をセットアップしたいと思います。
Access のもう 1 つの問題は、複雑であることに加えて、データ構造の変更とレポートの変更の確認の間に多くのクリックが発生することです。ユーザーが何かを変更し、再エクスポートしてアクセスし、別のプログラムを開いてから、レポートを開いて変更の効果を確認する必要はありません。