• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Accessで実労日数を算出したい)

Accessで実労日数を算出する方法とは?

このQ&Aのポイント
  • 受注生産品の納期管理のために、Accessで実労日数を算出する方法を知りたいです。
  • 納品予定日までの実労日数が7日を切った場合に警告を表示するフォームを作りたいです。
  • 年末年始やGW、盆休みを考慮した実労日数の計算手法や公的なカレンダー情報の取得方法について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • don9don9
  • ベストアンサー率47% (299/624)
回答No.1

曜日は万国共通ですが、祝日は国によって違います。 また、企業によって休みになる日は違います。 手っ取り早く行うなら社内カレンダー用のテーブルを一つ追加して 「年月日(実際の納品予定日データと同じ形式がいいです)」 「その日付が営業日かどうか(例えば営業日=1、非営業日=0など)」 をあらかじめ入力しておき、そのテーブルの 「年月日が今日の日付と納品予定日の間、かつ営業日である」 レコードの件数をクエリで求めればいいと思います。 こうしておけば、例えば 「通常は土日祝が休みだけど、繁忙期は土曜も出勤」 などのようなイレギュラーなケースにも対応できます。

earl_gray
質問者

お礼

なるほど、分かります。営業日フラグを使って、クエリで論理演算する。 そしてレコードの件数をカウントするのですね。 単純かつ実用的ですね! ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • 007MUKADE
  • ベストアンサー率41% (286/694)
回答No.2

考え方を提案します。 まず、各職場での ”非稼働日 ”(土日祭日や行事等々)のテーブルを造ります。 そして、基準日(何時でも良い)を起点とした ”稼働日付テーブル ”造り 稼働日付を 1から順番に割り振ります。 例えばカレンダーで 2010/05/10 は稼働日付では 88 と出れば 此を元にして 納期迄の残稼働日数が計算出来ます・・・・ ”Vector ” で ”企業用カレンダー ”というフリーソフトを使えば 各事業所の ”工場暦 ”は CSV 形式でのファイルを作成出来ますので 此を利用するのも 1案です。 ・・・・・>参考URLをご覧下さい。

参考URL:
http://www.vector.co.jp/soft/win95/personal/se260034.html
earl_gray
質問者

お礼

ユニークなアイデアありがとうございます。 概念の単純さはdon9don9さんに軍配をあげたいのですが、ご紹介いただいた 企業用カレンダーの生成機能は重宝しそうです。この手法と組み合わせると データ作りは一層簡略化されそうです。 ご指南いただきありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Access2000での日数の計算

    データベースの素人です。訳あって、データベースを作成することになりました。 ソフトはAccess2000を使用しております。 例えば「本体」というテーブルのフィールド項目に ID 荷物の受注日   荷物の発送日   所要日数 という項目があります。 同じくフォームにもこのとおりの項目があります。 「荷物の受注日」と「荷物の発送日」を手入力するのですが、「所要日数」だけは自動で計算をしたいのです。 マニュアル本とにらめっこをしながら、当初、フォーム上の「所要日数」の入力場所のプロパティ→データタブのコントロールソースに DateDiff("y",[荷物の受注日],[荷物の発送日]) と入力しました。 これで確かにフォームに入力した日付データに対して「所要日数」も表示されました。 しかし、「本体」テーブルのデータには、手入力した日付データは登録されているものの、「所要日数」は登録されていませんでした。 手入力した日付データを残したまま、今度はクエリを用いて「本体」テーブルのクエリを作ってみました。 クエリにて「所要日数」のところのフィールドに 所要日数: DateDiff("y",[本体]![荷物の受注日],[本体]![荷物の発送日]) と入力して、クエリを実行すると、確かにクエリの中の「所要日数」のところにはデータが出てきます。 しかしながら「本体」テーブルにも、フォーム上にもデータは出てきません。 いったいどのようにすれば、フォーム上にて手入力をした日付データに対して、所要日数を自動で計算し、そのデータが「本体」テーブルにも記録されるのでしょうか? どなたかお分かりになるかた、宜しくお願いいたします。

  • Access97での日付間の日数を求める方法は?

    過去ログに一応目を通したのですが、レベル的についていけないのか、理解できませんでした。 以下のような場合の対応策を教えてください。 <状態> ・フォーム上にて 「起算日」 「終了日」 「日数」 の3つのフィールドがあります。 ・「起算日」「終了日」は日付形式(yyyy/mm/dd)です。 <やりたいこと> ・「日数」のフィールドに「起算日」「終了日」の差の 日数を”*年*ヶ月*日”という形で表示したい。 ・「日数」に表示した結果は、テーブル上の 「日数」フィールドに格納する。 以上、できるだけ簡単な方法を教えていただけると有り難いです。よろしくお願いします。

  • 仕事でのミス どうすれば…

    仕事でミスをしました。 というか、おそらくミスをしたと思います。 客先からオーダーいただいた品物と違う品物を納品しました。 実は、昨日ミスをしていることに気がついたのですが、 客先はもうお休み(16日までお盆休み)でした。 連絡がつかないのでとりあえずFAXを流したのですが、 私の行っている会社は17日まで休み…。 18日にならないと客先と連絡がとれません。 今さらどうにもならないと分かっていても、 いろいろ考えてしまって…。 17日出勤して対応するべきか。 ただ、工場が休みのため私が出勤したからと言って どうにもならないし…。 いちから製作のため工場に納期を確認しないといけません。 モヤモヤというかどうしていいのかと頭の中がそればっかり…。 とりあえず、18日出勤後早急に対応すればいいのでしょうか。

  • 納期と納入日から遅延日数の計算式

    納期管理をエクセルでしています。 納期と納入日から遅延日数を表示したいと考えています。 条件としては、休日(土日祝)を除く営業日と、納期と納入日が同日の場合は0日で計算したいです。 (7/4納期の場合 7/4納入→0日 7/3納入→-1日 7/5納入→1日) 何かいい計算式があれば教えて下さい。お願いします。

  • アクセスで営業日を計算させる方法について

    アクセス2003で作業管理のデータベースを作っています。 フォームで入力された作業開始日に部品ごとに決まっている規定作業日数(営業日のみ)をたして作業完了予定日を出したいのですが、うまくできなくて、どうしようもなくなってしまい、質問させていただきました。 ○テーブル「部品マスタ」 部品番号 部品名 規定作業日数 ○テーブル「カレンダー」 年月日 営業日フラッグ (営業日フラッグは、営業日が1、休業日を0としています) ○テーブル「受注マスタ」 受注ID 部品番号 作業開始日 作業完了予定日 上記「部品マスタ」と「受注マスタ」をもとにクエリを作成し、入力フォームを作成しました。 ○フォーム「受注データ入力」 (入力)受注ID (入力)部品番号 (入力)作業開始日 (表示)部品名 (表示)規定作業日数 (計算)作業完了予定日 翌営業日とか3営業日後という風に納期などを計算する方法は見つけられたのですが、そこから応用をきかすことができなくて、行き詰ってしまいました・・。どなたか助けていただける方、よろしくお願いします。

  • Accessのクエリ 抽出条件について

    Accessのクエリ 抽出条件について Accessクエリのフィールドに納品日、検収日、納期検収変更日があり、これらで抽出条件を設定したいのですが、どうしていいか判りません。 抽出条件等の例を画像添付しますので、どうように設定すれば良いか? 具体的に教えて頂けると助かります。 フォームにも同じ項目を作成しています。

  • accessでのレコード移動について

    いつもお世話になっています。 アクセス初心者です。宜しくお願い致します。 現在、アクセスを用いて納品書を作成しています。 フォームにお客様情報、サブフォームに納品品目情報を入力。 フォームヘッダーに印刷ボタンを作り、納品書を印刷すると同時に、 そのレコードの印刷済みチェックボックスがオンになる 仕様になっているのですが、 情報を入力してもすぐその日には印刷をせず、 のちに、その印刷をしていないレコードを表示させて、 あらたに情報を追加入力後、改めて印刷をする事があります。 そこで質問なのですが、 今回、このフォームに検索ボタンを作り、 印刷済みチェックボックスがオフになっているレコードを 表示させようと思うのですが、どのようにしたらよいのでしょうか? ボタンを押すごとにまだ印刷していないデータだけが 次々表示されるボタンの作り方をご教授願えればと思います。 どうか宜しくお願い致します。

  • 製造業での当たり前?~納期と分納について~

    小企業で金属加工業(プレス業者ではありません)の営業をしております。 製造業の営業経験が浅いため教えてください。 以下のようなことは、製造業では当たり前の事なのでしょうか? 全て量産として発注いただいている場合です。 1、「歩留まりがたまたま良くて早く出来たからといって、客先への回答納期より独断で前倒しして納品してしまう」 ・営業部から客先へ伝える納期は、営業の指示や製造部が設定した納期。 Web-EDI発注の客先に対しては、納期回答は製造部が直接回答しています。 ・営業部はそのことを知りません。客先より指摘があって初めてわかります。 ・客先から出来た時点で出荷依頼有れば別だと思います。 ・全ての客先が前倒しがうれしい訳で無いと思う。少しの間とはいえ部品在庫となって困ることだってあるはず 客先によっては、発注時に依頼はしていないが、 気を利かせてくれたということで喜ばれることもあるでしょう。 全ての発注品は出来上がり次第早急に納入して欲しいところもあるでしょう。 特定の発注は、来上がり次第早急に納入して欲しいということもあるでしょう。 製造部が、営業部を通さずに独断で前倒しすることに疑問を感じます。 客先と話を通してからであれば全く問題ないと思います。 2、「出荷日当日に分納になることが分かる」 ・注文数通りに納品出来なくても、次回納入までに不足することないだろうから、この数量有れば問題ないだろうと平気で分納依頼を客先に交渉するように営業へ依頼する。 自社の生産管理に疑問を感じます。 確かに計算歩留まりより多く製作すれば分納になることは防げると思いますが、無駄な材料・時間・コストがかかってしまい問題になると思います。 このバランスは非常に難しいと思います。 上記に対して、営業として若しくは自社自体の回答納期の信頼性はどうなるのでしょうか? 単に営業部と製造部のコミュニケーション不足とも思えますが、 こういうことは日常茶飯事なのでしょうか? {「納期も品質である」ので品質評価に対して納期も採点する}と客先からは言われていますし、自分もそう思います。

  • ACCESS どなたか教えてください。

    現在,以下の構文を記載している状態です。 Private Sub コマンド62_Click() Dim Appwo As Word.Application Dim doc As Word.Document Dim stPath As String stPath = "C:\Users\pigo\Desktop\納品書.docx" Set Appwo = CreateObject("Word.Application") Set doc = Appwo.Documents.Open(stPath) Appwo.Visible = True With Appwo.Selection .Find.Text = "明細" .Find.Replacement.Text = Me.txt明細 .Find.Execute Replace:=wdReplaceAll End With With Appwo.Selection .Find.Text = "納品日" .Find.Replacement.Text = Me.txt納品日 .Find.Execute Replace:=wdReplaceAll End With Set Appwo = Nothing Set doc = Nothing End Sub ここで質問なのですが,フォーム上には,納品日として「平成16年4月12日」と記載されているのです(フォームプロパティの書式は,[ggge\年m\月d\日])が,コマンド62を実行した結果のWord上では,「納品日」の部分の置き換えとして「2004/04/12」との表示となってしまいます。 Word上でもそのまま「平成16年4月12日」と表示させたいのですが,どうすればよいのか分かりません。 どなたかお教えいただければ幸いです。よろしくお願いいたします。

  • カレンダーにおいて平日などの日数計算

     一晩、徹夜しましたが分からないので助けてください・・ エクセルでカレンダー作成をしまして、 例(1)月・水・金曜日(祝日を除く)に該当する日数 例(2)月・水・金曜日(盆・正月だけを除く)に該当する日数 などを調べたいのです。数え方はその月の「月=○日、水=□日、金=△日」と数えて、1ヶ月ごとに集計したいです。 カレンダーはネット検索でほとんどコピペで頂いてしまったので、どういう仕組みのものであると説明ができないのですが、これでは話にもならないでしょうか? 例(3)月・水・金曜日(祝祭日無関係)に該当する日数 これはすぐ分かりました。計算方法は以下のとおりです。 <9月>  A1 B1 C1 D1 E1 F1 G1  日 月 火 水 木 金 土     1  2  3  4  5  6  7  8  9  10 11 12 13  14 15 16 17 18 19 20  21 22 23 24 25 26 27  28 29 30     ↑   ↑   ↑     5    4   4(COUNT関数で数えました)  9月15日(月)が祝日なので、この日を数えないようにしたいのです。ちなみに「祝日」は定義付けてまして、カレンダーに反映され赤文字で表示されています。数えたい曜日パターンはたくさんありますが後は応用で頑張ってみます。どうか!とっかかりを教えてくださいませ! ※足らない情報がありましたらご指摘ください。すぐに補足します。

専門家に質問してみよう