まだ始めたばかりで、説明の足らない点があるかと思います。
考え方としては、VB上でデータの読み込みを一度に全部読み込むのではなく、
for each文などの繰り返し処理を使用して一行ずつ読み込みたいです。
下記のテーブルから、日付ごとに金額をまとめたテーブルを作成したいです。
| 日付コード | 売上金額 |
|2022/04/05| 20000|
|2022/04/05| 20000|
|2022/04/06| 20000|
|2022/04/07| 20000|
|2022/04/07| 20000|
| 日付コード | 売上金額 |
|2022/04/05| 40000|
|2022/04/06| 20000|
|2022/04/07| 40000|
現状、一度にすべてを読みこみ、書き出す形式のコードは書いてあります。
Using con As New SqlConnection(connect)
Dim cmd As New SqlCommand("SELECT date_code, sum(sales_amount) as Total FROM control_break group by date_code ORDER BY date_code ASC", con) Dim a As New SqlDataAdapter(cmd) Dim dt As New DataTable a.Fill(dt) DataGridView2.DataSource = dt End Using
行いたい想定の手順を一からまとめます。
1、計算前のtテーブルを一行読み取る
日付コードを変数に入れる、売上金額を別の変数に入れる。
2,次の行を読み取り、日付が一致していたら売上金額をプラスする。
不一致の場合、その時点での日付と売上金額を別のテーブルに出力し、売上金額を0にする。
その後、日付を新しく変数に入れ、売上金額を変数に入れる
3、 2を繰り返し行い、最後まで出力したら、計算後のテーブルをDataGridViewに出力する。
この流れを想定しています。
結果としては、今書いてあるコードであっているのですが、その過程を変更したいというところです。
回答2件
あなたの回答
tips
プレビュー