日数計算の「-」表記について

このQ&Aのポイント
  • 食材管理データベース「消費期限管理」での日数計算の「-数(日)」表記についての処理方法が分からず困っています。
  • テキストボックス「期限」の日数表記が「-数(日)」になったときに表示を「0」か「空白」にしたいと思っています。
  • 食材管理フォームでは、消費期限日までの日数を表示していますが、「日」を追加する設定ができれば良いと考えています。
回答を見る
  • ベストアンサー

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

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

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

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

=IIf([期限日]-[txt日付]<0,0,([期限日]-[txt日付]) & "日") か =IIf([期限日]-[txt日付]<0,"",([期限日]-[txt日付]) & "日") にしてください。

eokwave
質問者

お礼

ありがとうございます。早速のアドバイス感謝いたします。表記が「0」と「空白」の両方を教えていただき、ご面倒をおかけしました。希望どおりに表示できました。今後、IIf関数を普通に使えるようになりたいと思います。ありがとうございました。

関連する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)) 」 結果はエラーでした。 以上ですが、宜しくお願いします。

  • Access日付関数で条件により文字表記させたい

    購入した製品の保証期間の管理をAccessで行っています。今少し満足できない点がありまして、ご相談させて頂きました。尚、Accessは2007でOSはwindows10です。 [やっていること] 購入した商品の購入日を元に保証終了日迄の残り日数を管理しています。内容的にはテキストボックスデータ(名前)[本日]を参照して、残り日数を関数記述のテキストボックス(名前)[有効期限最終日]に表示させています。 [やりたいこと] 保証期間の残り日数を関数記述のテキストボックス(名前)[有効期限最終日]に表示させていますが、保証日を過ぎた場合の表記がマイナス数値になってしまいます。マイナス数値ではなく文字(保証終了とかの)で表記させたいと思っています。私のやりたいことは可能でしょうか。※問題認識=今の私に可能可否を判断するスキルさえ無いこと。 [内容詳細] [フォームの構成] 以下の3つのテキストボックスの構成で残り日数を表示させています。 ・テキストボックス1(フォーム窓のみ) = 名前:本日、コントロールソース:Data() ・テキストボックス2(テーブル参照)= 名前:有効期限最終日 ・テキストボックス3(フォーム窓のみ)= 名前:テキスト1、コントロールソース:=DateDiff("d",[本日],[有効期限最終日]) 以上ですが、宜しくお願いします。

  • 総日数を求める

    引数として与えた西暦・月日から現在の日付までの 総日数を調べる関数が紹介されているページがあれば 教えて下さい。 自分ならこう書く、なんていうのでも結構です。

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

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

  • ポップアップウインドウで日数入力して日付を表示

    下記のようなものを作りたいと思っています。 1.呼び出し元のテキストボックスに日付を入力 2.「日数の指定」などのボタンを押す 3.日数を入力するためのポップアップウインドウ表示 4.テキストボックスに日数を入力して、決定ボタンを押す 5.1で入力した日から4で指定した日数分後の日付を呼び出し元の1とは別のテキストボックスに表示する。 1や4で入力する日付や日数のエラーチェックは考慮不要でいいです。 何か良い方法がございましたら、よろしくお願いいたします。

  • 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/ 以上ですが、宜しくお願いします。

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

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

  • 日付を表記したい。

    日付を表記したい。 A1→2010 A2→1 B3→平成○年○月○日 締切 としたいのです。 平成○年は「A1」の西暦から ○月は「A2」の数字から ○日は「A2」が1・3・5・7・8・10・12の時には31日         4・6・9・11の時には30日         2の時には28日 と出したいのですが、上手く出来ません。 よろしくお願い致します。  

  • コンボボックスに追加データを即反映させたい

    新たに食材管理データベースを作りましたが、スタート当初特有のデータ蓄積が薄いこともあり、二度手間三度手間と使いずらいくて困っています。 [困りごとの詳細] 食材管理フォーム「F_食材管理」にコンボボックスを利用して選択入力していますが、コンボボックスの選択リストに該当するデータがないときは、食材管理フォーム「F_食材管理」に配したコマンドボタンで、「F_食材メンテナンスフォーム」を開いてデータを追加しています。しかし、食材管理フォーム「F_食材管理」に即反映できません。反映させる為には、食材管理フォーム「F_食材管理」を一旦終了させる必要があります。尚、食材管理フォーム「F_食材管理」を終了させて再度開けば選択リストに反映されています。 [実施したこと] F_食材メンテナンスフォーム「F_食材管理販売店・F_食材管理食材名・F_食材管理容器姿」をそれぞれ「閉じる時」のイベントにマクロを設定し、アクションに「再クエリ」とし、引数にコンボボックス3個の名前「購入先・食材名・容器姿」をそれぞれに設定しました。しかし、全くもって効果がありませんでした。 [オブジェクトの紹介(関連オブジェクト)] ◆ACCESS2007 ◆入力フォーム F_食材管理:フォームビュー「入力フォーム」 ・1段「連結していません」コンボボックス×3個配置「購入先・食材名・容器姿」 ・フォームにF_食材メンテナンスフォームを開くコマンドボタン「メンテナンス」を配置しています。 ◆テーブル T_食材管理「メインテーブル」 T_食材管理売店名:コンボボックス参照データ T_食材管理食材名:コンボボックス参照データ T_食材管理容器姿:コンボボックス参照データ ◆メンテナンスフォーム F_食材メンテナンスフォーム「以下の3つのフォームを開くコマンドボタンを3個配置」 F_食材管理販売店(データシートビュー):参照先(コンボボックス名)=購入先 F_食材管理食材名(データシートビュー):参照先(コンボボックス名)=食材名 F_食材管理容器姿(データシートビュー):参照先(コンボボックス名)=容器姿 [データベース作成の背景] 食材の特売品「イレギュラー特価・消費期限が比較的短いなど・・・他」を購入(無計画傾向になりやすい)するが、消費期限管理「冷蔵庫内の隅々チェックが面倒」ができていなかったので、廃棄するなどのロスが発生「ゼロにしたい」していた。また、日常的にデータベースの一覧を閲覧「献立を考える」する機会を持てることで、ACCESSデータベースに触れる機会を増やせるのではと考えました。 データベースは購入したものを順次追加していき、消費「チェックボックス」したもや廃棄「チェックボックス」したものにチェック「修正一覧フォームを使って」を入れる様にしています。また、クエリを使って「在庫食材・消費食材・廃棄情報」を一覧フォームで確認できる仕組みです。データが貯まれば傾向「消費期限と消費の関係や消費食材の傾向など・・」を確認できたらと考えています。まだまだ、おおざっぱで雑でもありますが、とりあえず無いよりましとスタートしました。 以上ですが、宜しくお願いします。

  • エクセルで日付と日付の間の日数を簡単に計算するには?

    タイトルのままですが、エクセルで日付表記(例:2002/09/07)されているデータのある時点からの日数を求めたいと思っています。簡単に1月を30日とわり切ってしまえば楽そうなのですが、一応正確に求めてみたいので良いやり方があったら教えてください。ちなみにデータがたくさんあるので楽な方法があればお願いします

専門家に質問してみよう