ここから本文です

前回 「[納期]に注文書納期が記載されている場合、会社の年間休日を加味して[最終...

ky_********さん

2019/5/2709:03:36

前回
「[納期]に注文書納期が記載されている場合、会社の年間休日を加味して[最終検査]に自動的にの納期の2日前を表示させようとしました。

休日のカレンダテーブル [日付],[曜日],[休日フラグ]

生産管理のクエリに
最終検査: Nz([納期]-2-[休日],0)

休日: Nz(DSum("休日フラグ","2019カレンダ","日付 between #" & [納期] & "# and #" & [納期]-2 & "#"),0)

これにより[最終検査]に休日を加味したうえで2日前が表示できるようになったのですが、
データベース上、納期が空欄になっているところが多数あり、そのレコードではエラーが表示されてしまいます。
(クエリ式'日付 between ##and#'の日付の構文エラーです。)

このエラーを納期空白のままでエラーにならない方法はないでしょうか?
よろしくお願いいたします。 」

と質問させていただき

休日: IIF( [納期] IS NULL,0, Nz(DSum("休日フラグ","2019カレンダ","日付 between #" & [納期] - 2 & "# and #" & [納期] & "#"),0)

という回答をいただいて問題なく進めれると思っていましたが、1つ重要な問題がわかりました。

連休になった場合、火曜日が納期であれば金曜日が出荷検査日としたかったのですが、出荷検査日は土曜日になってしまいます。

月曜日が納期の場合、木曜日が出荷検査日と表示されるので問題ありません。
しかし、5月の連休時を表示させたところ、4/28~5/6が休みで 5/7納期設定だと5/3が検査日となってしまいました。

連休があってもうまく表示させる方法はないでしょうか?

閲覧数:
53
回答数:
2
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

tac********さん

2019/5/2709:45:14

カレンダテーブルから休日を除外したクエリを作り、そのクエリを元にして

休日: IIF( [納期] IS NULL,0, Nz(DSum("休日フラグ","2019カレンダ","日付 between #" & [納期] - 2 & "# and #" & [納期] & "#"),0)

を行えば良いのでは?

  • 質問者

    ky_********さん

    2019/5/2710:26:06

    回答ありがとうございます。
    そのようにしてみましたが
    変わりませんでした。

    出検予定: Nz([納期]-2-[休日],0)

    これがいけないのでしょうか?

  • その他の返信を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2019/5/29 08:14:09

ありがとうございました。
大変助かりました。
今後ともよろしくお願いいたします。

ベストアンサー以外の回答

1〜1件/1件中

tom********さん

2019/5/2712:59:08

ほぼ同様のことで四苦八苦したことがあります。
その時は土日、祝日の部分を自動的に検査日を計算させることをあきらめました。
どうせカレンダーをテーブルでもつなら、何月、何日出荷日の検査日は何月、何日というテーブルを持ち、クエリーで更新させました。
一年間の全日をカレンダーテーブルに持つ必要はなく、イレギュラー対応の必要な月日の部分だけを変換するテーブルを持ちました。
今回で言えば。5/7納期に対する検査日を指定した変換テーブルを持つといった具合です。
システム開発者からみたら、ダサいといわれそうですが要は得られる結果がOKならそれで良し・・・です。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる