Access VBA質問箱 IV

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

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


586 / 2272 ツリー ←次へ | 前へ→

【11056】平均納品数の計算方法について Akaishi 09/4/7(火) 22:00 質問[未読]
【11058】Re:平均納品数の計算方法について 09/4/8(水) 0:53 回答[未読]
【11059】Re:平均納品数の計算方法について Akaishi 09/4/8(水) 7:00 質問[未読]
【11060】Re:平均納品数の計算方法について 09/4/8(水) 9:35 回答[未読]
【11063】Re:平均納品数の計算方法について Akaishi 09/4/8(水) 21:36 質問[未読]
【11064】Re:平均納品数の計算方法について 09/4/8(水) 22:42 回答[未読]
【11065】Re:平均納品数の計算方法について Akaishi 09/4/9(木) 7:00 質問[未読]
【11067】Re:平均納品数の計算方法について 09/4/9(木) 9:24 回答[未読]
【11068】Re:平均納品数の計算方法について Akaishi 09/4/10(金) 6:25 お礼[未読]

【11056】平均納品数の計算方法について
質問  Akaishi  - 09/4/7(火) 22:00 -

引用なし
パスワード
   こんばんは
 仕事の関係で、たまに「平均納品数」を計算しています。いつも紙ベースで
計算していますが、もしAccessを使えば、もっと計算が楽になるかと思って、
試しにやってみましたが、二つの問題に直面しています。

[質問1]
Excelの場合は、Σ関数を使えば、横方向の合計が簡単にできます。
Accessの場合は、nz[[03/01],0]+・・・・nz[[03/07],0]
        のよう連続に書かないと計算できないですか?ほかの方法は
        ありませんか?

[質問2]
納品数があるところだけ、カウントする方法はありますか?


             tableデータ           算出結果
-------------------------------------------------------***************
商品CD 03/01 03/02 03/03 03/04 03/05 03/06 03/07 平均納品数
A001  1   1       2       1   1   1.2 →6/5
A02      1   1       1          1.0 →3/3

-------------------------------------------------------***************  

【11058】Re:平均納品数の計算方法について
回答    - 09/4/8(水) 0:53 -

引用なし
パスワード
   こんばんわ。雅です。

>[質問1]
>Excelの場合は、Σ関数を使えば、横方向の合計が簡単にできます。
>Accessの場合は、nz[[03/01],0]+・・・・nz[[03/07],0]
>        のよう連続に書かないと計算できないですか?ほかの方法は
>        ありませんか?
>
>[質問2]
>納品数があるところだけ、カウントする方法はありますか?
>
>
>             tableデータ           算出結果
>-------------------------------------------------------***************
>商品CD 03/01 03/02 03/03 03/04 03/05 03/06 03/07 平均納品数
>A001  1   1       2       1   1   1.2 →6/5
>A02      1   1       1          1.0 →3/3
>・
>-------------------------------------------------------***************  
テーブルの設計に問題がありますね。
Accessは表計算ではなくデータベースですから。
商品コード、日付、納品数
とかにするとよいでしょう。

でわ。

【11059】Re:平均納品数の計算方法について
質問  Akaishi  - 09/4/8(水) 7:00 -

引用なし
パスワード
   雅さん
 返事が遅くなりまして、申し訳ありません。
 確かにテープルの構成上では、ご指摘の通り問題があると思います。
テストのため、早速、以下のように変更しました。

Test_TB
------------------------------------
商品CD  日付  納品数
A001   03/01  1



------------------------------------

平均納品数をだすには、どのように計算しますか?
1.納品累計数
2.納品日数

こんな感じかなあ?
ご指導ください!
SELECT 商品CD,日付,SUM(納品数) AS 納品累計数,count(??) AS 納品日数
                        -----------引数の使い方?   
FROM  Test_TB

【11060】Re:平均納品数の計算方法について
回答    - 09/4/8(水) 9:35 -

引用なし
パスワード
   おはようございます。雅です。

>平均納品数をだすには、どのように計算しますか?
>1.納品累計数
>2.納品日数
>
>こんな感じかなあ?
>ご指導ください!
>SELECT 商品CD,日付,SUM(納品数) AS 納品累計数,count(??) AS 納品日数
>                        -----------引数の使い方?   
>FROM  Test_TB

月平均でいいんでしょうか?
SELECT
  商品CD,
  Format(日付, "yyyy/mm") As 納品月,
  Count(*) As 納品日数,
  Sum(納品数) As 納品累計数,
  納品累計数/納品日数 As 平均納品数
FROM
  Test_TB
GROUP BY
  商品CD,
  Format(日付, "yyyy/mm")
な感じでしょうか?

でわ。

【11063】Re:平均納品数の計算方法について
質問  Akaishi  - 09/4/8(水) 21:36 -

引用なし
パスワード
   こんばんは
 早速、試しにしました、見事に成功しました。
Sqlビューにて、コード記述のルールについて、再度三つの質問させていただきます。

※1どうして以下のような記述だと、エラーがでますか?
---------------------------------------------------------- 
SELECT
  商品CD,
  Format(日付, "yyyy/mm") As 納品月,
  Count(*) As 納品日数,
  Sum(納品数) As 納品累計数,
  納品累計数/納品日数 As 平均納品数
FROM
  Test_TB
GROUP BY
  商品CD,
  Format(日付, "yyyy/mm")
----------------------------------------------------------

※2以下のように記述すると、エラーがでないのですか?
**********************************************************
SELECT 商品CD,・・・・・・
FROM Test_TB
GROUP BY ・・・・・・
**********************************************************

※3[納品数]の値には、もしNullが含まれている場合は、どのように
対処すべきでしょうか?

【11064】Re:平均納品数の計算方法について
回答    - 09/4/8(水) 22:42 -

引用なし
パスワード
   こんばんわ。雅です。

>※1どうして以下のような記述だと、エラーがでますか?
>---------------------------------------------------------- 
>SELECT
>  商品CD,
>  Format(日付, "yyyy/mm") As 納品月,
>  Count(*) As 納品日数,
>  Sum(納品数) As 納品累計数,
>  納品累計数/納品日数 As 平均納品数
>FROM
>  Test_TB
>GROUP BY
>  商品CD,
>  Format(日付, "yyyy/mm")
>----------------------------------------------------------

このまんま貼り付けたんですか?
そうならスペースが全角だからです。

>※2以下のように記述すると、エラーがでないのですか?

上述の通り全角スペースがないから

>※3[納品数]の値には、もしNullが含まれている場合は、どのように
>対処すべきでしょうか?

どのようにしたいかによります。

でわ。

【11065】Re:平均納品数の計算方法について
質問  Akaishi  - 09/4/9(木) 7:00 -

引用なし
パスワード
   雅さま

おはようございます。

>そうならスペースが全角だからです。

要するに半角スペースならば、良いわけですね。

>
>>※3[納品数]の値には、もしNullが含まれている場合は、どのように
>>対処すべきでしょうか?
>
>どのようにしたいかによります。

テーブルの構造変更前に以下のことを経験しました。
合計をだしたら、結果がおかしくて、対策としてNz関数を使うことにしました。


商品CD 04/01 04/02 04/03 04/05 納品合計---->Nz([04/01],0)+・・・
ABC   1   1      1   0 ----->04/03のNullの影響で結果がゼロ
ACD   1   1   0   1   3 ----->04/03の値はゼロの為、結果が正

【11067】Re:平均納品数の計算方法について
回答    - 09/4/9(木) 9:24 -

引用なし
パスワード
   おはようございます。雅です。

>>>※3[納品数]の値には、もしNullが含まれている場合は、どのように
>>>対処すべきでしょうか?
>>
>>どのようにしたいかによります。
>
>テーブルの構造変更前に以下のことを経験しました。
>合計をだしたら、結果がおかしくて、対策としてNz関数を使うことにしました。
>
>
>商品CD 04/01 04/02 04/03 04/05 納品合計---->Nz([04/01],0)+・・・
>ABC   1   1      1   0 ----->04/03のNullの影響で結果がゼロ
>ACD   1   1   0   1   3 ----->04/03の値はゼロの為、結果が正

Nullなら無視してしまってよいということであれば
WHERE 納品数 Is Not Null
というのを付け加えるとよいです。
さらに言うとNullは不要、ということならデータも不要ということで
こういったデータが作られないようにするほうがよいと思います。

でわ。

【11068】Re:平均納品数の計算方法について
お礼  Akaishi  - 09/4/10(金) 6:25 -

引用なし
パスワード
   おはようございます!
 ためしに、やってみました。やはり、Is Not Nullで制御をかける方法を
決めました。
 いろいろとおしえていただき、
ありがとうございました。

586 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078195
(SS)C-BOARD v3.8 is Free