Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1327 / 2272 ツリー ←次へ | 前へ→

【7688】期間の引き算 ムーン 06/4/13(木) 16:06 質問[未読]
【7689】Re:期間の引き算 小僧 06/4/13(木) 18:51 回答[未読]
【7691】Re:期間の引き算 ムーン 06/4/14(金) 9:21 発言[未読]
【7693】Re:期間の引き算 小僧 06/4/14(金) 14:09 回答[未読]
【7695】Re:期間の引き算 ムーン 06/4/14(金) 14:52 お礼[未読]

【7688】期間の引き算
質問  ムーン  - 06/4/13(木) 16:06 -

引用なし
パスワード
   ムーンと申します。

早速ですが、期間の引き算につきまして、どなたかご教授願えませんでしょうか?

2004/04/01〜2004/10/31

この間が何ヶ月経過しているかを計算させたいのです。
期間によりまして月の最終日が違いますが、その辺も
考慮させたいと思っております。

宜しくお願い致します。

【7689】Re:期間の引き算
回答  小僧  - 06/4/13(木) 18:51 -

引用なし
パスワード
   ▼ムーン さん:
こんにちは。

>ムーンと申します。
>
>早速ですが、期間の引き算につきまして、どなたかご教授願えませんでしょうか?

Datediff関数を使うと、結果が導きだせると思われます。


>2004/04/01〜2004/10/31
>
>この間が何ヶ月経過しているかを計算させたいのです。

求めたい結果は○ヶ月○日、という様な結果でなく、
○ヶ月だけで良いのでしょうか。

また日数までも求めたい場合、
例えば2006年4月13日〜2006年4月14日までを1日経過と見るのでしたら、

Sub 日付の差を求める()
Const SDay As Date = #4/1/2004#
Const EDay As Date = #10/31/2004#
Dim FDay As Date

  FDay = CDate(Format(EDay, "yyyy/mm") & "/1")

   Debug.Print DateDiff("m", SDay, EDay) & "ヶ月"
   Debug.Print DateDiff("d", SDay, EDay) & "日"
   Debug.Print DateDiff("m", SDay, EDay) & "ヶ月" _
        & DateDiff("d", FDay, EDay) & "日"
  
End Sub


上記コードをモジュールに記載し、
結果をイミディエトウィンドウにて確認されてみてください。

【7691】Re:期間の引き算
発言  ムーン  - 06/4/14(金) 9:21 -

引用なし
パスワード
   小僧さん、ありがとうございます。
イミディエートウィンドウにて確認できました。

説明が少なすぎてすみません。
今回は
SDayに相当するDATAは[開始日]にyyyy/mm/dd形式で入力し
EDayに相当するDATAは[終了日]にyyyy/mm/dd形式で入力します。
求めたいFDayに相当するDATAは[期間]としています。

以上を今回ご教示頂いたVBに反映させたいのです。

宜しくお願い致します。

▼小僧 さん:
>▼ムーン さん:
>こんにちは。
>
>>ムーンと申します。
>>
>>早速ですが、期間の引き算につきまして、どなたかご教授願えませんでしょうか?
>
>Datediff関数を使うと、結果が導きだせると思われます。
>
>
>>2004/04/01〜2004/10/31
>>
>>この間が何ヶ月経過しているかを計算させたいのです。
>
>求めたい結果は○ヶ月○日、という様な結果でなく、
>○ヶ月だけで良いのでしょうか。
>
>また日数までも求めたい場合、
>例えば2006年4月13日〜2006年4月14日までを1日経過と見るのでしたら、
>
>Sub 日付の差を求める()
>Const SDay As Date = #4/1/2004#
>Const EDay As Date = #10/31/2004#
>Dim FDay As Date
>
>  FDay = CDate(Format(EDay, "yyyy/mm") & "/1")
>
>   Debug.Print DateDiff("m", SDay, EDay) & "ヶ月"
>   Debug.Print DateDiff("d", SDay, EDay) & "日"
>   Debug.Print DateDiff("m", SDay, EDay) & "ヶ月" _
>        & DateDiff("d", FDay, EDay) & "日"
>  
>End Sub
>
>
>上記コードをモジュールに記載し、
>結果をイミディエトウィンドウにて確認されてみてください。

【7693】Re:期間の引き算
回答  小僧  - 06/4/14(金) 14:09 -

引用なし
パスワード
   ▼ムーン さん:
こんにちは。

>説明が少なすぎてすみません。

今回も情報が少なくて、ムーンさんのやりたい事が不明確なのですが…。

まず、求めたいのは

・○ヶ月
・○日
・○ヶ月○日

のどれなのでしょうか。
(もしくはどれでもない?)


>以上を今回ご教示頂いたVBに反映させたいのです。

VBに反映させるとはどういった事でしょうか。


前回の投稿 [#7679] を拝見させて頂きましたが、
レコードセットに納めたいのでしょうかね。
(期間はテキスト型として…)

Do Until rs.EOF
  rs.Edit
  rs![期間].Value = DateDiff("d", rs![開始日], rs![終了日]) & "日"
  rs.Update
  rs.MoveNext
Loop


※ 質問される方の情報が少ないと、
  回答する側は色々と想像しながら回答をする事になります。
  「実は…なんですけど」とならない様にご自分がやりたい事を詳しく提示して下さいね。

【7695】Re:期間の引き算
お礼  ムーン  - 06/4/14(金) 14:52 -

引用なし
パスワード
   小僧さん

説明足りなくてすみません。
レコードセットに埋め込みでした。
実際○ヶ月でやってみましたら、結果OKでした。
想像いただき、すみません。有難うございました。


▼小僧 さん:
>▼ムーン さん:
>こんにちは。
>
>>説明が少なすぎてすみません。
>
>今回も情報が少なくて、ムーンさんのやりたい事が不明確なのですが…。
>
>まず、求めたいのは
>
>・○ヶ月
>・○日
>・○ヶ月○日
>
>のどれなのでしょうか。
>(もしくはどれでもない?)
>
>
>>以上を今回ご教示頂いたVBに反映させたいのです。
>
>VBに反映させるとはどういった事でしょうか。
>
>
>前回の投稿 [#7679] を拝見させて頂きましたが、
>レコードセットに納めたいのでしょうかね。
>(期間はテキスト型として…)
>
>Do Until rs.EOF
>  rs.Edit
>  rs![期間].Value = DateDiff("d", rs![開始日], rs![終了日]) & "日"
>  rs.Update
>  rs.MoveNext
>Loop
>
>
>※ 質問される方の情報が少ないと、
>  回答する側は色々と想像しながら回答をする事になります。
>  「実は…なんですけど」とならない様にご自分がやりたい事を詳しく提示して下さいね。

1327 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078228
(SS)C-BOARD v3.8 is Free