みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
日付け形式で定義された生年月日を、和暦を使って検索するために、元号、年、月、日をメニューで指定し、西暦に変換するスクリプトを作成しました。
ブラウズモードでレコードの編集をすると、生年月日への書き換えはうまくいくのですが、検索モードで、メニューを選択しても、検索用の生年月日フィールドに反映されません。
何か良い方法はないでしょうか?
因みに和暦から西暦の変換は
西暦_年 : 元号 & 年 & "年"&月&"月"& 日&"日"
生年月日 : Substitute ( 西暦_年 ;[ "平成" ; "H" ];[ "昭和" ; "S" ];[ "大正" ; "T" ];[ "明治" ; "M" ];[ "年" ; "/" ];[ "月" ; "/" ];[ "日" ; "" ])
としてあります。
Offline
意味がよくわからないけど、和暦に変換したフィールドがあって
メニューの元号、年、月、日というのがそれぞれ条件を入れる
グローバルフィールドと言うことなら、和暦フィールドを
T::元号& T::年 & "/" & T::月 & "/" & T::日
で検索したらいいのでは?
"/" の/に算術演算子を使うと/の両側に勝手にスペースが入る
ので要注意。
でもこれでは期間検索できないでしょうけど。
Offline
分かりにくくて申し訳ありません。
本来、「生年月日」は日付けタイプ(西暦)のフィールドです。
データ編集(入力)や、検索時に、和暦を使った入力をしたいのですが、その場合、”大正は15年まで”、とか”四月は30日迄”などの制限を掛けるため、
リレーションルックアップ等の値一覧を使用したポップアップメニューで入力しています。
先に書きましたように、ブラウズモードではこの変換はリアルタイムで変換されているようです,元号−>年−>月−>日とメニューを操作すると、
順番に「生年月日」が連動して変化していきます。
これを、検索モードで行いたいのですが、連動してくれません。
Offline
動的値一覧が検索モードで機能しない。
ということ?
検索モードだから出来ない
はないですが、、
設定等もっと説明が必要ですよ。
Offline
ルックアップを使った値一覧(ポップアップメニュー)は検索モードでも正常に動作します。
只、これらの値を元に計算している「生年月日」フィールド(西暦)が表示されないのです。
ブラウザーモードでは、値一覧のメニューを操作すると.「生年月日」フィールドはそれに対応して西暦を表示するのですが、
検索モードでは「西暦_年」、「生年月日」が表示されません。(空白のままです)
和暦から西暦の変換は
西暦_年 : 元号 & 年 & "年"&月&"月"& 日&"日" --------値一覧から取得した”元号”、”年”、”月”、”日”の連結 計算結果はテキストタイプ
生年月日 : Substitute ( 西暦_年 ;[ "平成" ; "H" ];[ "昭和" ; "S" ];[ "大正" ; "T" ];[ "明治" ; "M" ];[ "年" ; "/" ];[ "月" ; "/" ];[ "日" ; "" ])
--------「西暦_年」を日付に変換 計算結果は日付タイプ
この変換は、ブラウズモードで正常に機能しています。
宜しくお願いいたします。
Offline
検索モードでは、
計算フィールドは、その引数のフィールドに入力が有っても計算入力されませんよ。
引数のフィールド全てに入力が有れば、
各フィールドをand検索しますから、
計算フィールドを検索したのと同じ結果を返します。
Offline
チボ様、ありがとうございます。
”計算フィールドは、その引数のフィールドに入力が有っても計算入力されません”
そのようですね。簡単なDBを作ってテストしましたが、検索モードでは計算してくれませんでした。
実は、今回AccessのDBをFileMakerに移植中なのですが、Accessの生年月日が日付けのみなので、何とかしようと考えていました。
引数のフィールドでand検索をすれば良いのは分かっていたのですが、100万件のフィールドを埋めるのも気が引けて、スマートに出来ないかと考えていたところです。
別の方法を考えてみます。
Offline
どうも分りません、、
フィールドが理解できませんが。
どのような物にしろ、
スクリプトで検索値を入力すればいいことでは。
Offline
Pages: 1
[ Generated in 0.006 seconds, 10 queries executed - Memory usage: 561.56 KiB (Peak: 566.45 KiB) ]