0

単一の大きな情報テーブルを生成するプログラムを書いています。このテーブルは、数量を含む列とプロパティを含む列の 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 つの問題は、複雑であることに加えて、データ構造の変更とレポートの変更の確認の間に多くのクリックが発生することです。ユーザーが何かを変更し、再エクスポートしてアクセスし、別のプログラムを開いてから、レポートを開いて変更の効果を確認する必要はありません。

4

2 に答える 2

2

車輪の再発明ではなく、既成のクエリツールを購入することを検討してください。この種のことを行うことができる最も安価なものは、ExcelのMSAccessまたはMSQueryです。より精巧に、レポートビルダー(データベースがSQL Serverに基づいている場合-これには無料で付属しています)またはBusinessObjectsやBrioなどのサードパーティツールを使用できます。

緊密な統合なしで生活できる場合、これは独自のアドホッククエリツールを構築しようとするよりもはるかに簡単です。

于 2009-05-06T07:08:20.493 に答える
0

また、特に早い段階で、既成のものを強くお勧めします。後でユーザーが本当にカスタムソリューションを作成する必要があることが明らかになった場合は、ぜひそれを選択してください。しかし、これは早い段階で、あなたが費やす時間と労力の価値はないと思います。

于 2009-05-06T07:11:20.220 に答える