• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access日付関数で条件により文字表記させたい)

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

このQ&Aのポイント
  • 購入した製品の保証期間の管理をAccessで行っています。今少し満足できない点がありまして、ご相談させて頂きました。
  • 保証期間の残り日数を関数記述のテキストボックス(名前)[有効期限最終日]に表示させていますが、保証日を過ぎた場合の表記がマイナス数値になってしまいます。マイナス数値ではなく文字(保証終了とかの)で表記させたいと思っています。
  • [フォームの構成]以下の3つのテキストボックスの構成で残り日数を表示させています。・テキストボックス1(フォーム窓のみ) = 名前:本日、コントロールソース:Data()・テキストボックス2(テーブル参照)= 名前:有効期限最終日・テキストボックス3(フォーム窓のみ)= 名前:テキスト1、コントロールソース:=DateDiff("d",[本日],[有効期限最終日])

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

  • ベストアンサー
  • tamu1129
  • ベストアンサー率58% (1295/2223)
回答No.2

テキストボックス3のコントロールソース変えるだけでいけるのでは? =Iif(DateDiff("d",[本日],[有効期限最終日])>0,DateDiff("d",[本日],[有効期限最終日]),"保障終了")

eokwave
質問者

お礼

早速、アドバイスを頂きました。今、関数で設定していますので、そのまま複写しました。瞬時に希望通りの変更ができました。ありがとうございます。

その他の回答 (1)

回答No.1

添付図のやり方でOKかと思います。ただ、IIF()を使った場合の記述が長ったらしいのが気になるようでしたら関数化されるといいです。 Public Function GuaranteePeriod(ByVal timeNow As Date, _                ByVal timeLast As Date) As Variant   GuaranteePeriod = _     IIf(timeNow <= timeLast, DateDiff("d", timeNow, timeLast), "保証終了") End Function

eokwave
質問者

お礼

早速アドバイスをいただきまして有難うございました。関数化への気遣いを頂きました。正直、見抜かれた気持ちです。今、関数で記述していますので・・・。しかし、アドバイスの方法は言葉に近いので少しづつ身に付けたいと思います。ありがとうございました。