• ベストアンサー

生年月日を元に年齢を計算するテキストボックスを作成したのですが‥

ACCESS 2003を使用しています。 プロパティシートのコントロールソース欄に計算式を入れ、フォームで生年月日を入力すると、確かにテキストボックスには年齢が自動計算されて表示されました。 ところが、カーソルが入ると自動計算された年齢が表示されるのですが、カーソルが次のボックスへ移動すると0になって表示されてしまいました。 書式の欄には「0歳」と入力してあります。 どの設定が間違っているのでしょうか。 わかる方、教えて下さい、お願いします。 説明不足は補足します。

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

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.2

>書式の欄には「0歳」と入力してあります。 ここがおかしいのでは 0\歳 となっていますか? 0と\は半角ですよ

nyamnyam
質問者

お礼

回答ありがとうございました。 成功しました! なるほど。半角入力だったんですね。 「0歳」は、市販のテキスト本に書いてあったのですが間違っていたのでしょうか!? 助かりました。

その他の回答 (1)

  • ssykpu
  • ベストアンサー率28% (319/1125)
回答No.1

生年月日から今日(Date())の年齢を求める記述は =Int((IIf(DatePart("d",[生年月日])>DatePart("d",Date()),DateDiff("m",[生年月日],Date())-1,DateDiff("m",[生年月日],Date()))/12)) & "歳" クエリにでもコントロールでも上記をコピーで満年齢を取得できるはずですが、間違ってたらごめんなさい。

nyamnyam
質問者

お礼

アドバイス、ありがとうございました。 計算式は、アドバイスいただいたものとは違ってはいましたが、市販されている書籍に記述されているものを入力したので合っているとは思います。教えていただいた式を入力しても変わりませんでした。残念‥。

関連するQ&A

  • アクセスのフォーム上のテキストボックスについて

    アクセスのフォーム上のテキストボックスについて フォーム上のテキストボックスに直接数字を入力しようとしています。ただ、このテキストボックスのコントロールソースはフォームのレコードソースと違うものです。 この状況でテキストボックスに数値を直接入力しようとすると、『コントロールソースに連結しているので、編集できません。』と表示され、入力出来ません。 どうすれば、解決できるのかご存知の方、教えて下さい。宜しくお願いします。

  • 年令の計算方法

    perl初心者です。入力フォーム内の生年月日から現在の年令を自動計算する方法を色々と探してみたのですが、良く判らないので質問させていただきました。 年項目:b_yesr 月項目:b_mon 日項目:b_day のテキストボックスに入力し、確認画面の年令項目:ageに計算結果を表示するにはどうすれば良いのでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • Accessの関数について

    Accessのフォーム作成から氏名、生年月日、年齢といったかんじでデータを作成し、生年月日を入力したら年齢も自動的に表示されるようにしたいのですが、関数の定義がわからないので教えてもらえないでしょうか。 フォームのデザインビューからプロパティ→年齢のテキストボックスを指定し、テキストボックス年齢のプロパティが開かれます。コントロールソースの項目からビルドボタンをクリックすると、式ビルダが開かれます。生年月日の表示方式は 生年月日 1999/09/09 といった表示方法をとっています。Excelだと、datedif関数で、 datedif("生年月日","2002/10/1","y")で年齢を算出できたので、もしかしたらAccessでも定義できるんではないかと思いまして質問いたしました。

  • Access2000でフォーム上のテキストボックスで計算はできるのでしょうか?

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

  • エクセルで、生年月日からの年齢計算

    お世話になります。 タイトルの通り、エクセルで生年月日から年齢計算なのですが、下記のような生年月日の入力形態からでも、年齢計算できますか? 11/14/2013 調べたのですが、見つけたのは「平成25年11月14日」などと誕生日の欄に入力してあり どうも上手く当てはまりませんでした。 よろしくお願いいたします。

  • テキストボックスに文字を表示したい

    フォームに設置した非連結のテキストボックスに値を表示したいです。 アクセス2007です。 フォームのデザインビューで テキストボックスのコントロールソースに「あ」と入力してF5でフォームビューにすると 「#Name?」になってしまいます。 フォームビューでも「あ」と表示させるためには どうすればいいでしょうか? ご教授よろしくお願いします。

  • Access2010 生年月日からの年齢計算

    Accessで、生年月日からの年齢計算についてですが、 下の図のように生年月日の年号、年、月、日をそれぞれコンボボックスにしてその入力した生年月日から年齢を求められるようにしたいのですが、どのようにしたら良いのでしょうか? どなたかご教授願います。 Windows7 Office2010Pro です。

  • Access テキストボックスとコンボボックス

    Access初心者で、勉強がてらデータ登録フォームを作成しています。 フォーム上にコンボボックスを設置し、 テーブルに保存されているデータを検索できるようにしたのち、 テキストボックスのコントロールソースには簡単に 「=[コンボボックス].[column](2)」としています。(それぞれの名前は仮称です) 後から、テキストボックスひとつで 「コンボボックスからの検索結果を表示させる」と 「テキスト入力も可能とする」 を共存させたいと思い始めたのですが、可能になりますでしょうか。 ただし「コンボボックスからの検索結果表示」をしたテキストボックスに対し、 その情報をフォーム上で書き換えたとしても、テーブル側のデータ書き換えは行いたくありません。 よろしくお願いいたします。

  • 年齢の計算について

    いろいろ調べましたが、なかなか分からないので質問させていただきます。 エクセルのVBAでユーザーフォーム内にテキストボックスを3つ配置しました。 それぞれのテキストボックスは以下のようにしています。 テキストボックス1 基準日の入力 (2012/4/1 など) テキストボックス2 生年月日の入力 (1980/5/10 など) テキストボックス3 基準日での年齢を表示(自動表示) テキストボックス1、2に日付を入力した場合にテキストボックス3に年齢が自動で表示される といった内容です。 そこで、以下のようにプログラムしましたが、基準日を過ぎた日付をテキストボックスに入力して しまった場合にエラーになって止まってしまいます。 そこで、テキストボックス2にテキストボックス1の基準日を過ぎた日付を入れてしまったときに エラーメッセージがでるようにしたいのですが、どうすればよいでしょうか? また、文字などを入れてしまった場合には、エラーメッセージが出ますが、和暦(例:60/4/10) など入れてしまった場合にもエラーになり止まってしまいます。 このような場合(yyyy/mm/dd以外の入力の場合)にもエラーメッセージが出るようにするには どうすればよいでしょうか? Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox2 = "" Then Exit Sub Else If Not (IsDate(Me.TextBox2)) Then MsgBox "日付を入力してください" & Chr(10) & "例(2002/4/1)", vbCritical TextBox2 = "" Cancel = True Exit Sub Else TextBox3.Value = Evaluate("datedif(""" & TextBox2.Value & """,""" & TextBox1.Value & """,""y"")") End If End If End Sub 何卒よろしくお願いします。

  • ACCESS2000 テキストボックスに入力できない

    お世話になります。 環境:Win2000SP4 ACCESS2000 「メインフォーム」から、条件入力用のテキストボックスがある「条件フォーム」を開いた時、そのテキストボックスに一切入力できなくなります。「条件フォーム」を単独で開いた時には入力できます。条件フォームはオートフォーム:単票形式で作り、フォームヘッダーにテキストボックスと実行ボタンを付加しました。以前のご質問(QNo.394049 Access2000 テキストボックスに文字を入力できない理由が判りません。)に、元が集計クエリであれば入力できないとありました。まさに元が集計クエリなのですが、条件フォームを単独で開いた時には入力できますし、結果も表示されます。 どのような情報が必要かわかりませんのでとりあえず次の内容を。。。 ■集計クエリのSQL  SELECT 使用TBL.年月日,sum(使用TBL.使用金額) AS 使用金額の合計  FROM 使用TBL  GROUP BY 使用TBL.年月日  HAVING (((使用TBL.年月日)=[Forms]![条件フォーム]![txt_年月日])); ■テキストボックス(txt_年月日)  使用可能:はい  編集ロック:いいえ  IME入力モード:コントロールなし  IME変換モード:無変換 メインフォームを経由すると、なぜ入力できなくなるかわかりません。なにか問題でもあるのでしょうか?どなたかご教授頂けないでしょうか?

専門家に質問してみよう