2つのデータテーブルから抽出したデータを1つのデータテーブルへ作成する方法


タイガー2  2008-10-10 16:21:19  No: 140616  IP: 192.*.*.*

皆様こんにちは^^わからなくなってしまったので質問させていただきます。

【環境】
OS:WinXP(SP3)
開発環境:VB2008(SP1)+.NET Framework3.0(SP1)

【困っていること】
今回はデータベースファイルを使用せずに、コード上から作成したデータベース?環境でのご質問です。
データセットに作成した2つのテーブル(伝票と商品テーブル)から、
共通の固有番号(主キーって言うのですかね?)を元に
1つのデータテーブル(全部テーブル)を作成してから表示をさせたいと思ってます。
データセットに2つのデータテーブルを作成するところまでコード出来たのですが、
後の処理をどうやればよいのか詰まってしまったのでご教授の程お願いしますm(__)m

*ちなみにAccess2003で以下のSQLクエリで出来ることは確認できました。
SELECT 伝票番号.伝票番号, 商品.商品番号, 商品.商品名 FROM 伝票番号 INNER JOIN 商品 ON 伝票番号.商品番号=商品.商品番号;

【データセットの中身】
■伝票データテーブル
伝票番号(数値型・重複なし)  商品番号(数値型)
1  101
2  201

■商品データテーブル
商品番号(数値型)  商品名(文字列型)
101  オレンジ
201  アップル

■全部データテーブル(←このデータテーブルを作成したいです!)
伝票番号  商品番号  商品名
1  101  オレンジ
2  201  アップル

【コード】
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim dSet As DataSet = New DataSet("test")
        Dim dTbl As DataTable
        Dim dRow As DataRow

        'データセットに伝票データテーブルを作成
        dSet.Tables.Add("伝票")
        'データテーブルを伝票データテーブルに設定
        dTbl = dSet.Tables("伝票")
        '列の作成
        dTbl.Columns.Add("伝票番号", Type.GetType("System.Int32"))
        dTbl.Columns.Add("商品番号", Type.GetType("System.Int32"))

        dRow = dTbl.NewRow
        dRow.Item(0) = 1
        dRow.Item(1) = 101
        'レコードの追加
        dTbl.Rows.Add(dRow)

        dRow = dTbl.NewRow
        dRow.Item(0) = 2
        dRow.Item(1) = 201
        'レコードの追加
        dTbl.Rows.Add(dRow)


        'データセットに商品データテーブルを作成
        dSet.Tables.Add("商品")
        'データテーブルを商品データテーブルに設定
        dTbl = dSet.Tables("商品")
        '列の作成
        dTbl.Columns.Add("商品番号", Type.GetType("System.Int32"))
        dTbl.Columns.Add("商品名", Type.GetType("System.String"))

        dRow = dTbl.NewRow
        dRow.Item(0) = 101
        dRow.Item(1) = "オレンジ"
        'レコードの追加
        dTbl.Rows.Add(dRow)

        dRow = dTbl.NewRow
        dRow.Item(0) = 201
        dRow.Item(1) = "アップル"
        'レコードの追加
        dTbl.Rows.Add(dRow)

  '全部テーブルの作成
  dSet.Tables.Add("全部")
  
    ・
    ・伝票と商品データテーブルにある商品番号を元に結合して、全部データテーブルに格納したいです;;
    ・

  ’データグリッドビューに表示
  DataGridView1.DataSource = dSet.Tables("全部")

    End Sub
End Class

編集 削除