日付を使った計算式を教えてください

このQ&Aのポイント
  • テキストボックスを使った日付の計算式についての質問です。具体的には、過去や未来の対象日や日数を計算する方法について知りたいです。
  • 質問者は現在の知識ではこの計算式が分からず、アドバイスを求めています。また、テキストボックスの名前に整合性がないと自覚しており、将来的な課題として認識しています。
  • 具体的な計算式の例として、起点日から一定日数後の月日を計算する方法や、起点日から対象日までの日数を計算する方法などが挙げられます。質問者が試してみた結果、エラーが出てしまったため、解決策を求めています。
回答を見る
  • ベストアンサー

日付を使った計算式を教えてください

[環境紹介] WINDOWS10、ACCESS2007(令和表示はテンプレートを使用して表示中) 「令和表示の式です」 =DLookUp("和暦","T_和暦マスタ","開始年月日<= #" & [txt日付] & "#and 終了年月日>=#" & [txt日付] & "#") [やりたいこと] 過去や未来の対象日や日数を下記のやり方で実施しています。「曜日」と「和暦」の表示方法(式)が分からずアドバイスをお願いできませんでしょうか。今の知識レベルで質問内容に対する可能可否の判断ができませんので、無理難題の質問内容でしたらご理解とご了承を賜りたいと思います。 [やっていること] 事前に設計しないでテーマを増やしたこともあり、テキストボックスの名前に整合性がありません。将来新たなデータベースを作る時(自分で納得できる知識が習得・・・)の課題と認識しております。 ■起点日→幾日後の月日(起点日から後日の西暦日を表示) テキストボックス名:西暦2「カレンダー入力」 テキストボックス名:日数2 手打ち テキストボックス名:対象2 コントロールソース「 =[西暦]+[日数] 」 ■起点日→対象日迄の日数(起点日から後日の日数を表示) テキストボックス名:開始「カレンダー入力」 テキストボックス名:終了 手打ち テキストボックス名:日数 コントロールソース「 =[着地日]-[開始日] 」 ■起点日→幾日前の月日(起点日から前日の日数を表示) テキストボックス名:西暦55「カレンダー入力」 テキストボックス名:日数55 手打ち テキストボックス名:対象55 コントロールソース「 =[西暦1]+[日数1] 」 [やってみたこと] ■起点日→幾日前の月日(起点日から前日の日数を表示)を例にとりあえず曜日でのチャレンジです。 テキストボックス名:西暦1「カレンダー入力」 テキストボックス名:日数1 手打ち テキストボックス名:対象1 コントロールソース「=[西暦1]+[日数1] テキストボックス名:曜日1 コントロールソース「 =WeekdayName(Weekday(対象1)) 」 結果はエラーでした。 以上ですが、宜しくお願いします。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率65% (1620/2460)
回答No.4

日付までだと =Format([対象1],"gggee\年mm\月dd\日") としてください。 上記で令和が出るのでしたらテンプレートの式(IIfで始まる長い奴)は無視してください。

eokwave
質問者

お礼

ご返事が遅くなり申し訳ございません。年号も日付けも問題なく表示されました。ありがとうございます。素早い対処に感謝いたしております。本当にありがとうございました。

その他の回答 (3)

  • kkkkkm
  • ベストアンサー率65% (1620/2460)
回答No.3

訂正 =IIf([対象1]<#2019/4/30#, は =IIf([対象1]<#2019/05/01#, でした。

eokwave
質問者

お礼

ありがとうございます。考えますに、私の求めているアドバイスが年号の表示になっていますので、「平成」と「令和」が表示される式と理解してよろしいでしょうか。ややこやしくしましてすいません。

eokwave
質問者

補足

ありがとうございます。 設定アドバイスの =IIf([対象1]<#2019/05/01#,Format([対象1],"ggg"),DLookUp("和暦","T_和暦マスタ","開始年月日<= #" & [txt日付] & "#and 終了年月日>=#" & [txt日付] & "#")) = #Name? と表示されました。

  • kkkkkm
  • ベストアンサー率65% (1620/2460)
回答No.2

和暦 =Format([対象1],"ggg") で令和が出なかった場合は =IIf([対象1]<#2019/4/30#,Format([対象1],"ggg"),DLookUp("和暦","T_和暦マスタ","開始年月日<= #" & [txt日付] & "#and 終了年月日>=#" & [txt日付] & "#")) といった形で出るかもしれません。令和表示はテンプレートの表示方法をそのまま式に入れてます。(テンプレート側の確認はできていません)

eokwave
質問者

お礼

ありがとうございます。修正アドバイスを頂戴していますので、そちらからご報告させていただきます。ありがとございます。

  • kkkkkm
  • ベストアンサー率65% (1620/2460)
回答No.1

和暦 =Format([対象1],"ggg") 曜日 =Format([対象1],"aaaa") でいかがですか。2007で上記の式で和暦の令和が出るかどうかは不明です。 gggとaaaaをggやaaaにすると短縮した表示になります。

eokwave
質問者

お礼

御早々とアドバイスを頂きまして、本当にありがとうございます。私の確認が遅く修正版まで案内頂きましてありがとうございます。

eokwave
質問者

補足

取り急ぎご報告いたします。 設定アドバイスの「 =Format([対象1],"ggg") 」 =「平成」と「令和」で表示されます。年号は表示されますが何年なのかは分かりません。 設定アドバイスの「 =Format([対象1],"aaaa") 」= 正確に曜日が表示されます。 以上です。

関連するQ&A

  • 日付の計算式についてアドバイスをお願いします

    レコードソース無しのフォームにテキストボックスを三個作って、西暦月日「任意」を入力し日数「数値」を入力することで、後日「月日と曜日」と遡っての過去「月日と曜日」を知りたいと思っています。正直、計算フォーム「よろず計算用」として既に使っているフォーム「エリアに余裕」への追加になります。 I,フォーム名:計算フォーム II,テキストボックス 1,テキストボックス名:西暦 = 西暦入力(英数半角) 2,テキストボックス名:日数 = 日数入力(英数半角)  ・日 数:1日を1とする  ・後 日:正の整数を入力  ・遡り日:負の整数を入力(-数値) 3,テキストボックス名:対象日= 対象日表示 以上ですが、宜しくお願いします。

  • 年齢表示がマイナス(-年齢)になるのを改善したい

    [アプリケーション] アプリケーション:Office2007Professonal [困っていること] 非ソース単票フォームのテキスト窓を2列作成「和暦入力⇒西暦表記」「西暦入力⇒和暦表記」し、更に年齢を表示させています。しかし、令和になってから年齢表示が「 "歳"表記が(-○○歳)」となってしまいました。 [やりたいこと] 令和年号で "歳"表記が(-○○歳)になるのを(〇〇歳)表記にしたいと思っています。尚、このフォームを作成するにあたり、このサイトにてご指導いただきました(感謝・・・・。)。ご面倒をおかけしますが、重ねてお願いいたします。現在、テーブルは年単位で月の管理はしていませんので、とりあえず、このまま年単位で続けたいと思います。 [テキストボックスの式] 西暦入力から和暦を表示させる設定の内容になります。テキストボックの内容とテキストボックスの流れになります。 フォーム名:和暦西暦確認フォームII「非ソース単票フォーム」 コンボボックス名:c1 値集合ソース:SELECT DISTINCT 西暦年号表クエリ.西暦, 西暦年号表クエリ.年号, 西暦年号表クエリ.年号年 FROM 西暦年号表クエリ; ↓ テキストボックス名:テキスト6 コントロールソース:=c1.Column(1) ↓ テキストボックス名:テキスト9 コントロールソース:=c1.Column(2) ↓ テキストボックス名:テキスト14 コントロールソース:=[y]-[c1] & "歳" 以上ですが、よろしくおねがいします。

  • ACCESSの日付について。

    テキストボックスが4つあります。 それぞれのテキストボックスに テキストボックス1⇒「西暦」 テキストボックス2⇒「月」 テキストボックス3⇒「日」 を入力し、テキストボックス4にそれらを合わせた ⇒「西暦」/「月」/「日」 とかえすようにしたいのですが、 それそれのテキストボックスの『書式』・『コントロールソース』はどのようにしたら良いでしょうか? 宜しくお願い致します。

  • VBA_カレンダーコントロールの和暦表示

    現在、フォーム上にカレンダーコントロールを作成して クリックされた日付をテキストボックスに返すものを作成しているのですが カレンダーコントロールの年の表示は西暦になっています。 この部分を和暦にしたいのですが、いじくるところがまったく見当たりません。 何か方法はあるのでしょうか? ご教授お願いいたします<(_ _)>

  • 年号表示を西暦と和暦のハイブリットにした

    フォーム上にテキストボックスを配して、西暦、和暦、曜日などを個別のテキストボックスで表示させています。これをひとつのテキストボックス又はふたつのテキストボックスで表示させたいと思っています。尚、テキストボックスは非連携「当日表示のみ」を前提とします。 [やっていること] 1,西暦表示は テキストボックスのプロパティーで「コントロールソース」にて「式ビルダ」を起動させ、「関数」で「組み込み関数」を選び「日付/時刻」の「=Date()」を選択。 2,和暦表示は 上記「1」の操作後、プロパティーの書式タブの「書式」gggee\年mm\月dd\日をコピー&ペーストしています。 3,曜日は テキストボックスのプロパティーで「コントロールソース」で「式ビルダ」を起動させ、関数」で「組み込み関数」を選び「日付/時刻」の「=Date()」を選択。エディターで「=WeekdayName(Weekday(Date()))」を作成し「貼り付け」を選択する。 [やりたいこと(可能ならIIが希望)] I,1(西暦)と2(和暦)をひとつのテキストボックスで表示させたい。例えば、テキストボックスをクリックする度に表示が変えられる。曜日は別のテキストボックスで表示させる。   II,1(西暦)と2(和暦)と3(曜日)をひとつのテキストボックスで表示させたい。例えば、テキストボックスをクリックする度に表示がループ式に変えられる。 以上ですが、ご指導宜しくお願いします。

  • ActiveXコントロールのカレンダーについて

    MS ACCESSでの使用で ActiveXコントロールのカレンダーについて お尋ねします カレンダーの年と月はコンボボックスで 選択するようになっていますが 年は西暦で表示してあり 和暦の表示にすることは可能ですか? 出来る場合は どの部分に何を書き込むか教えていただければ ありがたいです よろしくお願いします

  • Access 今日の日付を和暦数字を全角で表示

    Access2013 レポートに今日の日付を、和暦(平成27年4月27日)で、そして、数字を全角で表示させる設定方法を教えてください。 テキストボックスのコントロールソースに記入する数式を教えてください。 よろしくお願いします。

  • EXCEL・VBAフォームの日付(表示形式を変更したい)

    VBA初心者です。フォームの中にテキストボックスを作成しています。規定値にあるシートのセルを表示しています。このセルは日付(西暦4桁)で入力しているのですがテキストボックスでは(西暦2桁)で表示されてしまいます。 FORMATというのを使用すればよいようなのですがどうつかえばいいのかわからないのです。 プロパティでテキストボックスのコントロールソースにそのセルを指定しています。 どのように記述すればよいでしょうか。 詳しい方教えていただけますでしょうか。 よろしくお願いいたします。

  • 日数計算の「-」表記に対する処理方法について

    [パソコン環境のご紹介] アプリケーション環境:ACCESS2007 OS環境:Windows10 [困りごとの内容] 食材管理データベース「消費期限管理」を作りましたが、日数計算の「-数(日)」表記に対する処理方法が分からず困っています。 [やりたいこと] 1、テキストボックス「期限」の日数表記が「-数(日)」になったときに「 0 」か  「空白」で表示させたいと思っています。 2、現在の設定では「数値」のみの表記ですが「日」を追加が可能であれば実現した  いと思います。 [やっていること(オブジェクトの一部にて紹介)] 食材管理フォームに以下のテキストボックスがあり、消費期限日までの日数を表示しています。 ・日付 名前:txt日付(西暦) ・消費期限日 名前:期限日(西暦) ・消費期限日数 名前:期限 ※消費期限日数(期限)テキストボックスのコントロールソースに以下の式を入力しています。 =[期限日]-[txt日付] 以上ですが、よろしくお願いします。

  • DLookUp関数を使ったACCESSの令和表示2

    [やりたいこと] 同じテキストボックスで「西暦」と「曜日」をマウスのクリック動作で変更表示させ、、「和暦(令和02年)」は別テキストボックスで関数を使って表示させたい。 「=DLookUp("和暦","T_和暦マスタ","開始年月日<= #"&txt日付&"#and 終了年月日>=#"&txt日付&"#")」使って表示させたい。 [やってみたこと] ・既存テキストボックスの名前変更:名前「txt日付」 ・テキストボックスの追加:名前「txt和暦日付」 ・データタブ:コントロールソース  「=DLookUp("和暦","T_和暦マスタ","開始年月日<= #"&txt日付&"#and 終了年月日>=#"&txt日付&"#")」※参照先はテーブル「T_和暦マスタ」 「結果」追加のテキストボックスに令和表示「令和02年」はされますが、既存テキストボックスが「西暦」に固定されクリックしても曜日の表示もできません。 [現在の設定] ・テキストボックス:(名前:年月日曜日)コントロールソース「=Date()」 ・イベントのクリック時に「以下の記述」を設定 Private Sub テキスト11_Click() With Me.ActiveControl Select Case .Tag Case 1 .Tag = 2 .Format = "gggee\年mm\月dd\日" Case 2 .Tag = 3 .Format = "aaaa" Case Else .Tag = 1 .Format = "yyyy/mm/dd" End Select End With End Sub [補足情報] [令和対応紹介 ウェブサイト] 新元号は「令和」|マイクロソフトのパッチに頼らずにAccessで新元号を表示する方法 https://www.ait-labo.com/excel_access/2805/ 以上ですが、宜しくお願いします。

専門家に質問してみよう