Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


56910 / 76732 ←次へ | 前へ→

【24563】アクセスデータの集計
質問  さつき  - 05/4/26(火) 15:29 -

引用なし
パスワード
   VBA初心者です。初めて投稿させて頂きます。
以下のような集計を行いたいのですが、どのようにしたらいいでしょうか?

店名  契約者名  品名 
A店  佐藤    IBM
B店  神田    NEC
C店  広田    FUJI
A店  佐藤    NEC
A店  中川    FUJI
C店  広田    SHARP
B店  神田    IBM
A店  中川    SONY
B店  大村    SHARP
とあったとして、集計結果には、契約者ごとの購入数の数値だけでなく、それぞれの品名もセルに一覧表示しなくてはなりません。(今はその部分のコードは考え中です。)

A店 佐藤 IBM、NEC
   <件数> 2 
   中川 FUJI、SONY
   <件数> 2
   計   4
B店 神田 NEC、IBM
   <件数> 2
   大村 SHARP
   <件数> 1
   計   3
C店 広田 FUJI、SHARP
   <件数> 2
   計   2

下記のようにすると、店名の横に印刷される集計データは
ひとつ前の店の数字になってしまいます。
そこで、
Cells(n, 1) = rst.Fields("品名").Value 
の=以降のところを
= hinban 
などとすると、こんどは値は正しいのですが、「null値の使い方が不正です」と出ます。
どうしたらいいでしょうか?

Sub TEST3()
  ' 参照設定「Microsoft Active Data Object 2.x Library」
  Dim cnn As ADODB.Connection
  Dim rst As ADODB.Recordset
  Dim hinmei As String
  Dim tenmei As String
  Dim keiyakusha As String
  Dim c As Integer
  Dim n As Integer
  Dim t As Integer
    
  Set cnn = New ADODB.Connection
  cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:\Documents and Settings\週報.mdb"
  cnn.Open
  Set rst = New Recordset
  
  rst.Open "累積", cnn
  
  hinmei = ""
  tenmei = ""
  keiyakusha = ""


  rst.MoveFirst
  
Do Until rst.EOF = True

  c = c + 1
  
  If keiyakusha <> rst.Fields("契約者名").Value Then
    n = n + 1
    ' 行の変数を加算し必要項目を選択してセルにセット
       Cells(n, 1) = rst.Fields("品名").Value
       Cells(n, 2) = rst.Fields("店名").Value
       Cells(n, 3) = rst.Fields("契約者名").Value
       Cells(n, 4) = c
    t = t + 1

    hinmei = rst.Fields("品名").Value
    tenmei = rst.Fields("店名").Value
    keiyakusha = rst.Fields("契約者名").Value

    c = 0
  End If

  rst.MoveNext

Loop

  rst.Close
  Set rst = Nothing
  cnn.Close
  Set cnn = Nothing

End Sub
1 hits

【24563】アクセスデータの集計 さつき 05/4/26(火) 15:29 質問
【24570】Re:アクセスデータの集計 小僧 05/4/26(火) 19:42 回答
【24582】Re:アクセスデータの集計 さつき 05/4/27(水) 13:55 お礼
【24675】Re:アクセスデータの集計 さつき 05/5/2(月) 15:29 質問
【24676】Re:アクセスデータの集計 m2m10 05/5/2(月) 16:42 発言
【24721】Re:アクセスデータの集計 さつき 05/5/6(金) 10:51 お礼
【24771】Re:アクセスデータの集計 さつき 05/5/9(月) 18:59 質問
【24776】Re:アクセスデータの集計 小僧 05/5/10(火) 9:31 回答
【24780】Re:アクセスデータの集計 さつき 05/5/10(火) 11:19 質問
【24787】Re:アクセスデータの集計 小僧 05/5/10(火) 16:15 回答
【24868】Re:アクセスデータの集計 さつき 05/5/12(木) 9:43 お礼
【24879】Re:アクセスデータの集計 小僧 05/5/12(木) 13:26 回答
【24897】Re:アクセスデータの集計 さつき 05/5/12(木) 20:14 お礼
【24903】Re:アクセスデータの集計 小僧 05/5/13(金) 10:19 回答
【24974】Re:アクセスデータの集計 さつき 05/5/16(月) 15:06 お礼
【24573】Re:アクセスデータの集計 kazu 05/4/26(火) 21:02 発言
【24583】Re:アクセスデータの集計 さつき 05/4/27(水) 13:56 お礼
【24576】Re:アクセスデータの集計 ichinose 05/4/26(火) 23:43 発言
【24584】Re:アクセスデータの集計 さつき 05/4/27(水) 13:58 お礼

56910 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free