「休日関数」を作ってあります。土曜日、日曜日も含んで戻り値が「休」となっています。これから翌営業日を算出する関数を作成したいのですがうまく行きません。

A 回答 (2件)

休日関数は 日付を引数として、休という文字を返す関数で


しょうか?

そうでしたら、

Dim iNum

Do
  iNum = iNum + 1
  if "休" <> 休日関数(現在の日付 + iNum) then
    MsgBox "翌営業日は" & _
        現在の日付 + iNum & "です。"
    Exit Do
  End If
Loop

で、できませんか?

勘違いであればお許しください。
    • good
    • 0
この回答へのお礼

最終的に下記のような形でできたようです。実際使っている通りに表記します。(ASP版で。)
<%
dtmDate = "2001/01/06"
Do
i = i + 1
if funcheijitu(dateadd("d",+1,dtmDate)) = "平日" then
dtmDate = dateadd("d",+1,dtmDate)
Exit Do
Else
dtmDate = dateadd("d",+1,dtmDate)
End If
Loop
Response.write "翌営業日は" & dtmDate & "です。"
%>

アドバイスありがとうございました。

お礼日時:2001/03/19 12:52

Access2000の前提です。

(他のバージョンの多分同じかな?)

日付をweeknum関数を使って平日の場合はそのまま抜ける。
土日にだったら+1日して最初に曜日チェックにもどるルーチンを
書けば出来ますよ。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q東京ディズニーランドで配布される記念日などのピンについての質問です。

東京ディズニーランドで配布される記念日などのピンについての質問です。
今までその日に行ったことがないのですが、配布される日というのはあらかじめ分かるものなのでしょうか?

また最近も配布はされているのでしょうか?
11月18日のミッキーの誕生日に配布されたりしますか?

その日はやっぱり混雑しますか?

色々質問ぃて申し訳ないのですが、よろしくお願いします。

Aベストアンサー

25周年を最後に、正式?な配布はしていませんが…

去年だったっけ?TDSのキャンドルライトリフレクションズが終わるときに、サイリウム(折ると光る棒)を配りました。
でもこれは告知ナシで、どちらかというとCMの撮影用のためという感じでした。
ミッキーの誕生日と、キャンドルの最終日に配ったと記憶してます…

あとは、カウントダウンのときは毎年配布というか、記念品がつきます。

確か10周年から4/15のみ告知ナシで配布がはじまりました。
(それ以前は、5年おきの○周年というときにスクラッチとかはあった)
ミレニアムカウントダウンあたりから、開園記念日以外の日に配布をするようになり、公式HPでも告知がされるようになりましたが、25周年を最後に(しかも確か24個という半端な数で)配布は終了しました。
それ以降、HPで事前に告知されるような配布はしていないと思います。
事前告知があったときの配布日はかなり混雑しますよ。
10~14周年の、4/15のみ配布のころは、4/15に行けばふるい常連にばったり会う…なんてぐらいでした。
ただ25周年までの近年は配布も頻繁でしたので、配布初期のころと比べると分散していたように思います。

今年に関しては、公式では告知はないと思います。
最近は情報あまり入ってこないのですが、とりあえず11/18に配布があるかどうかは今のところ耳にはしていません。
ただ去年はかなりぎりぎりに知ったので、ないとも言い切れないですが。

25周年を最後に、正式?な配布はしていませんが…

去年だったっけ?TDSのキャンドルライトリフレクションズが終わるときに、サイリウム(折ると光る棒)を配りました。
でもこれは告知ナシで、どちらかというとCMの撮影用のためという感じでした。
ミッキーの誕生日と、キャンドルの最終日に配ったと記憶してます…

あとは、カウントダウンのときは毎年配布というか、記念品がつきます。

確か10周年から4/15のみ告知ナシで配布がはじまりました。
(それ以前は、5年おきの○周年というときにスクラッチとかはあっ...続きを読む

Qアクセス 指定日から将来の指定日までを算出する式を知りたい

アクセス2000

職員の人事データ管理をしています。テーブルのフィールドに職員の生年月日や採用年月日を入力しています。

このフィールドをもとに、将来の指定日までの期間を算出したいのです。例えばS50年4月1日に採用された人が来年の平成16年3月31日現在での勤務年月を算出したいのです。

某QAサイトの類似質問に「12月31日現在の年齢の出し方がわからない。今日以降の年齢も算出できるのか?」というのがあり、その答えに「DateDiff("yyyy",[誕生日],Format(date,"yyyy")& "/12/31")」とありましたので、自分のテーブルをもとに、とりあえず今年の12月31日現在の勤務期間を出してみようと「DateDiff("yyyy",[採用年月日],Format(date,"yyyy")」& "/12/31")と入力したところ「パラメータの入力 採用年月日」というダイアログが出てしまいました。うーん、恥ずかしながらこの意味も分からない。

採用年月日などの過去の指定日から、年度末時など将来の指定日までの期間(年月)を算出するための式を教えていただけないでしょうか。

アクセス2000

職員の人事データ管理をしています。テーブルのフィールドに職員の生年月日や採用年月日を入力しています。

このフィールドをもとに、将来の指定日までの期間を算出したいのです。例えばS50年4月1日に採用された人が来年の平成16年3月31日現在での勤務年月を算出したいのです。

某QAサイトの類似質問に「12月31日現在の年齢の出し方がわからない。今日以降の年齢も算出できるのか?」というのがあり、その答えに「DateDiff("yyyy",[誕生日],Format(date,"yyyy")& "/12/...続きを読む

Aベストアンサー

DateDiff("yyyy",[採用年月日],Format(date,"yyyy")」& "/12/31")
パラメーターを含む式になってますよ
[採用年月日]この部分が、都度入力する項目(パラメーター)として扱われますので、毎回変える必要がある場合には、良く使いますね
基本的な式は、問題無い様に思いますが、FORMAT関数をここで使わずとも、レポート或いはフォームで表示させる時に使うか、書式を設定するかした方が軽く出来ますよ
Accessの日付計算式には、癖がありますので、ヘルプを良く読んで式を組んだ方が良いですよ
1日位ずれてしまう場合等もあります。

QQ.手首付近の局部麻酔について 僕はあと2日したら局部麻酔で手首のピンを抜釘します。でも、局部麻

Q.手首付近の局部麻酔について


僕はあと2日したら局部麻酔で手首のピンを抜釘します。でも、局部麻酔が不安で仕方ありません、本題ですが、局部麻酔は、注射されてから何秒くらいで感覚が無くなるのでしょうか(効果が出てくるのでしょうか。)

Aベストアンサー

5秒から10秒くらいですかね?

麻酔ですからまったく痛みは感じません。

痛みを感じていたら麻酔の意味がありませんからね。

QACCESSのクエリでDlookup関数・戻り値の属性は

ACCESSのクエリの中で、抽出したい項目を式で定義しているのですが、Dlookup関数を使っています。

そのとき、数値項目だと思っていたのですが、文字として値が返ってきているようです。(数字が左詰めになっているので)

Dlookup関数の戻り値は、このような使い方をした場合、文字として返ってくるのでしょうか。
(Nullというのが返ってきている場合もありました)

クエリ上で使っている式は、このようなものです。

前月戸建契約数:
DLookUp("契約数","テーブル名",
"担当者名='" & [担当者名] & "' And 月次='" & [前月] & "'")

[担当者名]は元になるテーブルにあり、[前月]はクエリ上で、(テーブル上の)[月次]-1で式として定義しています。

よろしくお願いします。

Aベストアンサー

なぜかな?
イミディエイトウィンドウで
?typename(DLookUp("契約数","テーブル名","担当者名='" & [担当者名] & "' And 月次='" & [前月] & "'"))
?typename(Dcount("契約数","テーブル名","担当者名='" & [担当者名] & "' And 月次='" & [前月] & "'"))
で両方とも数値型が返ってくるかと思いますが
DlookUpでは左詰めに、Dcountでは右詰めになりますね。
Val関数かCdbl関数で囲んでやるとか・・

Q日焼け止め、ピンからキリまで☆

日焼け止めの、価格は、ピンからキリまでありますが、
効能に違いはあるのでしょうか?

伸びがいい、落ちにくい、などの理由でしょうか?

やっぱり、高いのは焼けない!
やっぱり、安いのは焼けてしまった!

の経験談など、ございましたら、お願いします。m(..)m

Aベストアンサー

日焼け防止効果はSPF値が高いほどまたPA値の+が多いほど日焼けしにくいです。
SPF 120、 PA+++は白浮きします。
SPF 50、PA+++などなら塗ったかどうかわからないものもあります。また塗った感じがさらっとしていて長く安定しているものが値段が高いように感じられます。

●使う基油の違い
 べたべた感・さらさら感・汗でおちやすさ
 長く皮膚に安定しているかなど。
●使う反射材の違い
 紫外線収集剤や反射材などの材料が金属アレルギーを起しにくい材料か又は匂わない材料かで変わります。安いものは鉱物、アルミなどですが高いものはパール粉末や酸化チタン、酸化亜鉛などを使用します。
●見た目の感じ
 白浮きしないかどうかの感じ

参考URL:http://nayami.spaspa.jp/suncare.html

Qメッセージボックス関数の「戻り値」って?(Access2000)

Access初心者です。
今、自分で勉強しているのですが、メッセージボックス関数の「戻り値」がよくわかりません。
引数の<msg>,<type>,<title>はそれぞれ理解ができたのですが、
戻り値の内容(1「OK」)というのは、何に対しての値なのでしょうか??
ヘルプも見ましたが、私にはさっぱりです。
どなたか簡単にご説明お願いします。

Aベストアンサー

参考URLを参考にしてみてください。

参考URL:http://www.mahoutsukaino.com/ac/ac2000/ac2000/m_msgbox/msg01.htm

Q「取引債務の弁済期日から90日」についてピンと来る方いますか?

売買契約にかかる債務は、債務履行しないまま弁済期日から90日経過すると、「何かが起こる」ような感じがするのですが、これについて何かご存知の方は是非教えてください!法律に書いてある場合は、法律名もお教えいただけますと助かります。

Aベストアンサー

補足があって初めて分かりました。

○銀行の不良債権で、3ヶ月以上延滞している債権を要管理債権に分類しているようなのですが

これは、金融再生法(金融機能の再生のための緊急措置に関する法律)およびその施行規則において、金融機関が開示すべき債権の種類として「要管理債権」を定め、その基準に「3ヶ月以上延滞している」というのがあるからです。銀行法でも3ヶ月延滞という基準による開示義務があります。

http://www.zenginkyo.or.jp/pub/pamph/pdf/dp2_1.pdf

これらの債権については金融機関の開示義務が生じるというだけで、もとの債権自体には何らの変化も生じません。

売買契約だから、というものでもないですね。

QACCESS97で現在の日付から勤続年月数を算出する関数

ACCESS97で社員名簿を作っています。

現在の日付から年齢を算出する関数は調べたところ次のようにすればよいとわかりました。
IIf(Right(Format([生年月日],"yyyy/mm/dd"),5)>Right(Format(Now(),"yyyy/mm/dd"),5),DateDiff("yyyy",[生年月日],Now())-1,DateDiff("yyyy",[生年月日],Now()))

次は現在日から入社年月日フィールドにあるデータを使い、勤続年数○年○ヶ月というクエリーを作りたいのですが、○ヶ月を算出する応用がわからずに困っております。
どうかよろしくお願いします。

Aベストアンサー

これは、DateDiff関数が、月単位で日付を数えている事に起因する問題ですね。
DateDiff('m',#2001/01/31#,#2001/02/01#)
のようにすると、1が表示されます。
日付的には1日しか違わないのに、月だけに着目するとひと月異なっていると判断されるんですね。

ってことで、「どの時点でひと月と判断するのか」を決めておく必要が出てきます。
1月29日(月末より前)に入社した人を2月28日(月末)には勤続一ヶ月と判断するべきか、とか、細かい事を考え出すときりがないので、とりあえずこんな感じで決めてみます。

入社年月日の日の部分とと、現在の年月日の日の部分とを比較してみて、現在の日のほうが大きかったら、既にひと月経過したとみなす。

これを#2の式と組み合わせると、以下のようになります。

IIf(Day(Date())>=Day([入社年月日]),DateDiff('m',[入社年月日],Date())\12 & '年' & DateDiff('m',[入社年月日],Date()) Mod 12 & 'ヶ月',(DateDiff('m',[入社年月日],Date())-1)\12 & '年' & (DateDiff('m',[入社年月日],Date())-1) Mod 12 & 'ヶ月')

なんか、すごい長い式になっちゃいましたが、これで上記のような仕様を満たしているはずです。

これは、DateDiff関数が、月単位で日付を数えている事に起因する問題ですね。
DateDiff('m',#2001/01/31#,#2001/02/01#)
のようにすると、1が表示されます。
日付的には1日しか違わないのに、月だけに着目するとひと月異なっていると判断されるんですね。

ってことで、「どの時点でひと月と判断するのか」を決めておく必要が出てきます。
1月29日(月末より前)に入社した人を2月28日(月末)には勤続一ヶ月と判断するべきか、とか、細かい事を考え出すときりがないので、とりあえずこんな感じで決めてみます...続きを読む

Q彼氏がバイトでネクタイを締めていて、ネクタイピンが欲しいと言っていたそうなのでネクタイピンを買いまし

彼氏がバイトでネクタイを締めていて、ネクタイピンが欲しいと言っていたそうなのでネクタイピンを買いました。
これを何でもない日に渡すのか、2ヶ月記念日の飲みの時に渡すのか迷ってます。

どちらがいいと思いますか??
どちらが嬉しいでしょうか?
何でもない日のプレゼントもいいなと思ったのですが…

Aベストアンサー

2ヶ月記念日がどのくらい先なのか知りませんが、2週間以上先ならば私は先に渡します。ネクタイピンを贈るときの意味をネットで知って贈ってあげたらよりすてきなプレゼントになると思います。

Qアクセス:既定値に土日含まず3日後を指定したい

エクセルの場合ですとworkday関数を使用すればいいのですが、
アクセスの場合はどのようにしたらよいのでしょうか?
いろいろネットで調べてみたのですが、workday関数はアクセスでは無いように思うのですが・・・。
また、もし簡単に出来るのであれば、祝日も除きたいのですが、
これは本当に難しいらしくあきらめています。本当に初心者レベルで申し訳ないのですが、教えていただけると幸いです。

Aベストアンサー

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関数と同じような使い方です。
違いは、休日のデータを、テーブルに用意しておく点です。

workday関数ですが、Accessにはないので、
モジュールで自作する必要があります。

まず、祝日や、盆休みなどの休日のデータを用意します。

Accessの場合、テーブルとして作った方が良いでしょう。
 テーブル名 :holiday
 フィールド名:data (日付型) 主キー

土日は計算できるので、土日以外の、祝日や、
振り替え休日、会社独自の休日などを登録しておきます。

次に、新規のモジュールを追加し、下記のようなソースを記述。
適当な名前で保存して下さい。
-------------------------------...続きを読む


人気Q&Aランキング