• ベストアンサー

【ACCESS】年度の求め方

あるテキストボックスに、YYYY/MM/DDの形で日付を入力し、 その月の数字によって、別フィールドに○年度と表示させたいのですが、 やり方が分かりません。どなたか教えてください。

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

  • ベストアンサー
  • vantage
  • ベストアンサー率60% (310/514)
回答No.2

テキストボックス年度を表示ということなら、コントロールソースに =IIf(Month([txt])<4,Format(DateAdd("yyyy",-1,[日付のテキストボックス名]),"gggee" & "年度"),Format([日付のテキストボックス名],"gggee" & "年度")) ではどうでしょうか。 あるいはVBAで Private Sub 日付のテキストボックス名_AfterUpdate() If Month([日付のテキストボックス名]) < 4 Then  Me!年度のテキストボックス名 = Format(DateAdd("yyyy", -1, [日付のテキストボックス名]), "gggee" & "年度") Else  Me!テキストボックス名 = Format([日付のテキストボックス名], "gggee" & "年度") End If End Sub 例では、年度は4月から、 表示は「“元号2文字”&“年”&“年度”」ですので、適宜状況にあわせて変更してみてください。

00hiroto00
質問者

お礼

ありがとうございました。 非常に参考になり、解決しました!!

その他の回答 (1)

  • laputart
  • ベストアンサー率34% (288/843)
回答No.1

一番簡単なのはテーブルでは年度を作らないで クエリーで計算するのがいいでしょう。 テーブルのフィールドをそのまま全て選択して クエリーを作ります。 そのクエリーをデザインで開いて 日付の次に列を3つ挿入します。 そのフィールドに以下の関数を設定します。 ●最初の列 年:Year([日付]) とします ●次の列 月:Month([日付]) とします。 この年と月から年度を計算します。 例えば2004年4月から16年度であるとすると ●3つ目の列 年度: [年]-1988+([月]<4) 質問があれば遠慮なく聞いてください。   

00hiroto00
質問者

補足

回答、ありがとうございます。 やはり、クエリではなくてフォーム上で行いたいのですが…。 Nowを使わずに、"入力した日付"を元に年度を割り出したいのですが…。

関連するQ&A