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

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

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

You are not logged in.

Announcement

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


#1 2014-09-09 12:13:04

mogura
Guest

レイアウト内に自動で増える一覧を作りたい

FMproAdvanced win7使用です。
よろしくお願いいたします。

取引先業者のデータベースを作っています。

データを入力するのと同じレイアウトの中に、取引業者名の一覧を作ってそこにボタンを配置し、クリックすると関連レコードへ飛ぶようにしたいのです。
インデックスのようなイメージです。
取引先業者は状況によって増減するので、レコードを更新すれば一覧も増減するようにしたいです。

自己リレーションしてポータルでできないかと思って色々やってみましたが、結局よくわかりませんでした・・・。

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

#2 2014-09-09 12:35:40

Shin
Member

Re: レイアウト内に自動で増える一覧を作りたい

> 自己リレーションしてポータルで
できますよ。そのポータル上のフィールドにボタンを設定し、関連レコードへ移動、させれば良いだけです。

Offline

#3 2014-09-09 12:49:50

mogura
Guest

Re: レイアウト内に自動で増える一覧を作りたい

Shinさま、早速のお返事ありがとうございます。

もう少し詳しく教えてください。

自己リレーションなのですが、取引先会社名でつなぐとポータルには当然その会社の名前しか出てこなくなってしまったので、別のフィールドを作ってグローバルフィールドにしてそれを繋いでいます。
それでポータルにはすべての会社の名前が表示されるようになったはいいのですが、今度はボタンで関連レコードに移動となると、Gフィールドなので絞れないみたいで、上手くいきません。
スクリプトで組もうかとも思ったのですが、組み方ががよくわからず・・・。

大変恐縮ですが、もう少しヒントをいただければと思います。
そもそもグローバルフィールドでつなぐのが間違いなのでしょうか・・・?

#4 2014-09-09 13:15:01

チポ
Member

Re: レイアウト内に自動で増える一覧を作りたい

ポータルを表示するリレ−ションにはグローバルは不要です。

  X(デカルト積)
として、
関連レコード移動は別のリレーションで
取引業者名
の照合とすればいいでしょう。


自己リレーション
と言っていますが、
そうすると同じ取引業者名がポータルに表示されますよね。

それを防ぐにはさらに設定が必要となります。

取引業者名のマスタが有ればそれとリレーションすればいいんですが。。

Offline

#5 2014-09-09 13:36:28

旅人
Member

Re: レイアウト内に自動で増える一覧を作りたい

取引業者名の値一覧を作って、そのデータを繰り返しに入れて
繰り返し行のクリックでも行けるはずです。
関連レコード移動のリレーション用にグローバルへの格納が必
要かも知れないけど。

Offline

#6 2014-09-09 13:56:32

mogura
Guest

Re: レイアウト内に自動で増える一覧を作りたい

チポさま、ありがとうございます!

>  X(デカルト積)
>として、
>関連レコード移動は別のリレーションで
>取引業者名
>の照合とすればいいでしょう。

デカルト積なるものがあるのですね!
取引業者名でデカルト積のリレーションにしたところ、無事ポータルにすべての取引業者名が表示されました。ありがとうございます!
関連レコード移動は別のリレーションで、ということは、また他にテーブルやリレーションを作った方がよいということでしょうか?
ものわかりが悪くて申し訳ありません。。。
一応、取引業者名をデカルト積で自己リレーションし、関連レコード移動は取得元を自己リレーション先(複製のテーブル)表示にして、ボタンでのレコード移動は出来るようになりました。


>自己リレーション
>と言っていますが、
>そうすると同じ取引業者名がポータルに表示されますよね。
>それを防ぐにはさらに設定が必要となります。

取引先はそれほど数がないので、現在表示している取引先業者が一覧に表示されていてもかまわないのですが、ちなみにその設定は難しいのでしょうか?


>取引業者名のマスタが有ればそれとリレーションすればいいんですが。。

業者さんは結構増減が多く、マスタは作ってません。
別テーブルを作ってマスタとすることも考えたのですが、同テーブル内にあるフィールドをリスト表示、という手法が使えないかという興味もあったのでこの方法でやってみたかったのです。。


色々と重ねて質問をしてしまって申し訳ありませんが、お手すきの時にでもご返答いただければ幸いです。

#7 2014-09-09 15:59:23

Shin
Member

Re: レイアウト内に自動で増える一覧を作りたい

取引先マスターは、ぜひ作られる事をお勧めします。その方が、後々必ず楽になります。
それを使うと、例えば、入力したデータで取引先を絞り込み、そのポータルをクリックする事で、マスターテーブルへ飛んで、という動作が出来るようになり、また、取引を中止した業者も、そこにフラグを設定する事で、リストへ出さないようにする事も出来ます。
同テーブル内の情報を使っていくと、フィルターを使う事も難しく、対象数が増加する一方になります。

Offline

#8 2014-09-10 09:46:31

チポ
Member

Re: レイアウト内に自動で増える一覧を作りたい

取引業者名をデカルト積で自己リレーションし、
関連レコード移動は取得元を自己リレーション先(複製のテーブル)表示にして、
ボタンでのレコード移動は出来るようになりました

レコード移動だけでいいのか。

私の方法は対象レコードの絞り込みをするためでした。


ポータルに取引業者名を一つずつ表示する、ポータルフィルタを使った方法を。
取引業者名でリレーションし、ユニークなフィールドを作り、
さらに計算フィールド
ユニーク = リレーション::ユニーク
とすると、同じ取引業者名の内一つだけに1が入ります。

この1をフィルタの条件にすればいいですね。


しかし、やはりマスタを作るべきでしょう。。

Offline

#9 2014-09-10 16:19:37

mogura
Guest

Re: レイアウト内に自動で増える一覧を作りたい

Shinさま、チポさま、旅人さま、ご回答、本当にありがとうございます。

やはりマスタは作った方がよいのですね。
Shinさまの、
>取引を中止した業者も、そこにフラグを設定する事で、リストへ出さないようにする事も出来ます。
は、ぜひそうしたいので、マスタを作ることにします。
確かに、絞り込めるようにもした方が使い安いと思います。

旅人さま、まだ試せていませんが、ありがとうございます。

チポさまも、ありがとうございました。

まずはマスタを作って、もう一回作り直してみます。
たぶん、絞り込みの方法など、また質問に伺うと思います。。

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

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 521.23 KiB (Peak: 525.77 KiB) ]