
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も見ています
-
Accessで規定値に土日含まず5日前を指定したい
Access(アクセス)
-
Access 2010 土日祝日を除いて前日
Access(アクセス)
-
Accessでの稼働日数計算の方法
その他(データベース)
-
-
4
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
5
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
6
ACCESSには NETWORKDAYS関数はない??
Access(アクセス)
-
7
翌月最終営業日の求め方(ACCESS 2002)
Access(アクセス)
-
8
【VBA】土日をスキップして日付計算
Visual Basic(VBA)
-
9
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
10
アクセス・クエリの抽出条件(翌日以降)
Access(アクセス)
-
11
アクセスで営業日を計算させる方法について
Access(アクセス)
-
12
Accessのテーブルのフィールドに式を入れる方法
Access(アクセス)
-
13
access マクロでのフィルタの解除の方法
Access(アクセス)
-
14
前のレコードの値を自動で入れたい
PowerPoint(パワーポイント)
-
15
複数のクエリーを一枚のレポートに掲載する方法(アクセス)
Access(アクセス)
-
16
アクセスからエクセルのシートを追加して、名前をつける方法
Excel(エクセル)
-
17
accessで翌営業日算出
Access(アクセス)
-
18
Accessのリンクされたテーブルでリンク先ではデータを変更出来ないようにするには?
Access(アクセス)
-
19
Access サブフォームでの選択行の取得
その他(データベース)
-
20
「#エラー」の回避
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
日付型のフィールドに空白を入...
-
Excleピボットでデータのない部...
-
SQL文で パラメータが少なすぎ...
-
Accessのデータ型の日付/時刻型...
-
VBA 別シートの同じ日付の欄に...
-
アクセスで月単位の抽出
-
グループ化した個別の件数の取...
-
日付/時刻型フィールドで時刻デ...
-
SQLでうまいことビューが作れない
-
アクセスで日付を入力すると曜...
-
アクセスの昇順並び替えで空白...
-
データベースで新規作成で日付...
-
access2003でデータをランダム...
-
Access2000で重複データに・・・
-
Dlookup関数テキスト型...
-
アクセス:既定値に土日含まず...
-
Accessのクエリ / 曜日の表示...
-
指定日付を起点にして最新日付...
-
前のレコードの合計に現レコー...
-
SQLサーバにある日付型のデータ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
日付型のフィールドに空白を入...
-
SQL文で パラメータが少なすぎ...
-
Excleピボットでデータのない部...
-
VBA 別シートの同じ日付の欄に...
-
アクセスで日付を入力すると曜...
-
Excel→Accessへの日付データの...
-
Accessの日付時刻型から日付、...
-
指定日付を起点にして最新日付...
-
【vba】日付の形式が勝手に変わ...
-
BCPでCSV内の文字列をテーブル...
-
【エクセル】指定した日付に一...
-
アクセスで月単位の抽出
-
Accessのデータ型の日付/時刻型...
-
アクセス:既定値に土日含まず...
-
ACCESSの空白をカウントする
-
エクセル-過去6カ月分の合計を...
-
Accessで日付の比較がうまくい...
-
ビュー定義をプログラムで動的...
-
Access クエリで、レコードの無...
-
アクセス97のVBAで日付項目をヌ...
おすすめ情報