プロが教える店舗&オフィスのセキュリティ対策術

Access2000のフォーム上に「生年月日」と「現在年齢」というテキストボックスがあります。
「現在年齢」というテキストボックス内で、関数を使用して(日付関数だと思うんですが)今、何歳かという表示をしたいのですが、できるのでしょうか?

A 回答 (5件)

生年月日のイベントで


イベントプロシージャを選択し
Me![現在年齢] = Year(Me![処理日] - Me![生年月日]) - 1900
で実現します

がんばって下さい。
    • good
    • 0
この回答へのお礼

早々のご指導有難うございます。
ちなみに、教えていただきたいのですが、[処理日]に自動的にマシンデートを入れる方法ってあります?

お礼日時:2001/10/09 15:57

フォームを開いた時は、まだレコードも読んでいないし


当然フォームに値がセットされていない為に
エラーになると思います。
フォーカス取得時は、レコードを読んでフォームに値がセットされ
入力可になる前なのでokになると思います。
    • good
    • 0
この回答へのお礼

ありがとうございました。
ようやく、意味と動きがわかってきました。
がんばってみます。

お礼日時:2001/10/18 19:58

>フォーム → ビューモード → "現在年齢"のプロパティ →みつけられません。


 フォーム → ビューモード →
 アクセスのフォームの画面の左上に小さな■が有るところで
 右クリック→プロパティ→イベントで表示されませんか?

 でフォームのイベント一覧が表示されます。

がんばって下さい。
尚次回の補足の回答は、明日になります。オヤスミナサイ。
 

この回答への補足

ありがとうございました。
無事みつかりました。しかし問題が....。

Private Sub Form_Open(Cancel As Integer)
Me![現在年齢] = Year(Me![年齢基準日] - Me![生年月日]) - 1900
End Sub

というコードを組んだのですが、フォームを開くと"ここに数値の代入はできません"というメッセージがでて代入できませんでした。
ちなみに"フォーカス取得時"(Enter)にするとできるんですけど。

補足日時:2001/10/16 13:46
    • good
    • 0

再再度登場


 フォームのプロパティのイベントで開く時の所に
 イベントプロシージャーの所で式を入力すれば
 okです

がんばって下さい。
 
 

この回答への補足

早速の回答ありがとうございます。

実は、私もイベントに"Open"という種類があるというのは知っていたのですが、
イベントで見つけることができなかったのです。

フォーム → ビューモード → "現在年齢"のプロパティ →→→みつけられません。

フォーム → ビューモード →"現在年齢"を右クリック → イベントのビルド → コードビルダ →→→更新前処理になってしまいます。

どうしたらよいでしょう?

補足日時:2001/10/15 17:45
    • good
    • 0

>[処理日]に自動的にマシンデートを入れる方法ってあります?


 Me![現在年齢] = Year(Date() - Me![生年月日]) - 1900

でいかがですか?

この回答への補足

いろいろと、ご指導ありがとうございました。結局、下記の記述でできました。

Private Sub 本日_Enter()
Me![本日] = (Date)
End Sub

Private Sub 現在年齢_Enter()
Me![現在年齢] = Year(Me![本日] - Me![生年月日]) - 1900
End Sub

ところで、関連した質問をしたいのですが、[年齢基準日](固定の日付)と[生年月日]を使って、フォームが開いたときに[年齢]を表示したいのですが、できますでしょうか?

補足日時:2001/10/15 16:58
    • good
    • 0
この回答へのお礼

追加の質問に早速ご回答いただきありがとうございます。
がんばってチャレンジしてみます。

お礼日時:2001/10/09 16:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!