Access VBA質問箱 IV

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

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


7281 / 9994 ←次へ | 前へ→

【5909】Re:集計について
回答  てっちゃん  - 05/8/18(木) 17:12 -

引用なし
パスワード
   ▼Seri さん:
# 小僧さんの回答で解決となるかもしれませんが、せっかく作ったので...

自作関数で、日付をグループ化するコードを考えてみました。
まず、標準モジュールに、次のコードをコピペして下さい。
'--------------------------------------------------------------------------
Function fxGroupDate(ByVal myHIDUKE As Long, _
           ByVal myHINBAN As String) As Long
  Dim myDCnt   As Long   '前作業日の製造有無
  Dim myDmaxDay  As Long   '前作業日
  
  myDmaxDay = Nz(DMax("日付", "aaT_集計前", "日付<" & myHIDUKE), 0)
  myDCnt = DCount("*", "aaT_集計前", "日付=" & myDmaxDay & _
       " and 品番='" & myHINBAN & "'")
  
  Do Until myDCnt = 0   '連続生産時は遡る
    myHIDUKE = myDmaxDay
    myDmaxDay = Nz(DMax("日付", "aaT_集計前", "日付<" & myHIDUKE), 0)
    myDCnt = DCount("*", "aaT_集計前", "日付=" & myDmaxDay & _
         " and 品番='" & myHINBAN & "'")
  Loop
  
  fxGroupDate = myHIDUKE
  
End Function
'--------------------------------------------------------------------------
'日付は長整数型、品番はテキスト型、と想定してます。

次に以下のクエリーを作ります。
SELECT テーブル.鋳造機,
    fxGroupDate([テーブル]![日付],[テーブル]![品番]) AS 日付,
    テーブル.コード,
    テーブル.品番,
    テーブル.品名,
    Sum(テーブル.目標数) AS 目標数の合計,
    Sum(テーブル.実績数) AS 実績数の合計
FROM テーブル
GROUP BY テーブル.鋳造機,
     fxGroupDate([テーブル]![日付],[テーブル]![品番]),
     テーブル.コード,
     テーブル.品番,
     テーブル.品名
ORDER BY fxGroupDate([テーブル]![日付],[テーブル]![品番]),
     テーブル.品番;


テーブル名を「テーブル」としています。適宜変更してください。

また、日付はデータから判断してますので、例えば、
鋳造機   日付  コード  品番  品名  目標数  実績数    
10    20050601  0907   5678  AAAAA   400   320    
10    20050615  0907   5678  AAAAA   500   580    
このようなデータからは、

鋳造機   日付  コード  品番  品名  目標数  実績数    
10    20050601  0907   5678  AAAAA   900   900   
このように集計されます。
(連続した日付ではなく、製造日から判断してます)

さらに、小僧さんがご指摘されてる
>  ・20050601 に 鋳造機「9」と「10」で同じ製品が作られることはないのか。
>  ・コード・品番・品名は一意なのか。
>    (コードが決定したら品番と品名は決定されるのか。)
>  ・鋳造機ごとに作られる製品は決まっているのか。
>
> 等…がはっきりとしておりません。
これらについても考慮しておりませんので、結果についてはよく確認して下さい。

参考になれば幸いです。

227 hits

【5902】集計について Seri 05/8/18(木) 13:33 質問
【5903】Re:集計について 小僧 05/8/18(木) 15:43 発言
【5904】Re:集計について Seri 05/8/18(木) 15:50 質問
【5907】Re:集計について 小僧 05/8/18(木) 16:23 回答
【5909】Re:集計について てっちゃん 05/8/18(木) 17:12 回答
【5911】Re:集計について 小僧 05/8/18(木) 17:43 発言
【5913】Re:集計について てっちゃん 05/8/18(木) 18:07 発言
【5956】Re:集計について Seri 05/8/22(月) 14:58 お礼
【5982】Re:集計について Seri 05/8/23(火) 17:19 質問
【5983】Re:集計について Seri 05/8/23(火) 18:13 発言

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