0

すべてのグループをループにロードして、Arrayそれらのグループをループし、エージェントごとにいくつのアセットがあるかを確認しようとしています。アセットがエージェントよりも多い場合は、それらをダミー グループ 0 に移動しDataSetますTableAdapator

基本的にグループ - エージェント - アセット

0--0--10
1--3--3
2--3--5
3--10--15

グループ 2 には 2 つの余分なアセットがあるので、それらを空のグループ 0 に移動したい

ガイドしてください

Dim rs, lines
rs = cn.Execute("select grp from tskmsgrp where listid = 0;")

Dim da As New System.Data.OleDb.OleDbDataAdapter()
Dim da_line As New System.Data.OleDb.OleDbDataAdapter()
Dim ds As New DataSet()
da.Fill(ds, rs, "grp")

MsgBox("There are  total products." & ds.Tables(0).Rows.Count.ToString)
For Each a As DataRow In ds.Tables(0).Rows
    lines = cn.Execute("select count(*) from tsklines where grp ='" & a(0) & "';")
    Dim ds_lines As New DataSet()
    da_line.Fill(ds_lines, lines, "lines")
    MsgBox("Lines for group." & a(0) & " -- " & ds_lines.Tables(0).Rows.Count.ToString)
Next
4

1 に答える 1

0

いくつかのポイント - 詳細を確認できます。

  1. 行 a のデータにアクセスできるため、ループ内に select ステートメントは必要ありません。
  2. データセットを再度入力する必要はありません。ds を更新するだけです。ループが完了したら、一度にすべて更新できます。
于 2013-01-09T03:26:39.973 に答える