VBのコーディングについて
はじめまして。VBの課題で行き詰ってしまったので、力を貸していただければと思います。
課題は【商品一覧からレコードを取得し、取得したレコードを商品区分で集計し、商品区分・商品件数・売上合計金額を区分別売上表に出力する】
といったものです。
商品一覧には、【商品区分・商品名・売上】の順にデータが入っています。
自分なりに考えた手順は
Private Sub コマンド1_Click()
Dim INP_DATA As String
Dim kubun_01 As String
Dim syohin_01 As String
Dim uriage_01 As Integer
Dim kubun_02 As String
Dim syohin_02 As String
Dim uriage_02 As Integer
Open "C:INFILE.txt" For Input As #1
Open "C:OUT_FILE.txt" For Output As #2
'ファイルの終了までループ
Do Until EOF(1)
Line Input #1, INP_DATA
'読み込んだレコードの各項目を変数に代入
kubun_01 = Trim(Left(INP_DATA, 10))
syohin_01 = Trim(Mid(INP_DATA, 11, 10))
uriage_01 = Right(INP_DATA, 8)
'一行目かどうか
If Trim(Mid(INP_DATA, 11, 10)) = syohin_01
kubun_01 = Trim(Left(INP_DATA, 10))
syohin_01 = Trim(Mid(INP_DATA, 11, 15))
uriage_01 = Right(INP_DATA, 8)
ElseIf Trim(Mid(INP_DATA, 11, 10)) <> syohin_01 Then
kubun_02 = Trim(Left(INP_DATA, 10))
syohin_02 = Trim(Mid(INP_DATA, 11, 10))
uriage_02 = Right(INP_DATA, 8)
End If
If kubun = kubun_hikaku_2 Then
goukei = uriage_hikaku_2 + uriage
ElseIf kubun <> kubun_hikaku_2 Then
Print #2, kubun; syohin; goukei
End If
Loop
'新たに比較用の変数に格納
Do Until EOF(1)
Line Input #1, INP_DATA
kubun_01 = Trim(Left(INP_DATA, 10))
syohin_01 = Trim(Mid(INP_DATA, 11, 10))
uriage_01 = Right(INP_DATA, 8)
Loop
Debug.Print "PROGRAM END"
Close #1
Close #2
End Sub
となっています。長くなってしまい申し訳ありません。
上記のコーディングですと、欲しいデータが返ってこないので、
どなたかご教授いただけないでしょうか??
よろしくお願いいたします。
補足
ありがとうございました。 .InBufferCount = 2048としても、取得できたのは先頭の数桁でした。NGでした。 必要なデータは、先頭100桁です。 他の1Dコードではデータの桁数が違うのですが、.InBufferCount = 100でデータの取得ができました。OKでした。 QRコードでは、VB6やハードウェアに仕様があるのでしょか?