• ベストアンサー

自動入力

 事務職です。請求書の〔発送日〕があって、その1ヵ月後に〔締切日〕があります。たとえば10月7日〔発送日〕の場合、11月6日〔締切日〕となります。こんなとき、フォームの入力支援で、発送日を入力することによって、締め切りの日が自動入力できる技を教えてください。 次に、11月6日〔締切日〕が日曜日など休日の場合、曜日を感知して11月7日(月)が〔締切日〕として、自動入力してくれる技などあったらお教え願います。

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

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.3

>締め切りの日が自動入力できる技を教えてください。 データベースの基本原則として 他のフィールドの値から演算で求められるものはテーブルには格納しない というのがあります 従って締め切り日はテーブルに入力する必要はありません クエリで計算させます 以下は締め切り日をクエリで求める場合の計算方法です 曜日の情報はシステムが持っていますが 休日の情報は外から与えてやる必要があります 休日テーブルという方法もありますが 処理が早いのはカレンダーテーブルを持つ方法ですね カレンダーの元はExcelで作成すると簡単です 日付の横に休日かどうかを表す列をもうけ 日曜が休日ならそこにマークを付けるところまではExcelでできます この表をAccessにインポートし休日のところにに人手でマークを付けていきます 思ったより簡単にできますよ 急な休日の変更があった場合の手直しも簡単です 年に一度翌年分を追加する作業はありますけどね 後は関数で1月後を求め、カレンダーテーブルからその日以降で休日でない最小日付を求めればいいのです VBAは使わないでも求められます DMin("日付","カレンダー","日付>=#" & DateAdd("m",1,[発送日])-1 & "# and 休日=1") 上の例ではカレンダーテーブルの休日フィールドに休日=0、稼働日=1を入力しているとしています

heiso
質問者

お礼

ご教授ありがとうございました。早速挑戦してみます。初級程度の知識しかないので、大変たすかります。せっかくのデータベース、機能を十分発揮させられたらいいですね。ありがとうございました。

その他の回答 (2)

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.2

アプリケーションがアクセスということであれば。。 1)土日以外の休日・祭日情報のテーブルを作成する。 2)アクセスには、VBA(マクロ)があります。   入力フォームの発送日の入力時に、締切日を変更するよう、   プログラミングすれば実現可能です。 事務職ということで、マクロが分からない場合、分かる人にお願い するのが早いと思います。 ここでサンプルマクロを提示しても、使用中のフォームの内容に よって、マクロの細部が異なるため、100%の回答は得られません。

heiso
質問者

お礼

 ご回答ありがとうございました。まわりにアクセスユーザーが無く困っていました。

  • splwtr
  • ベストアンサー率16% (75/461)
回答No.1

その事務処理で使用するソフトウェアの改良が必要と思います。 会社のカレンダの休日等の設定などは、人の手でしないとダメでしょう。

heiso
質問者

お礼

 ご回答ありがとうございます。ソフトウエアは、アクセスです。

関連するQ&A