- ベストアンサー
生年月日を検索したいのです!
顧客マスターに入力された生年月日フィールド(2000/01/01のようなデータ)から 1月生まれの人だけを検索するにはどうすればいいですか? ワイルドカードのようなものを使わないで検索したいのですが… 例えばあるフィールドに「1」と入力してボタンを押すと一覧になって出てくる…というような形がいいのです。 検索モードに切り替えないで、スクリプトでできる方法を教えてください。 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
すみません。スクリプトの部分がver.7以降の書き方でした。ver.5の場合は スクリプト定義で、 「関連レコードへ移動」を右の空欄に移動します。 「関連レコードだけを表示」にチェックを入れ、指定で自己リレーションを指定するだけです。
その他の回答 (2)
- chieffish
- ベストアンサー率44% (1149/2554)
>タイプを日付にして「Month(生年月日)」とすればいいのでしょうか? Month(生年月日)で月だけ取り出せますがタイプは日付ではなく「数字」にします。 ・新しく検索用の値を入力するフィールドを作ります。仮に名前を「検索用」として 数字グローバルフィールドとします。 ・リレーション定義で相手ファイルは自分自身のファイルを指定し、照合フィールド は現ファイルの「検索用」と関連ファイルの「月」フィールドにします。 ・スクリプトを1個作ります。「関連レコードへ移動」の1ステップだけです。オプシ ョンは、取得元は先ほど作ったリレーションを指定。レコード表示に使用するレイ アウトはとりあえず「現在のレイアウト」。結果オプションは「関連レコードのみ 表示」で「現在のレコードのみ照合」でOKボタン グローバルフィールドに「1」を入力して、このスクリプトを実行すれば1月生まれの 人のレコードだけが表示されるはずです。
- chieffish
- ベストアンサー率44% (1149/2554)
これって、ファイルメーカーでのお話ですよね。 スクリプトにすれば検索モードに切り替えても画面が検索モードになるわけではないので 構わないと思うのですが・・・・ それもイヤということでしたら、現在の生年月日から月だけを抜き出す計算フィールドを 作って、それと「1」を入力するグローバルフィールドを照合フィールドとした自己リレ ーションを設定して、そのリレーションの「関連レコードに移動」のスクリプトしか無い と思います。
補足
あ、すみません。 使用しているのはファイルメーカーpro5です。 >>現在の生年月日から月だけを抜き出す計算フィールドを 作って、それと「1」を入力するグローバルフィールドを照合フィールドとした自己リレ ーションを設定して、そのリレーションの「関連レコードに移動」のスクリプトしか無い と思います。 というのは、具体的にどうすればいいのでしょうか? すみません、まったくの初心者なので… まず、 (1)「現在の生年月日から月だけを抜き出す計算フィールドを 作る」というのは タイプを日付にして「Month(生年月日)」とすればいいのでしょうか? (2)「「1」を入力するグローバルフィールドを照合フィールドとした自己リレーションを設定」というところがいまひとつわかりません。 よろしければ教えてください(><)
お礼
うまくいきました!! とてもわかりやすく教えていただき、ありがとうございました。 また何かあったらよろしくお願いします(^^;)