No.2ベストアンサー
- 回答日時:
workday関数ですが、Accessにはないので、
モジュールで自作する必要があります。
まず、祝日や、盆休みなどの休日のデータを用意します。
Accessの場合、テーブルとして作った方が良いでしょう。
テーブル名 :holiday
フィールド名:data (日付型) 主キー
土日は計算できるので、土日以外の、祝日や、
振り替え休日、会社独自の休日などを登録しておきます。
次に、新規のモジュールを追加し、下記のようなソースを記述。
適当な名前で保存して下さい。
-----------------------------------------------------------
Option Compare Database
Option Explicit
'd(日付)から、c(日数)営業日後の日付を返す
Public Function WorkDay(d As Date, c As Integer)
Dim count As Integer
'初期化
WorkDay = NextWorkDay(d)
count = 0
Do While count < c
'営業日をカウントしながら進める
WorkDay = NextWorkDay(DateAdd("d", WorkDay, 1))
count = count + 1
Loop
End Function
'd(日付)以降の営業日を返す
Private Function NextWorkDay(d As Date) As Date
NextWorkDay = d
Do While IsHoliday(NextWorkDay)
NextWorkDay = DateAdd("d", NextWorkDay, 1)
Loop
End Function
'd(日付)が、土日・休日かチェック
Private Function IsHoliday(d As Date) As Boolean
If Weekday(d) = vbSunday Or Weekday(d) = vbSaturday Then
'土日ならTrue
IsHoliday = True
ElseIf IsNull(DLookup("data", "holiday", "data = #" & d & "#")) Then
'平日で、休日でなければFalse
IsHoliday = False
Else
'休日ならTrue
IsHoliday = True
End If
End Function
-----------------------------------------------------------
フォームの既定値のプロパティでは下記の様に使います。
今日から3営業日後の日付を規定値にする場合、
WorkDay(Date(),3)
Excelのworkday関数と同じような使い方です。
違いは、休日のデータを、テーブルに用意しておく点です。
venzouさん、本当にありがとうございました!!
モジュールなんて全くわかっていない自分でも、venzouの書いてある通りにやったら上手く出来ました。これも、すべてvenzouさんのおかげです。
いろいろネットで調べたのですが、教え方が高度で全くわからず、あきらめていました。venzouさんが助けてくれなければあきらめていたでしょう。
本当にありがとうございました。
No.1
- 回答日時:
どういう処理で3日後を得たいのかよく分かりませんが
簡単な方法としてはカレンダーテーブルを用意するか
独自の関数を作成するのが良いかと思います。
土日はともかくとしても祝祭日は毎年変動しますから
祝日テーブルなりは必要だと思いますよ。
例えばですが:
何か日付を入力したら
その日付+3日の日付をカレンダーテーブルに参照する
参照した日が土日や祝日扱いなら
その翌日の平日日付を返すようにすればよいかと
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) WORKDAY関数 4 2023/06/08 13:23
- Access(アクセス) スキルシートのエクセルの項目に 2 2023/04/04 22:41
- その他(Microsoft Office) エクセルの休日について教えてください。 1 2023/01/06 15:45
- その他(教育・科学・学問) なぜか毎月同じアクセス数 1 2022/09/11 00:15
- その他(教育・科学・学問) エクセル関数について 2 2022/12/23 08:59
- HTML・CSS 詐欺メールがまた来ました。5月に入ってから頻度が上がってます。なぜでしょうか? 7 2023/05/08 17:04
- Excel(エクセル) 年間仕事用シフトカレンダーに、日勤 夜勤 休み に色分けをした。 4 2022/12/09 04:12
- その他(IT・Webサービス) dアカウント、ログイン等で通知等は来る? 4 2022/10/13 20:06
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- ハッキング・フィッシング詐欺 国外からのアクセスと判断されてしまっているようです。 2 2022/05/23 10:59
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
Accessで規定値に土日含まず5日前を指定したい
Access(アクセス)
-
Accessでの稼働日数計算の方法
その他(データベース)
-
Access 2010 土日祝日を除いて前日
Access(アクセス)
-
-
4
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
5
アクセスで営業日を計算させる方法について
Access(アクセス)
-
6
ACCESSには NETWORKDAYS関数はない??
Access(アクセス)
-
7
Accessで今日から5日後
その他(データベース)
-
8
Access サブフォームでの選択行の取得
その他(データベース)
-
9
Access→Excelへエクスポートすると日付の表示形式が変化する
Excel(エクセル)
-
10
ACCESS クエリ→フォーム フィルターをかけたデータのみエクスポートしたい
Excel(エクセル)
-
11
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
12
Excel VBAからAccessマクロを実行したい
Visual Basic(VBA)
-
13
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
14
アクセス・テーブルの改行についてです。
Access(アクセス)
-
15
どこにもフォーカスを当てたくない
Access(アクセス)
-
16
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
17
ACCESS 「パラメータの入力」を消したい!!
Access(アクセス)
-
18
ACCESS クエリの抽出条件で全てを抽出したい
PowerPoint(パワーポイント)
-
19
「#エラー」の回避
Access(アクセス)
-
20
Access2003 クエリで、空の列は作れますか?
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
日付型のフィールドに空白を入...
-
SQL文で パラメータが少なすぎ...
-
前のレコードの合計に現レコー...
-
BCPでCSV内の文字列をテーブル...
-
アクセス:既定値に土日含まず...
-
Accessのデータ型の日付/時刻型...
-
Access dcount 複数条件
-
Excleピボットでデータのない部...
-
アクセス97のVBAで日付項目をヌ...
-
指定日付を起点にして最新日付...
-
エクセル-過去6カ月分の合計を...
-
VBA 別シートの同じ日付の欄に...
-
「今日の日付を含む」と言う条...
-
クロス集計のユニオンクエリー...
-
Excel→Accessへの日付データの...
-
アクセスで月単位の抽出
-
Accessクエリで、予定した日付...
-
差込印刷での全角表示について...
-
アクセスのエラー「クエリには...
-
2つのテーブルに共通するレコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
日付型のフィールドに空白を入...
-
SQL文で パラメータが少なすぎ...
-
Excleピボットでデータのない部...
-
アクセスで月単位の抽出
-
BCPでCSV内の文字列をテーブル...
-
Accessの日付時刻型から日付、...
-
VBA 別シートの同じ日付の欄に...
-
Excel→Accessへの日付データの...
-
Access クエリで、レコードの無...
-
指定日付を起点にして最新日付...
-
アクセス:既定値に土日含まず...
-
【エクセル】指定した日付に一...
-
ACCESSの空白をカウントする
-
Accessで日付の比較がうまくい...
-
【vba】日付の形式が勝手に変わ...
-
前のレコードの合計に現レコー...
-
エクセル-過去6カ月分の合計を...
-
Accessのデータ型の日付/時刻型...
-
【Accessで困っています...
-
アクセス97のVBAで日付項目をヌ...
おすすめ情報