Access VBA質問箱 IV

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

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


486 / 9994 ←次へ | 前へ→

【12820】Re:帳票で階段状に塗り潰し
回答  かるびの  - 15/4/17(金) 1:20 -

引用なし
パスワード
    テーブル構成、クエリ内容の提示については、了解です。

 テーブルについては、1つのテーブルに情報を盛り込み過ぎている、
言い換えると、もっとテーブルを分割した方がいいのではないか
という印象ですが、
当方には業務の実態が全くわからないので、
テーブル構成の適否を的確に判断できませんし、
今回のスレッドのテーマからは外れてしまうので、
これ以上は触れません。


 SQL文が見づらいので、整形してみました。

Q_工程別

SELECT 加工順
   , オーダーNo
   , 発注日
   , 発注担当者名
   , 品番図番
   , 品名
   , 部品発注数
   , 納期
   , 発注残数
   , 工程名
   , 形式寸法
   , 工程備考
   , 在庫数
   , 納期対応
   , 在庫対応
   , 進捗
   , 予定日数
   , IIf([加工順]=1
     ,Mid("ABCDEFGHIJKLMNOPQRSTUVWXYZ",1,[予定日数])
     ,Mid("ABCDEFGHIJKLMNOPQRSTUVWXYZ",[累計]+1,[予定日数])
     ) AS 表
   , DSum("予定日数","受注リスト","加工順<" & [加工順]) AS 累計
FROM 受注リスト
ORDER BY IIf(IsNull([加工順]),1,0)
    , 加工順
    , 納期
    , 納期対応 DESC;

>加工順、予定日数が無い時にエラーが出ますがなんとなくアルファベットの表示が[表]に出てくるように
>なりました。あっているかはともかくですが
>いかがでしょうか

 期待どおりの、あるいは予想どおりの文字列が「表」フィールドに
表示されれば、それが正解です。

 強いて言えば、「表」フィールドと「累計」フィールドの順番を入れ替えた方がいいと思います。
 「累計」フィールドを算出した後で、「表」フィールドの値を生成することになるからです。


 あとは、「表」フィールドの結果に、スペースを追加するという処理だけですね。
 なお、この処理を「表」フィールドに盛り込んでもいいのですが、
処理経過を確認するために、
「表」フィールドとスペース追加の処理は、別フィールドにした方がいいと思います。


>加工順、予定日数が無い時にエラーが出ますが

 エラーの原因はわかっていますか。

 エラーの原因ですが、
予定日数がないときは、「予定日数」フィールドの値はNullとなっています。
 したがって、「表」フィールド内のIIF関数のFalseパートにおける
Mid("ABCDEFGHIJKLMNOPQRSTUVWXYZ",[累計]+1,[予定日数])
には、第3引数の値としてNullが渡されるわけですが、
Mid関数の第3引数はNull値をとれないため、このMid関数がエラーを返し、
その結果、その外側にあるIIF関数もエラーを返します。
 だから、Mid関数がエラーにならないような値を渡すようにする必要があります。


 VBEのイミディエイト・ウィンドウに、例えば、
   ? Mid("ABCD",2,2)
   ? Mid("ABCD",2,Null)
などと入力し、どういう値が返されるか実験してみてください。

774 hits

【12803】帳票で階段状に塗り潰し せいさん 15/4/11(土) 13:05 質問[未読]
【12804】Re:帳票で階段状に塗り潰し せいさん 15/4/11(土) 15:22 発言[未読]
【12810】Re:帳票で階段状に塗り潰し かるびの 15/4/14(火) 2:51 回答[未読]
【12812】Re:帳票で階段状に塗り潰し せいさん 15/4/14(火) 22:01 質問[未読]
【12813】Re:帳票で階段状に塗り潰し かるびの 15/4/15(水) 0:45 回答[未読]
【12814】Re:帳票で階段状に塗り潰し せいさん 15/4/15(水) 14:14 質問[未読]
【12815】Re:帳票で階段状に塗り潰し せいさん 15/4/15(水) 18:11 発言[未読]
【12816】Re:帳票で階段状に塗り潰し かるびの 15/4/16(木) 1:10 回答[未読]
【12817】Re:帳票で階段状に塗り潰し せいさん 15/4/16(木) 15:47 質問[未読]
【12818】Re:帳票で階段状に塗り潰し せいさん 15/4/16(木) 19:54 質問[未読]
【12820】Re:帳票で階段状に塗り潰し かるびの 15/4/17(金) 1:20 回答[未読]
【12821】Re:帳票で階段状に塗り潰し せいさん 15/4/17(金) 18:14 お礼[未読]
【12822】Re:帳票で階段状に塗り潰し せいさん 15/4/17(金) 23:19 質問[未読]
【12823】Re:帳票で階段状に塗り潰し かるびの 15/4/18(土) 1:07 回答[未読]
【12824】Re:帳票で階段状に塗り潰し せいさん 15/4/18(土) 11:33 お礼[未読]

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