- ベストアンサー
同一フォーム上で規格品と規格外品を表示したい方法についてのアドバイス
- 規格品と規格外品を同一フォーム上で分類して表示する方法についてアドバイスをお願いします。
- 現在は2つのフォームで表示していますが、1つのフォームにまとめる方法を教えてください。
- 規格品と規格外品の商品数や出荷量の例に基づいて、1つのフォームで表示する方法を考えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>フラグのNullの部分だけの合計はどのようにすれば良いのでしょう・・SQLはどこに書き込めば良いのでしょうか SQLは必要ありません。 フォーム上であればフォームフッターにテキストボックスを配置しテキストボックスで演算すれば済むことです。 コントロールソースにSum関数にIIfでもネストすればすぐ出来ます。 =Sum(IIf([規格品] Is Null,[出荷量],0)) か =Sum(IIf([規格品] <> 1,[出荷量],0)) または =Sum(IIf([規格品] = 1,0,[出荷量])) で出来ます。
その他の回答 (1)
- O_cyan
- ベストアンサー率59% (745/1260)
クエリで規格品のフラグで分けているのであれば分けないで規格品のフラグでもグループ化すれば済むのではないですか。規格品のフラグがNullか1かなら降順にすれば1が先になりますから。 作ったクエリをフォームのレコードソースにすればいいと思いますが。 SQLなら下記で SELECT [納品書テーブル].規格品, [納品書テーブル].製品名, [納品書テーブル].CODE, Sum([納品書テーブル].出荷量) AS 出荷量の合計 FROM 納品書テーブル GROUP BY [納品書テーブル].日付, [納品書テーブル].規格品, [納品書テーブル].製品名 ORDER BY [納品書テーブル].規格品 DESC;
補足
早速のアドバイスありがとうございます。 確かに降順にすれば並び替えられました。 こんな簡単な事に思い至らないなんて、お恥ずかしい次第です 又フラグのNullの部分だけの合計はどのようにすれば良いのでしょう SELECT関数とSUM関数の連携かなと考えますがわかりません アクセスを始めたばかりですので、よろしくお願いいたします。 恥のかきついでにSQLはどこに書き込めば良いのでしょうか? フォームのレコードソースでよいのでしょうか? よろしくお願いいたします。
お礼
O_cyanさん 有難うございます。 =Sum(IIf([規格品] Is Null,[出荷量],0))で 分けて合計できました。 もう一つ甘えさせて頂けませんでしょうか? 製品名の頭2文字が種類で後の2文字で製品の硬度を 表しているのですが種類別に合計したいのですが 今の状態ですと、 製品名 出荷量 18-18 10 18-21 5 と表示されますが (今は、転記する時に電卓で計算しています) 18N 15 の様に表示させたいのです。 エクセルですとセルA1にあるデータを=RIGHT(A1,2) で頭2文字にした後集計、出来るのですが、 クエリで出来そうなのですが、頭2文字で 集計する方法をアドバイスいただけませんか? あつかましいお願いとは承知しておりますが よろしくお願いいたします
補足
大変失礼いたしました。 製品の種類だけのテーブルを作成し クエリで種類テーブルを追加し結合プロパティで 結合させ頭2文字だけを集計する事ができました。 ありがとうございました。