ファイルメーカープロでデータベースを作ろうと思っています.

そこで質問なんですが、ある人の生年月日を入力したときに、そのときのその人の年齢が自動入力されるようにしたいんです.(たとえば平成10年生まれの人なら、誕生日がまだなら2歳、誕生日過ぎなら3歳となるように)

生年月日の設定の仕方、年齢のフィールドの定義の仕方、(あとデータを入力した日が自動入力されるようにしたほうが良いんでしょうけど)が、わかる方.教えてください.よろしくお願いします.

このQ&Aに関連する最新のQ&A

A 回答 (1件)

年令を計算する時点はいつでしょうか?。



例えば、年令を計算する時点はそのデータが作成された日にちとしますね。
誕生日(タイプ:日付)
作成日(タイプ:日付)(オプション:作成日)
年令(タイプ:計算)(オプション:If(Month(作成日- 誕生日) = 12 and Day(作成日- 誕生日) = 31, Year(作成日-誕生日), Year(作成日- 誕生日) - 1))

この「年令」の計算式中の「作成日」を「Today」に代えると、そのデータベースファイルを立ち上げた当日の、その人の年令がわかると思います。
    • good
    • 0
この回答へのお礼

できました.

これで、思っていたデータベースができそうです.ありがとうございました.

お礼日時:2001/08/01 01:24

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

関連するカテゴリからQ&Aを探す

このQ&Aと関連する良く見られている質問

Qエクセルで生年月日から現在の年齢を計算する関数はないですか?

エクセル95か2000でかまわないのですが、生年月日から現在の年齢を自動的に計算する関数は何かないでしょうか?
たとえば、あるセルに生年月日を入力しておきます。行に2002年10月、11月、12月・・・と入力しておき、それぞれ2002年10月、11月、12月の年齢が、生年月日から計算されて参照されるような関数です。

Aベストアンサー

A1に生年月日が入っているとします。
A2から順に2002年10月、2002年11月、2002年12月と
入力されているとします。
B2に =datedif($A$1,A2,"Y")と入力すると
年数が出ると思います。
(この場合は各月1日での年齢となります)

datedif関数は年数だけでなく”月数”、”日数”なども
求めることが出来ます。
詳細についてはEXCELのヘルプを参照してみてください。

Qアクセスにてオブジェクト名変更時にそのオブジェクト名を含むクエリ内の式が自動更新されるようにするは?

アクセスを編集しています。
テーブルやクエリなどのオブジェクトが増えていく中で、過去に作成したオブジェクトの名前を変更したいと思うことがあるのですが、変更してしまうとそのオブジェクトが式の中に含まれているクエリがエラーを起こして実行できなくなってしまうので変更ができません。

オブジェクト名を変更した際、その名を含む式も同時に更新されるような設定はないものでしょうか?
教えていただければ幸いです。

Aベストアンサー

ご存知かもしれませんが
名前の自動修正オプションを設定する
https://support.office.com/ja-jp/article/%E5%90%8D%E5%89%8D%E3%81%AE%E8%87%AA%E5%8B%95%E4%BF%AE%E6%AD%A3%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B-b475af37-dcf8-477e-a9d8-32ca9c1d4623
より引用
『名前の自動修正で修正されない対象
名前の自動修正では以下のものは修正されません。
フォーム、レポート、またはコントロールの名前の変更は追跡されません。
マクロ内またはコード内のテーブル、クエリ、またはフィールドの名前は修正されません。』
ですので残念ながら有りません。

どこでコントロール名が使われているか調べるときに
リボンのデータベースツール→データベース構造の解析を選択
必要な個所にチェック・オプションの設定を行って[OK]
印刷プレビューが立ち上がるので、リボンのテキストファイルをクリック
適当な名前で保存しメモ帳などのテキストエディタで開き検索。
としたことはあります。

ご存知かもしれませんが
名前の自動修正オプションを設定する
https://support.office.com/ja-jp/article/%E5%90%8D%E5%89%8D%E3%81%AE%E8%87%AA%E5%8B%95%E4%BF%AE%E6%AD%A3%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B-b475af37-dcf8-477e-a9d8-32ca9c1d4623
より引用
『名前の自動修正で修正されない対象
名前の自動修正では以下のものは修正されません。
フォーム、レポート、またはコントロールの名前の変更は追跡されません。
マクロ内またはコー...続きを読む

Qfrom...where を from...join..on にするには

以下のSQL文は from ... where ... で書かれていますが
これを from ... join ... on ... で書き直したいのですが可能でしょうか?

select X.col1, U.col1

from TABLE_X as X ,TABLE_U as U

where U.REC_NO = (select B.REC_NO
from TABLE_A as A, TABLE_B as B
where A.ITME = B.ITEM
and X.DATA = A.DATA
fetch first 1 row only )

むずかしくしているのは、fetch first 1 row only なのですが
これがないと where句のかっこのなかのselect文は複数の結果を返します
しかし、その複数の結果はすべて同じものになることがデータ上保証されています

fetch first を除いて select distinct としても同じ結果となりますが
パフォーマンスがひどく低下してしまいます。

以下のSQL文は from ... where ... で書かれていますが
これを from ... join ... on ... で書き直したいのですが可能でしょうか?

select X.col1, U.col1

from TABLE_X as X ,TABLE_U as U

where U.REC_NO = (select B.REC_NO
from TABLE_A as A, TABLE_B as B
where A.ITME = B.ITEM
and X.DATA = A.DATA
fetch first 1 row only )

むずかしくしているのは、fetch first 1 row only なのですが
これがないと w...続きを読む

Aベストアンサー

on句は結合条件でfetch firstは抽出条件なのでwhere句をon句にする単純な書き直
しはできないと思います。やるとしたら副選択のselect文をfrom句に書いて一時テーブルとしてfetch firstをdistinctにするしかないような気がします

select X.col1, U.col1
from
(select distinct B.REC_NO
from TABLE_A as A, TABLE_B as B
where A.ITME = B.ITEM
and X.DATA = A.DATA) as Z
inner join TABLE_X as X on ...
inner join TABLE_U as U on ...

fetch first にくらべて distinct なので遅いような気がしますが
実際には副選択がないためにそための内部的に作られる一時表が軽くなるのでこちらのほうが速いと思います。

Qアクセス日付時刻の自動入力について。

アクセス2000を使用しています。
日付入力を自動的に本日の日付で入力出来るように、
=Date()としたのですが、これに、時間もつけるようにしたいのと、表示を、平成**年**月**日**時**分としたいのですが、どのようにすればよいのでしょうか??
ちなみにVBAはむずかしくて使用出来ません。

Aベストアンサー

こんにちは。maruru01です。

テキストボックスのプロパティで
書式:ggge\年m\月d"日 "h\時n\分
既定値:=Now()
とすればいいと思います。

あと、ユーザーが変更出来ないようにするなら、
使用可能:いいえ
編集ロック:はい
にしておけばいいでしょう。

Q自動入力

コンボボックスから得意先コードを選択した時に、名が自動入力されるにはどうしたいいのか教えて下さい。

Aベストアンサー

コンボボックスに値を格納するか、別のテキストボックスに格納するかによって違ってきます。

1.コンボボックスに格納する
コンボボックス作成ウィザードでリストに表示する値を得意先コードと得意先名の両方にします。するとコンボボックスに格納する値を聞いてきますので、得意先名を指定してください。

2.別のテキストボックスに格納する
上記の方法で得意先コードを保存してください。別のテキストボックスのコントロールソースに「=iif(Isnull(**2),"",Dlookup("得意先名","得意先マスター","得意先コード" = Forms!**1!**2))」と入力してください。(**1はフォーム名 **2はコンボボックス名)
これは**2がNULL(空白)でなければ、得意先マスターの得意先名を**1フォームの**2コンボボックスの値で抽出して表示しなさい。とい命令です。

コードをいじれるともっといろんなことが出来ますよ。
もしうまくいかなかった場合、コメントを下さい。


人気Q&Aランキング

おすすめ情報