Accessのフォームビューで年齢を計算させたいのですがどうすればよいのでしょうか?

A 回答 (2件)

現在の日付からというのでいいですか?


テーブルに「生年月日」というフィールド名をつけた場合です。
クエリーで下記のように記述します。

IIf(Right(Format([生年月日],"yyyy/mm/dd"),5)>Right(Format(Now(),"yyyy/mm/dd"),5),DateDiff("yyyy",[生年月日],Now())-1,DateDiff("yyyy",[生年月日],Now()))

このクエリーをもとにフォームをつくれば反映されますよ。
    • good
    • 0
この回答へのお礼

どうも有難うございました。
悩みがすべて解決できました。これからも明解な回答をお願いします。

お礼日時:2001/01/24 15:50

 昔にこんな質問があります。

これを参考にして下さい。

 また質問する時には、
 OSと、アプリケーションのバージョンは書いて下さいね。
 特に、Accessですと、97と2000では使える関数も大幅に違いますので...ね。

参考URL:http://www.okweb.ne.jp/kotaeru.php3?q=15235
    • good
    • 0
この回答へのお礼

どうも有り難うございました。
確かにバージョンも書かないで質問するなんて非常識ですよね。これからは気をつけます。
参考URLは役に立ちました。これからもよろしくお願いします。

お礼日時:2001/01/24 15:53

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

このQ&Aを見た人が検索しているワード

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

Q顔の皮膚が乾燥して痒いのですが。

顔の皮膚が乾燥して痒いのですが。
1か月程前から、所々顔だけの皮膚が乾燥し、粉をふいた様になっています。
洗顔後はヒリヒリとして、赤くなり、痒みがありますが何かの病気なのでしょうか。
保湿をしても治りません。

Aベストアンサー

試しに、gooヘルスケアで「皮膚炎」で検索すると25件がヒット。
重複しているのも有りますが、それにしてもそれだけ様々有ると言うことでしょうか。

ですので、まずは皮膚科でも受診されるのが正解と思いますね。

私の足の貨幣状皮膚炎と似て無くも無いですが、赤斑は無かったので違いそうだし。

Qひとつつのテーブルから二つのフォームを作成しました。そのフォームを連結させるにはどうしたらよいか教えてください。

既存のフォームは項目が多く一目でどれがどこにあるかわかりにくいので、使用していない項目は隠して欲しい、隠した項目もいざ必要となった時には見れるようにして欲しいと言われました。
そこで私は、使用してない項目は別のフォーム(以降:隠れフォームと記述)にして、既存のフォームにコマンドボタンを設けて、クリックすればたどり着けるようにしました。
ところが、隠れフォームへのコマンドボタンを押すと表示されるデータは既存フォームに表示されているデータであって欲しいのですが、隠れフォームのデータは一番最初のデータのままです。
既存フォームと隠れフォームを一緒に移動させる方法はないのでしょうか?
隠れフォームのテーブルは既存フォームと同じです。
隠したい項目だけを選んでクエリを作成してそこから隠れフォームを作成しました。
ツールボックスのサブフォームは使っていません。
どのような方法をとるとよいでしょうか?
どなたかお知恵を貸してくださるようお願いいたします。

Aベストアンサー

そのテーブルに、主キー(もしくは重複なしのインデックスつきの)フィールドはありますか?
もしあるのでしたら、

> 隠したい項目だけを選んでクエリを作成してそこから隠れフォームを作成しました。

とのことなので、そのクエリに、「既存フォームで現在表示中のレコード」に絞り込む条件を
追加してやるのが一番簡単だと思います。


1)隠れフォームのレコードソースにしているクエリをデザインビューで開く
2)主キー(または重複なしのインデックスつきの)フィールドがまだ追加されていない場合は
 それをドラッグ&ドロップなどで追加
3)上記フィールドの『抽出条件:』欄に、以下のような式を入力
 ・既存フォームの名前が「フォーム1」、上記フィールドが「ID」の場合:
  [Forms]![フォーム1]![ID]
 ・既存フォームがサブフォームを持ち、データ表示をそのサブフォームで行っている場合:
  (メインフォームが「フォーム1」、サブフォームコントロール(→「ソースオブジェクト」として
  指定しているフォーム名ではないので注意)が「サブ1」、上記フィールドが「ID」として)
  [Forms]![フォーム1]![サブ1]![ID]
4)クエリを保存して閉じる

・・・以上です。

なお、フォーム1が開いていない状態でこの隠れフォームを開くと、「[Forms]![フォーム1]![ID]」
(または「[Forms]![フォーム1]![サブ1]![ID]」)の入力を求めるパラメータダイアログが表示される
ようになります。

  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

※蛇足※
Husky2007さんの後者案を、375kさんのフォームに現状のまま適用した場合、「現在レコード
ソースに設定済のクエリ」がいったん読み込まれた後に、再度SQL文がレコードソースとして
設定されることになるように思います。

もしそちらを採用されるのでしたら、隠れフォームのレコードソースは削除した上で、

Private Sub Form_Open(Cancel As Integer)
  If Len(Me.OpenArgs & "") = 0 Then
    Me.RecordSource = "クエリ1"
  Else
    Me.RecordSource = Me.OpenArgs
  End If
End Sub

とされるのがよいのではないでしょうか。(現在のレコードソースが「クエリ1」だったとして)

そのテーブルに、主キー(もしくは重複なしのインデックスつきの)フィールドはありますか?
もしあるのでしたら、

> 隠したい項目だけを選んでクエリを作成してそこから隠れフォームを作成しました。

とのことなので、そのクエリに、「既存フォームで現在表示中のレコード」に絞り込む条件を
追加してやるのが一番簡単だと思います。


1)隠れフォームのレコードソースにしているクエリをデザインビューで開く
2)主キー(または重複なしのインデックスつきの)フィールドがまだ追加されていない場合は
 ...続きを読む

Q顔の乾燥。目のまわりはどうすれば???

先月くらいからかなり顔が乾燥し顔の皮膚???
皮がパラパラ落ちるくらいになりました。
まぶたの上がすごくて皮膚が薄くなり血がでます。
治ってきたと思うとまた皮がとれ血がでての繰り返し。

もう片方の目もそうなりそうです。
目の回りに薬をぬるわけにもいかないので困っています。

目の周りの乾燥を止めるにはどうすれば良いのでしょうか。お願いします。

Aベストアンサー

私もここ最近急に乾燥肌になり、カサカサになりむけるようになりました。皮膚科に行きプロペトという薬を処方していただきました。その薬は眼科も使っているので目のまわりでも大丈夫ということです。ちょっと油っぽいですがカサカサはなおりきれいになりました。一度皮膚科に行かれてはいかがでしょうか。

QACCESS97でACCESS2003のmdbはどうすれば見れますか?

ACCESS97環境です。知人より作成してもらったACCESS2003のmdbを開く事が出来ません。
どうすれば開く事が可能でしょうか??

また、ACCESSがインストールされていないPCでACCEESを起動する事は可能でしょうか??

以前はVBにてEXEを作成し配布しておりましたが、今後はACCESSで作成し配布出来ればいいなと考えております。

よろしくお願い致します。

Aベストアンサー

>どうすれば開く事が可能でしょうか??
不可能です。ACCESS97で上位のバージョンを開くことはできません。
お友達にマイナーバージョンへの変換をお願いしてください。
「ツール」「データベースユーティリティ」「データベースの変換」でできます。

2003のmdbをそのまま開きたい場合は、Office2003デベロッパーエディションに含まれる
Access2003用のランタイムパッケージが必要になります。

Q乾燥 顔

すっごい肌が乾燥して痛いです。
顔、特に目の下らへんが乾燥しすぎて、ひりひりしてすごく痛いです。
見た目は赤くなり、なんか火傷した感じになってすごい困ってます。

どうすればよくなるのでしょうか?

ちなみに広島市内に住んでるので広島市内にいい皮膚科があれば教えてください。

Aベストアンサー

乾燥しだしたのは最近ですか?
それとも昔からですか?

最近なのであれば、以前と生活習慣が変わってませんか?

乾燥肌の原因は、簡単に説明すると、

皮膚の内側の角質層がきちん作られていないこと。
表面の水分・油分のバランスが取れていないこと。

なのです。

化粧水やクリームなどでしっかりケアしてるのに、
治らない場合は、
ビタミンやミネラルなど皮膚を作る栄養がきちんと
摂取できていなかったり、紫外線に浴びすぎていたり、
睡眠がきちんととれていないからという事が多いです。

火傷した感じになるのは水道水の中に入っている、
カルキが原因かもしれません。
水道水は弱アルカリ性なので肌にあまりよくありません。
一度煮沸させた湯を使うか、竹炭などでカルキを吸着したものを
使うと改善出来るかもしれません。
上記は難しいかもしれないので、
家電量販店などに除去してくれるシャワーヘッドが売ってますので、
取り替えて使ってみるのもいいかもしれません。

病院は県外なのでわかりません。
早く良くなるといいですね。

QACCESSのフォーム上で複数検索したい項目がある場合どうすればいいですか?

(1)部品ID
(2)日付
(3)入庫か出庫 
以上3つを検索したいのですがどうすればいいでしょうか?

(1)の部品IDはリストBOXの一覧から選択し、選択したものをテキストBOXに表示させるという形で作成しました。
(2)の日付はテキストBOXに手入力という形です。
(3)の入庫か出庫はコンボBOXで選択するという形です。

検索ボタンを作成してクエリの更新をかけて表示したいと思うのですが、3つの条件のうちその時により、全ての検索条件を入力しなくても1つでも条件を入力するとその条件が表示させるようにさせたいのです。

あと、何も条件を入力せず、検索ボタンを押すと全てのデータが表示させれるようにもしたいのです。

どのようなコードを記述すればいいでしょうか?
よろしくおねがいします

Aベストアンサー

>”このオブジェクトに値を代入することはできません”と表示され・・
失礼しました。フィルターのセットで最後が足りませんでした。あと[このオブジェクトに値を代入・・]のメッセージは抽出等で間違った指定方法をしているという事なのですが・・。
多分日付の抽出の仕方だと思いますので日付抽出のセットを少し変えましたのでメインフォーム上のボタンCmd1のクリック時のイベントを下記に変更してみてください。

Private Sub Cmd1_Click()
Dim MyCriteria As String

MyCriteria = "日付 ="
If IsNull(Text2) Then
MyCriteria = MyCriteria & True
ElseIf Not IsNull(Text2) Then
MyCriteria = MyCriteria & "#" & Me!Text2 & "#"
Else
End If

strfilter = MyCriteria
strfilter = strfilter & " And 部品ID Like '*" & Me.Text1.Value & "*' And 区分 Like '*" & Me.Cmb1.Value & "*'"

Forms!フォーム名!サブフォーム名.Form.Filter = strfilter
Forms!フォーム名!サブフォーム名.Form.FilterOn = True
Forms!フォーム名!サブフォーム名.Requery

End Sub

メインフォーム上のテキストボックスやコンボの値をサブフォームのフィルターに代入するときはMe!Text1の指定で良さそうなので上記でサブフォームにフィルターをかけられます。(試したらフィルターかけられました。)
これでどうでしょう。

>”このオブジェクトに値を代入することはできません”と表示され・・
失礼しました。フィルターのセットで最後が足りませんでした。あと[このオブジェクトに値を代入・・]のメッセージは抽出等で間違った指定方法をしているという事なのですが・・。
多分日付の抽出の仕方だと思いますので日付抽出のセットを少し変えましたのでメインフォーム上のボタンCmd1のクリック時のイベントを下記に変更してみてください。

Private Sub Cmd1_Click()
Dim MyCriteria As String

MyCriteria = "日付 ="
If IsNull(T...続きを読む

Q顔に水で霧吹きをかけるだけでも乾燥対策になるのでし

部屋の湿度が30%なのですが
顔に水(水道水)で霧吹きをかけるだけでも乾燥対策になるのでしょうか?
無意味ですか?

Aベストアンサー

肌に水分を取り込んでも、乳液など蓋をしないままで放置していると水分が蒸発して逆効果になります。
湿らせたコットンに化粧水を垂らし、3分ほど顔に貼り付けるローションパックがお勧めです。
ローションパックもそれだけでは意味がないので、ちゃんと乳液を薄く塗りましょう。

QAccessで、フォームAからダイアログモードで立ち上げたフォームBを開き、フォームBを閉じた時にフォームA側でマクロを実行したい

タイトルのままなのですが、

フォームA(メインとなる画面)と
フォームB(コードの検索画面)があり、
フォームAからフォームBをダイアログモードで開いている状態から、
フォームBを閉じたときに、フォームA側でマクロを実行したいと思っています。

具体的には、フォームAにコード入力用のテキストボックスがあり、コード検索のためにフォームBを立ち上げ、コードを選択した後フォームAのテキストボックスにそのコードを入れて、そのコードの値を元にフォームAにあるコンボボックスの再クエリを行いたいのです。

コンボボックスの再クエリの方法等は理解しているのですが、
上記のような場合に、どのイベントがキックされるのかが分かりません。
どのようにすれば(どのイベントを選んでマクロを指定すれば)適切に実行できるでしょうか。

Aベストアンサー

フォームBの処理
「値の代入」
「オブジェクトの選択」
  オブジェクトの種類:フォーム
  オブジェクト名:フォームA
「再クエリ」
  コントロール名:コンボボックス名
でいかがでしょうか?

Q日中、顔の乾燥が気になったらどうしてますか?

20代OLです。
だんだん寒くなる時期に近づき、
会社の事務所でも時々暖房がつけられるようになりました。
夏のクーラーの時もそうですが、これに伴って毎年悩むのが顔の乾燥です。(*ノェノ)

あたしは朝お化粧をして会社に行くのですが、
上の悩みがある冬場は朝乳液をつける際、
乾燥するかもしれないからと言ってちょっと多めに塗ると、
その量が適量じゃなかったのか、暖房をかけてる間妙に鼻のまわりやおでこがテカテカしてしまいます。
ファンデが浮いてしまうコトもあります。
だからと言って少なめにすると、乾燥して肌がピリピリ痛かったり、お化粧のノリもすごく悪くなってしまいます。
調整がとても難しいです。
それでもテカテカしてしまう時は脂取り紙を使うなど色々対策のしようがあるけど、
乾燥してしまった時はどう対処してイイかわかんないんです…
ファンデ塗ってる上から乳液をつけるわけにもいかないし、実は今日も乾燥して肌がピリピリ痛いです。(泣)
あたしだけかもしれませんが皆さんは、
日中、顔の乾燥が気になったらどうしてますか?
ファンデの上から何かできる、オススメなお化粧品もあれば教えて頂きたいです!

20代OLです。
だんだん寒くなる時期に近づき、
会社の事務所でも時々暖房がつけられるようになりました。
夏のクーラーの時もそうですが、これに伴って毎年悩むのが顔の乾燥です。(*ノェノ)

あたしは朝お化粧をして会社に行くのですが、
上の悩みがある冬場は朝乳液をつける際、
乾燥するかもしれないからと言ってちょっと多めに塗ると、
その量が適量じゃなかったのか、暖房をかけてる間妙に鼻のまわりやおでこがテカテカしてしまいます。
ファンデが浮いてしまうコトもあります。
だからと言って少...続きを読む

Aベストアンサー

こんにちは!20代女です。

オフィスの乾き、気になりますよねー。
私も乾燥肌なので、お気持ち分かります。

乾いたなーと思ったら、アベンヌのスプレー式化粧水か、シュウウエムラのディプシーウォーターをシュッとかけて、軽くティッシュで押さえてます。

これだけでも全然違いますよ!
アベンヌは全く香りも無いし、本当に普通の水?って感じですけどどこでも手に入るから便利です。

シュウの方は、香りも色々ありますし、ボトルもカワイイので気に入るものがあると思いますよ。

良いものが見つかればいいですね!

参考URL:http://www.shu-uemura.co.jp/product/skincare/depsea_water.html

QAccess2000 フォームビューの表示関連

どなたか、ホントにお助け下さい。

A、B、Cテーブルのデータを1つのフォームで表示入力できるよう、A、B、Cを繋げたクエリ作成し、
A対B、A対Cの一対多リレーションシップ設定したんですが、フォームビューで確認すると背景だけで表示されません。

・コントロールのプロパティの「可視」の状態は「はい」
 コントロールのはフォーム上の配置位置が「ページヘッ ダー/フッター」は「詳細」となっております。

切り分け内容
・フォーム-対象フォルダ選択-開く-背景表示無し
-プロパティ-レコードソース-クエリー-レコードソースを外すと”入力フォーム自体”は表示されるようになりますが、各々#Name?となってしまいます。

お助け下さい。

Aベストアンサー

#Name?エラーについては、後半を読んで下さい。

同じテーブル構造でクエリ、フォームが空白表示される場合とそれを回避する術を紹介します。
まず、回避する術から見て下さい。

<Table1> <Table2>  <Table3>
ID<----+  ID     +--->ID
Data1 +----Table1_ID  |  Price
      Table2_ID---+
      Data1

このようなリレーションシップになっているならば、
クエリを<SQLビュー>で確認すれば、

SELECT Table2.ID, Table1.Data1, Table2.Data1, Table3.Price
FROM Table1 RIGHT JOIN (Table2 LEFT JOIN Table3 ON Table2.Table3_ID = Table3.ID) ON Table1.ID = Table2.Table1_ID;

となります。
この場合、Table2にデータを次のように登録できるようにするには、参照整合性のレ点を消す必要があります。

ID  Table1_ID Table3_ID Data1
1   1     1     XX
2   1     1     YY
3   0     0     ZZ

この場合、クエリにもフォームにもTable2のレコードが全て表示されます。
(条件抽出している場合は、それに合致する全てのレコード)

<Table1> <Table2>  <Table3>
ID<----+  ID     +----ID
Data1 +----Table1_ID  |  Price
      Table2_ID---+
      Data1

今、Table2とTable3の結合を<両方が同じのみ>に変更します。
すると、3行目が消えます。
また、Table3から対応するレコードを削除します。
そうすると、クエリもフォームも空白となります。
これは、リレーションシップの設定のなせるワザです。

***********************************
#Name?となってしまいます
***********************************

テキストボックスのコントロールソースが存在しないので当然のことです。

#Name?エラーについては、後半を読んで下さい。

同じテーブル構造でクエリ、フォームが空白表示される場合とそれを回避する術を紹介します。
まず、回避する術から見て下さい。

<Table1> <Table2>  <Table3>
ID<----+  ID     +--->ID
Data1 +----Table1_ID  |  Price
      Table2_ID---+
      Data1

このようなリレーションシップになっているならば、
クエリを<SQLビュー>で確認すれば、

SELECT Table2.ID, Table1.Data1, Table2.Data1, Table3.Price
FROM Tabl...続きを読む


人気Q&Aランキング