みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
Win10 FMP18
いつもお世話になります。
表題の件ですが、値一覧をアカウント毎に切り替えたいのです。通常でし
たら、アカウント毎にレイアウトを作ってそれぞれ値一覧を割り当てれば
問題ないのですが、1つのレイアウトで値一覧の切り替えをしたいのです。
可能でしょうか?
宜しくお願いします。
Offline
アカウントをキーにした「動的値一覧」一本で汎用的利用可にするとか、
Offline
Hiroさんの回答のように、「関連する値のみ」の値一覧を使うしかありません。
アカウントはデータと同じく運用中に増減するものなので、そのたびにレイアウトや固定値の値一覧が変更になるような構造はよくないです。
アカウントでなくアクセス権セットなら、別ですが。
それぞれの値一覧を設定したフィールドを複数用意し、アカウントによって隠す、なんて方法もありますが。
Offline
アカウント別に表示される値が変わる値一覧というのは具体的にはどんなものでしょう?
入力先は同じで入力する値だけが異なるのか入力先も入力する値も異なるのか。
アカウント別と書いているものの
部署毎にアカウントを分けていて同じ部署なら全員同じアカウントのような使い方をアカウント別とはいいません。
逆に考えれば2段階の入力にして2段階目の値が変われば良いなら動的値一覧で対応できるということです。
方法としてはHiroさん、himadaneeさんが書かれているように動的な値一覧の応用となります。
Offline
Hiroさん
返信ありがとうございます。
なるほど、イメージは伝わります。
後は、実際にどのようにするかは自身で考えてみます。
ありがとうございます。
Offline
himadaneeさん
そうなんですが、どうしてもレイアウトはまだプレ段階で手直しが必要になる可能性が高いんです。
なので、レイアウトは動かしたくないなぁと思いまして。
とにかく、一度チャレンジしてみます。
ありがとうございます。
Offline
Shinさん
返信ありがとうございます。
なるほど、それは簡単というか、シンプルで分かりやすいですね!!
まずはそちらを試してみて、しっくり来なければ動的値一覧にチャレンジしてみます。
ありがとうございます。
Offline
Mozさん
コメントありがとうございます。
担当者毎に使う値一覧が違う、具体的には担当するブランドが違うという
意味です。
で、以前質問したやり方で動的値一覧を使ってやったのはやったのですが、
それとは別で担当者毎にブランドを選べるようにしたいと考えました。
で、通常でしたら、担当者毎にレイアウトを作ってやれば良いのですが、
まだプレ段階でして、レイアウトも変える可能性がございます。
担当者にプレで使ってもらい、使用感を確認しつつ、本チャンに臨みたい
と思っていたのでこのような質問をさせて頂きました。
ちなみに、2段階入力とは、動的値一覧絞り込みという事でしょうか?そ
れなら既にやってはおるのですが、その考えなら何かヒントが出てきそう
な気がします。
ありがとうございます。
Offline
それぞれの値一覧を設定したフィールドを複数用意し、アカウントによって隠す、なんて方法もありますが。
SINさん
早速教えて頂いた方法を使おうとしたら、上手く動作してくれません・・・。
テーブルオカレンス::フィールド名 = "ほにゃらら"
上記のように計算式を書いたのですが、何故か隠れてくれません・・・。
さらに、式が
"テーブルオカレンス::フィールド名 = \"ほにゃらら\""
という風に置き換わってしまいます。
式の書き方に問題があるんでしょうか?
Offline
Shin wrote:それぞれの値一覧を設定したフィールドを複数用意し、アカウントによって隠す、なんて方法もありますが。
SINさん
早速教えて頂いた方法を使おうとしたら、上手く動作してくれません・・・。
テーブルオカレンス::フィールド名 = "ほにゃらら"
上記のように計算式を書いたのですが、何故か隠れてくれません・・・。
さらに、式が"テーブルオカレンス::フィールド名 = \"ほにゃらら\""
という風に置き換わってしまいます。
式の書き方に問題があるんでしょうか?
今気付きましたが、計算結果が論理値にならなければダメなんですよね?!
出直してきます。
Offline
どこに計算式を書いたのですか?
テーブルオカレンス::フィールド名 = "ほにゃらら"
これは論理式になっています。
Offline
自己レスです。
無事にSINさんのおっしゃってた方法で出来ました。
If ( テーブルオカレンス::フィールド名 = "ほにゃらら" ; 1 ; 0 )
上記のような式を当てはめると見事に消えてくれましたので、これで担当
者分フィールドを重ねてやってみたいと思います。
ただ、重ね過ぎると後々大変ではあるのですが・・・。
皆さん、ありがとうございます!!
Offline
どこに計算式を書いたのですか?
テーブルオカレンス::フィールド名 = "ほにゃらら"
これは論理式になっています。
Mozさん
あれ?!
そうなんですか?!
インスペクタ内の動作の「次の場合にオブジェクトを隠す」です。
上記式ですと、エラーというか隠れないんですよ。
Offline
動いたという計算式と同じ意味ですよ。
テーブルオカレンス::フィールド名 = "ほにゃらら"
成立すれば1しなければ0ですから。
計算式が修正されてしまうようなのでフィールド名などが微妙に間違っているのでしょう。
※インスペクタから鉛筆アイコンをクリックして計算式の指定ダイアログを表示して
計算式を入れると計算式の誤りはエラーダイアログがでますが、
インスペクタに直接計算式を入れると誤りがあっても全体が文字列にされてしまいます(""で囲われる)
Last edited by Moz (2020-06-15 13:17:02)
Offline
Mozさん
コメントありがとうございます。
動いたという計算式と同じ意味ですよ。
テーブルオカレンス::フィールド名 = "ほにゃらら"
成立すれば1しなければ0ですから。
やっぱりそうですよね?!
何故か何度やっても動作しないので、自分自身を疑って勘違いしているのだと思っていました。
計算式が修正されてしまうようなのでフィールド名などが微妙に間違っているのでしょう。
※インスペクタから鉛筆アイコンをクリックして計算式の指定ダイアログを表示して
計算式を入れると計算式の誤りはエラーダイアログがでますが、
インスペクタに直接計算式を入れると誤りがあっても全体が文字列にされてしまいます(""で囲われる)
なるほど、微妙に間違っている可能性があるんですね。
ただ、基本的に鉛筆アイコンをクリックしてから計算式を指定しており、エラーは特に出ないんですが・・・。
唯一、検索にチェックを入れると挙動がおかしかったですが・・・。
サンプルファイルありがとうございます!!
確認させて頂きましたが、私の思っている通りの動作しておりますね。
もう少し、調べてみます。
Offline
Mozさん
計算式が修正されてしまうようなのでフィールド名などが微妙に間違っているのでしょう。
気になる点があったんですが、テーブル名とテーブルオカレンス名が微妙に違うのですが、それは関係ありますか?
やはり何度やってもエラーは出ず、""が勝手に付きます・・・。
Offline
気になる点があったんですが、テーブル名とテーブルオカレンス名が微妙に違うのですが、それは関係ありますか?
私の再現ファイルと質問者さんのファイルで微妙に違っていてもそれは原因ではないと思います。
なお、テーブル名が「テーブル」でテーブルオカレンス名が「テーブルオカレンス」でも問題ではありません。
1.まずはレイアウトに割り当てられたテーブルオカレンス名を確認して下さい。
2.次に計算式を作る際に左側のフィールドパネル上部で1の手順で確認したのと同じテーブルオカレンスを選択して、
フィールドパネルからフィールドを選んで計算式に入れて下さい。手打ちはダメです。必ず選択してダブルクリックで入れて下さい。
上記を試してみることをオススメします。
"" が付く以上は無効な計算式になっていると考えられます。
Last edited by Moz (2020-06-15 13:55:17)
Offline
Mozさん
何度も申し訳ないです。
気になる点があったんですが、テーブル名とテーブルオカレンス名が微妙に違うのですが、それは関係ありますか?
私の再現ファイルと質問者さんのファイルで微妙に違っていてもそれは原因ではないと思います。
なお、テーブル名が「テーブル」でテーブルオカレンス名が「テーブルオカレンス」でも問題ではありません。
なるほど、ではそちらに関しては問題なさそうですね・・・。
1.まずはレイアウトに割り当てられたテーブルオカレンス名を確認して下さい。
2.次に計算式を作る際に左側のフィールドパネル上部で1の手順で確認したのと同じテーブルオカレンスを選択して、
フィールドパネルからフィールドを選んで計算式に入れて下さい。手打ちはダメです。必ず選択してダブルクリックで入れて下さい。
これ、何度も確認して見直しましたが、間違ってないんですよ・・・。
"" が付く以上は無効な計算式になっていると考えられます。
という事なんですよね・・・。
再度、確認してみます・・・。
気になる点とすれば、
"テーブルオカレンス::フィールド名 = \"ほにゃらら\""
という風に、""の前後に「\」が付いてきます。
ここが原因何でしょうか?
Offline
Mozさん
今、一点違いを見つけました。
厳密にお伝えすると、実は隠したいフィールドに対して式を入れているのではなく、別のフィールドに対する式を入れています。
隠したいフィールドをAとします。
式内に出てくるフィールドをBとします。
Aを隠したい条件として、テーブルオカレンス::B = "ほにゃらら"
としている点です。
これがダメなんでしょうか?
追記
Mozさんのサンプルファイルで試してみましたが、問題なかったです・・・。
再度、確認してみます・・・。
Last edited by げっさん (2020-06-15 14:35:14)
Offline
隠したいフィールドをAとします。
式内に出てくるフィールドをBとします。
これは問題ありません。このような使い方は良くあることです。
"テーブルオカレンス::フィールド名 = \"ほにゃらら\""
ダブルコーテーションは計算式中に文字列を入れる際に使うので
文字列そのものに含みたい場合は「\"」のように回避文字として「\」が入ります。
正しい計算式は
テーブルオカレンス::フィールド名 = "ほにゃらら"
このように全体を文字列として扱っていないものですから本件では関係ないでしょう。
1からファイルを作ったら(私の再現ファイルのように)どうなりますか?
実は問題のファイルではテーブルオカレンス名やフィールド名の末尾にスペースが含まれたりしていませんか?
Offline
Mozさん
大変お騒がせしました。
一旦、ファイルを閉じて再オープンした後、再度動作確認をしたら大丈夫でした。
コンピュータと同じで、FileMakerのファイルも問題起こったら一度閉じて開けてみるもんですね。
本当に何度も考えて頂き、感謝致します。
無事に解決しました。
Last edited by げっさん (2020-06-15 15:05:42)
Offline
Pages: 1
[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 575.23 KiB (Peak: 612.14 KiB) ]