初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2022-09-08 13:29:31

ubilfijup
Guest

「次の場合にオブジェクトを隠す」で、自分専用フィールドを作成したい

お世話になっております。
FMP19を利用しています。

「次の場合にオブジェクトを隠す」を活用し、ユーザーごとの専用メモフィールドを作りたいと思っています。

ユーザーは10人で、ユーザーごとのテキストフィールドを10個作成しました。

10フィールドをレイアウトへ配置し、自分用以外のオブジェクトを隠す条件を指定したいのですが、
下記以外で簡単な条件はありますでしょうか。

下記だと、すべてのフィールドに設定が必要となりますしメンテが大変なので、アドバイスいただけますと幸いです。

アカウント1以外のときに隠す条件
Get ( アカウント名 ) = "アカウント2" or
Get ( アカウント名 ) = "アカウント3" or
Get ( アカウント名 ) = "アカウント4" or
Get ( アカウント名 ) = "アカウント5" or
Get ( アカウント名 ) = "アカウント6" or
Get ( アカウント名 ) = "アカウント7" or
Get ( アカウント名 ) = "アカウント8" or
Get ( アカウント名 ) = "アカウント9" or
Get ( アカウント名 ) = "アカウント10"


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

#2 2022-09-08 14:47:20

Re: 「次の場合にオブジェクトを隠す」で、自分専用フィールドを作成したい

not(Get ( アカウント名 ) = "アカウント1")

Offline

#3 2022-09-08 15:54:01

ubilfijup
Guest

Re: 「次の場合にオブジェクトを隠す」で、自分専用フィールドを作成したい

さすらいのダンサー wrote:

not(Get ( アカウント名 ) = "アカウント1")

こちらで出来ました!


下記で出来なかったので悩んでましたが、( )を付けなければいけなかったのですね。

not Get ( アカウント名 ) = "アカウント1"

ありがとうございました!

#4 2022-09-08 16:10:53

himadanee
Guest

Re: 「次の場合にオブジェクトを隠す」で、自分専用フィールドを作成したい

こういうのは、別テーブルにアカウント名(とレコードID)でリレーションして作るものではないかな?
ユーザーというかアカウントが増えるごとにフィールドの追加が必要になるのは、よい作り方ではないです。

#5 2022-09-08 17:28:04

ublfijup
Guest

Re: 「次の場合にオブジェクトを隠す」で、自分専用フィールドを作成したい

himadanee wrote:

こういうのは、別テーブルにアカウント名(とレコードID)でリレーションして作るものではないかな?
ユーザーというかアカウントが増えるごとにフィールドの追加が必要になるのは、よい作り方ではないです。

himadaneeさん
ありがとうございます。

さっそくリレーションでの方法を勉強してみます。

もちろん自分で調べますが、参考になるQ&Aがあれば教ていただきたいです。

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

#6 2022-09-08 18:57:28

Shin
Member

Re: 「次の場合にオブジェクトを隠す」で、自分専用フィールドを作成したい

Get ( アカウント名 ) 
という非保存の計算フィールドを作っておきます。そのフィールドと主キー で、別のテーブルにリレーションを張っておき、そのテーブルにフィールドを作っておきます。
それだけでいいですよ。

Offline

#7 2022-09-12 12:41:38

ublfijup
Guest

Re: 「次の場合にオブジェクトを隠す」で、自分専用フィールドを作成したい

Shin wrote:

Get ( アカウント名 ) 
という非保存の計算フィールドを作っておきます。そのフィールドと主キー で、別のテーブルにリレーションを張っておき、そのテーブルにフィールドを作っておきます。
それだけでいいですよ。

ありがとうございます。
不勉強ながら実施したことを見ていただけますでしょうか。


1.元々あったテーブルAに、非保存の計算フィールド GET(アカウント名)を作成
2.別テーブルBを作成
3.テーブルBに、フィールド「主キー」「アカウント」「入力用」を作成
4.テーブルAとテーブルBでリレーションを設定
   A:非保存の計算フィールド GET(アカウント名) = B:アカウント
and A:主キー = B:主キー
5.テーブルAのレイアウトにフィールドを配置
配置するテーブル:テーブルBの入力用フィールド


実際にテーブルAのレイアウトで入力するときは、
スクリプトなどでテーブルBにレコードを作成し、
主キーとアカウントを入力するということで良いでしょうか。

手動で実施しましたら、問題なく動作いたしました。

大変お手数ですがご回答いただけますと幸いです。

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

#8 2022-09-12 13:31:39

Shin
Member

Re: 「次の場合にオブジェクトを隠す」で、自分専用フィールドを作成したい

そのリレーションで、テーブルB 側のレコード作成を許可しておきます。
テーブルA のレイアウトに、テーブルB::入力用フィールド を配置するだけでいいです。これで、レコード毎アカウント毎に別の値が保存できます。

Offline

#9 2022-09-12 14:37:58

ublfijup
Guest

Re: 「次の場合にオブジェクトを隠す」で、自分専用フィールドを作成したい

Shin wrote:

そのリレーションで、テーブルB 側のレコード作成を許可しておきます。
テーブルA のレイアウトに、テーブルB::入力用フィールド を配置するだけでいいです。これで、レコード毎アカウント毎に別の値が保存できます。

ありがとうございます。

希望通りの動作ができました!

レコード作成の許可でしたか、まだまだ勉強することがたくさんです。。。

本当にありがとうございました!!

#10 2022-09-13 08:05:04

ublfijup
Guest

Re: 「次の場合にオブジェクトを隠す」で、自分専用フィールドを作成したい

Shin wrote:

そのリレーションで、テーブルB 側のレコード作成を許可しておきます。
テーブルA のレイアウトに、テーブルB::入力用フィールド を配置するだけでいいです。これで、レコード毎アカウント毎に別の値が保存できます。

お世話になります。

テーブルA上のレイアウトに配置した、テーブルBのフィールドを検索するとエラーとなります。

メッセージ「これらのテーブル間の1つまたは複数のリレーションシップが無効なため、この操作は実行できません。」

こちらは正しい挙動でしょうか。
それともなにか設定が間違っているためでしょうか。

下記のリレーションだけ削除したら検索できました。
テーブルA:getアカウント = テーブルB:アカウント

ご存知でしたらご教授頂けますと幸いです。

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

#11 2022-09-13 08:38:52

Shin
Member

Re: 「次の場合にオブジェクトを隠す」で、自分専用フィールドを作成したい

検索があるのでしたら、Get ( アカウント名 ) はグローバルフィールドにしておいた方がいいですね。この場合、OnFirstWindowOpem トリガーでフィールド設定しておきます。

Offline

#12 2022-09-13 10:22:02

ublfijup
Guest

Re: 「次の場合にオブジェクトを隠す」で、自分専用フィールドを作成したい

Shin wrote:

検索があるのでしたら、Get ( アカウント名 ) はグローバルフィールドにしておいた方がいいですね。この場合、OnFirstWindowOpem トリガーでフィールド設定しておきます。

グローバルフィールドにしたら検索ができました!

計算フィールドだと発生するのですね。

大変助かり、とても勉強になりました。

ありがとうございました。

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 529.84 KiB (Peak: 550.38 KiB) ]