みっくんです。私もVB2005の初心者です。難しいことばかしですが、コツコツとやっています。データベースで分からないことが有ります。教えてください。Datatableからさらに抽出条件を変えDatatableを作成したいのですが、Commandを実行すれば良いような気がするのですが、この時のSQL文の書き方が分かりません。よろしくお願いします。
> Datatableからさらに抽出条件を変えDatatableを作成したいのですが、DataView クラスを使ってみては如何でしょう。
魔界の仮面弁士さん、早速のアドバイスありがとうございました。> DataView クラスを使ってみては如何でしょう。DataViewを使用してみました。試したコードはDim dv As New DataViewdv.Table = ds.Tables(0)dv.RowFilter = "ShohinCD like 'NOTE%'"DataGridView2.DataSource = dvで、成功しました。もう少し教えていただきたいのですがDataTableのあるColumnでグループ化したものを作成したいのですがこの場合はどのようにすればよろしいでしょうか。よろしくお願いします。
> DataTableのあるColumnでグループ化したものを作成したいのですが> この場合はどのようにすればよろしいでしょうか。DataSet のリレーション機能を使う方法があります。たとえば、No.5735 のサンプルを見てください。http://hanatyan.sakura.ne.jp/vbnetbbs/wforum.cgi?no=5735&reno=5731&oya=5728&mode=msgview&page=30コードの最後に、 DataGridView3.DataSource = table2を付け加えれば、この DataGridView3 をグループ化したものがDataGridView1 になっている事が視認できるかと思います。
魔界の仮面弁士さん、ありがとうございます。> DataSet のリレーション機能を使う方法があります。→リレーション機能の件、了解です。先日、確認しました。 中々と難しいですが習得したいと思います。応用の範囲が広がります。 で、グループ化の表現があいまいだったようです。 SQL文で言うGROUP BYをDataTableから生成出来ないのか、教えていただきたいです。 サーバへ再度コマンドを実行すれば良いとは思いますが出来たらローカルPC上で 行えれば軽くなるのではと考えました。 よろしくお願いします。
> SQL文で言うGROUP BYをDataTableから生成出来ないのか、教えていただきたいです。ですから、そのための機能ですよ。式列を使えば、リレーション先のテーブルに対して、COUNT や MAX などの集計関数を使うこともできますし。[式列の作成]http://msdn2.microsoft.com/ja-jp/library/zwxk25bd%28VS.80%29.aspx[DataColumn.Expression プロパティ (System.Data)]http://msdn2.microsoft.com/ja-jp/library/system.data.datacolumn.expression%28VS.80%29.aspx
魔界の仮面弁士、失礼しました。この件は了解しました。よく見て習得したいと思います。ありがとうございました。