DataSetオブジェクト.Tables.Count
Dim dSet As DataSet = New DataSet("~")
Dim dTbl As DataTable
dTbl = dSet.Tables.Add("ドリンク")
Debug.writeLine("テーブル数:" & dSet.Tables.Count)
dTbl = dSet.Tables.Add("デザート")
Debug.WriteLine("テーブル数:" & dSet.Tables.Count)
2.データセットのテーブルを削除するには、Removeメソッド
Dim dSet As DataSet = New DataSet("~")
Dim dTbl As DataTable
dTbl = dSet.Tables.Add("ドリンク")
Debug.writeLine("テーブル数:" & dSet.Tables.Count)
dSet.Tables.Remove("ドリンク")
Debug.WriteLine("テーブル数:" & dSet.Tables.Count)
3.データセットのテーブル間にリレーションを設定
DataSetオブジェクト.Relations.Add (リレーション名, 親フィールド, 子フィールド)
Dim dSet As DataSet = New DataSet("~")
Dim dTbl As DataTable
dTbl = dSet.Tables.Add("ドリンク")
dTbl.Columns.Add("ID", Type.GetType("System.Int32"))
dTbl.Columns.Add("メニュー", Type.GetType("System.String"))
dTbl = dSet.Tables.Add("売上")
dTbl.Columns.Add("NO", Type.GetType("System.Int32"))
dTbl.Columns.Add("個数", Type.GetType("System.String"))
'リレーションを設定
dSet.Relations.Add("メニュー別売上"
, dSet.Tables("ドリンク").Columns("ID")
, dSet.Tables("売上").Columns("NO"))
4.テーブルにフィルタを設定
DataRowオブジェクトのSelectメソッドを使ってデータセットのテーブルにフィルタを
設定した結果を得ることができる
Selectメソッドの引数には、フィルタ基準となる条件式を
「"フィールド名 > 100"」のように指定
また、第2引数でフィールドの値に応じた並べ替えを指定
並べ替えは昇順のときは「"フィールド名 ASC"」
降順のときは「"フィールド名 DESC"」と指定できる
Selectメソッドの戻り値はDataRowオブジェクトの配列
Dim RetRows As DataRow()
Dim dRow As DataRow
Dim dCol As DataColumn
Dim dSet As DataSet = New DataSet("~")
Dim dAdp As OleDbDataAdapter
Dim ocn As OleDbConnection = New OleDbConnection
ocn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\***.mdb;Persist Security Info=False
dAdp = New OleDbDataAdapter("SELECT * FROM 商品",ocn)
dAdp.Fill( dSet , "t_商品" )
RetRows = dSet.Tables("t_商品").Select("単価>=200", "単価 DESC")
If RetRows.Length = 0 Then
Debug.WriteLine("見つかりませんでした")
Exit Sub
End If
For Each dRow In RetRows
For Each dCol In dRow.Table.Columns
Debug.Write(ControlChars.Tab & dRow( dCol) )
Next
Debug.WriteLine("")
Next
0 件のコメント:
コメントを投稿