みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
レコードの表示・非表示を制御するフラグの付与方法を考えています。(フィールド名はflg状態)
ユーザーには分かりやすいように、ポップアップメニューで「""・非表示」を選択させたいですが、検索する場合などにはこの方法では支障が出ます。
現在は、別に計算フィールドを作成してcase関数で1or0に変換する、値一覧を使用する等の手法が思い浮かばないのですが、シンプルに1つのフィールドの設定だけで実現する方法はあるんでしょうか?
〇やりたいこと
1つのフィールドの設定だけで、ポップアップメニューでは「""・非表示」だが、入力される値は1or0になるようにしたい。
※ちなみに有効・無効など別の文字列にするのも手ですが、リスト表示にした場合にごちゃごちゃしてしまい識別しずらいので「""・非表示」としています
フィールドそのものは数字フィールドにしておきます。
レイアウト上は、論理書式にして、true で "非表示";false で “” と設定しておきます(逆でもいいです)。
フィールドそのものをボタンにしておき、フィールド設定[ フィールド ; not フィールド] という1ステップを割当ます。
これだけでいいでしょう。
Last edited by Shin (2023-06-24 15:15:04)
Offline
shin様
ありがとうございます。
指示いただいた通りにしましたら、うまくいきました。
書式でtrueとfalseを設定しておいて、ボタン設定→単一ステップ→フィールド設定[ フィールド ; not フィールド]なのでボタンを押すたびにtrueとfalseが切り替わるんですね。
勉強になりました。
1つ調べても分からなかったことがあるので教えてください。
レイアウトの編集→右のインスペクタパネルのデータの書式設定で、
0以外の場合:非表示
0の場合 :””
としたとき、特に指定していないのにちゃんと「1」が入力されます。
試しに「2」を入力すると、0以外の場合という文字通り非表示となりますが、2回ボタンをおして「""」→「非表示」に戻すとちゃんと「1」になります。
これはそういう仕様なんでしょうか?
「1」であれば、リレーションで照合フィールドに使えるので願ったりかなったりなんですが、万が一1以外の数字が入ることがあると困ってしまいそうなので。
よろしくお願いいたします。
敢えて2を設定する事はできますが、フィールドの内容としては、0以外ですので true とされます。それが論理書式です。
敢えての入力に対して、0 , 1 以外を入れさせたくないのでしたら、フィールド定義の自動入力の計算式で、上書きを許可して、
GetAsBoolean ( self )
を設定しておきます。
Offline
GetAsBoolean ( self )という便利な関数があるのですね。
いろいろと教えていただきありがとうございました。うまく実装できました。
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 550.52 KiB (Peak: 578.07 KiB) ]