- 日時: 2008/02/11 21:11
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[データベース][グリッド関係][] * * キーワード:DataGridView,マージ,データグリッドビュー,DataTable,結合, * *********************************************************************************** 記事No : 5716 投稿日 : 2007/06/25(Mon) 23:06 元質問 : びぎ
データテーブルの連結について教えて下さい。 訳あってSELECT ・・のLEFT OUTER JOIN が5つまでしか使えずデータテーブルを2つに 分けてしまいました。 その2つのデータテーブルをある項目で判断し1つのデータテーブルにしたいのですが このようなことはできますか?
例としまして1つ目のデータテーブル HIN , CODE1 , CODE2
2つ目のデータテーブル HIN , CODEME1 , CODEME2
とあった場合 HIN , CODE1 , CODEME1 , CODE2, CODEME2 というデータテーブルにしたいのです。
----------------------------------------------------------------------------------- 記事No : 5717 投稿日 : 2007/06/25(Mon) 23:21 投稿者 : 魔界の仮面弁士 ----------------------------------------------------------------------------------- DataTable の Merge メソッドを使うとか。
Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load Dim table1 As New DataTable() table1.Columns.Add("HIN") table1.Columns.Add("CODE1") table1.Columns.Add("CODE2") table1.Rows.Add("100", "101", "102") table1.Rows.Add("110", "111", "112") table1.Rows.Add("300", "121", "142") table1.Rows.Add("310", "131", "152") table1.PrimaryKey = New DataColumn() {table1.Columns("HIN")} table1.AcceptChanges()
Dim table2 As New DataTable() table2.Columns.Add("HIN") table2.Columns.Add("CODEME1") table2.Columns.Add("CODEME2") table2.Rows.Add("200", "201", "202") table2.Rows.Add("210", "211", "212") table2.Rows.Add("300", "221", "242") table2.Rows.Add("310", "231", "252") table2.PrimaryKey = New DataColumn() {table2.Columns("HIN")} table2.AcceptChanges()
'★ Merge メソッドで結合 ★ Dim table0 As New DataTable() table0.Merge(table1) table0.Merge(table2) 'table0.Columns("CODEME1").SetOrdinal(2)
DataGridView1.DataSource = table0 End Sub
上記実行結果の図(画像をクリックすると元のサイズで見られます)
|