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

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

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

You are not logged in.

Announcement

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


#1 2021-10-20 13:29:38

げっさん
Member

タブで複製したレイアウトにルックアップをするには?

いつもお世話になります。

とある指図書レイアウトがあるとします。
その指図書レイアウトをタブフィールドで複製を作り、指図書タブと変更
用タブとします。
ちなみに、内容は全く同じなんですが、指図書タブは一度入力したら加筆
はしないようにし、必要な場合は変更用タブを加筆します。

ここから質問なんですが、このような事をする場合、新たにテーブルを追
加してポータルなり計算値自動入力を使うのが良いのでしょうか?
テーブルを増やしたくないので別のやり方も模索したいんですが、何か方
法はありますか?

なお、タブを使うのはただの思いつきと言いますか利便性を考えてなんで
すが、無理であればタブの代わりに別のレイアウトを使うのも問題はあり
ません。

要はオリジナルを触りたくないのでコピーを作りたいんですが、そのコピー
を作る為には新たにテーブルが必要かどうか?

という質問となります。

では、宜しいお願いします。

Offline

#2 2021-10-20 14:35:12

Shin
Member

Re: タブで複製したレイアウトにルックアップをするには?

> その指図書レイアウトをタブフィールドで複製を作り
この複製を作り、というところが全く意味が分からないのですが。
オブジェクト、というか、フィールドの意味でしょうか。

> オリジナルを触りたくないのでコピーを作りたいんですが、そのコピーを作る為には新たにテーブルが必要かどうか?
ここに関してだけ。
元のレコードのコピーを作り(レコードの複製でいいでしょう)、そちらで対応すればいいのでは。オリジナルは、別のところから持ってくるのでしょうから、そのレコードのみオリジナルフラグを立てて置き、アクセス権で変更を禁止しておくのがいいでしょうね。
または、元のオブジェクトを背景に配置して、その上に別のオブジェクトを重ねておき、加筆部分のみを保存する、という言もできるのかもしれません。

Offline

#3 2021-10-20 14:50:04

げっさん
Member

Re: タブで複製したレイアウトにルックアップをするには?

Shinさん

オブジェクト、というか、フィールドの意味でしょうか。

フィールドの事ですね。失礼しました。

元のレコードのコピーを作り(レコードの複製でいいでしょう)、そちらで対応すればいいのでは。

えっ、そんな簡単な事で良いんですか?!その発想は全く無かったです・・・。
早速、何かテストファイルを作って試してみます。

ありがとうございます!!

Offline

#4 2021-10-20 17:05:51

げっさん
Member

Re: タブで複製したレイアウトにルックアップをするには?

Shinさん

追加で質問良いでしょうか?

質問した事に関してはまさしくShinさんがおっしゃってくれたようにすれば出来たんですが、実はレイアウト中にポータルがありまして・・・。

1行目までは「変数を設定」+「フィールド設定」で複製出来ましたが、2行目以降が・・・。
しかも、ポータル内のフィールドが5フィールド、行数が7行あるのでこれらを全て「変数を設定」+「フィールド設定」で複製するとなると、かなり大変な事になりますよね?!

では、宜しくお願いします。

Offline

#5 2021-10-20 17:13:24

Shin
Member

Re: タブで複製したレイアウトにルックアップをするには?

Offline

#6 2021-10-21 10:24:43

げっさん
Member

Re: タブで複製したレイアウトにルックアップをするには?

Shinさん

コメントありがとうございます。

内容を拝見させて頂きました。
ドンピシャの質問があったんですね?!

で、確認をさせて頂きながらどうしても動作確認前に迷ってしまいまして・・・。

こちらのファイルはもうお持ちではないですよね?!

もしくは、

ウインドウを選択 [ 名前: "明細"; 現在のファイル ]

こちらは新規ウインドウで表示しているウインドウを選ぶという事ですよね?!

となると、事前に

変数を設定 [ $wn2; 値:Get ( ウインドウ名 ) ]

みたいな感じが必要かと思ったんですが?!

如何でしょうか?

Last edited by げっさん (2021-10-21 11:12:11)

Offline

#7 2021-10-21 14:41:26

Shin
Member

Re: タブで複製したレイアウトにルックアップをするには?

サンプルファイルは、すべてそのまま公開してあるのですが、DropBoxの仕様変更でリンクが切れてしまっています。更新しましたので、
https://fm-aid.com/bbs2/viewtopic.php?pid=19157#p19157
より落としてください。この手法は、30年ほど前に私が考えついて、後に、fmjml でどなたかに”だるま落とし”と命名いただいたものです。
また、新規のウインドウ名は、新規ウインドウを開く際に指定してあります。厳密に言うと、その名前も重複を防ぐためにUUIDでも使ったほうがいいのでしょうが。

Last edited by Shin (2021-10-21 14:46:43)

Offline

#8 2021-10-25 09:14:33

げっさん
Member

Re: タブで複製したレイアウトにルックアップをするには?

Shinさん

サンプルファイルは、すべてそのまま公開してあるのですが、DropBoxの仕様変更でリンクが切れてしまっています。更新しましたので、

ありがとうございます。
無事にダウンロード出来ました!!

さて、実際に私自身のモノと比較しながらやっていましたが、なかなかどこが間違っているのか分らずに悪戦苦闘しておりました。
で、最終的には見事同じような動きになりました。
心から感謝します。

30年ほど前の手法が未だに使えるというのは本当にスゴイですね!!

Last edited by げっさん (2021-10-27 09:27:41)

Offline

#9 2021-10-27 09:28:58

げっさん
Member

Re: タブで複製したレイアウトにルックアップをするには?

shinさん

今回教えて頂いた分でポータルのコピーが出来たのですが、こちらを実行した後、ポータル内の順番が丁度逆になりますよね?!
その順番を元に戻そうと試行錯誤しておりましたが、どうしても分らないので教えて頂いても宜しいでしょうか?
自身でも何度も試して見たものの、何故か上手くいかず・・・。

そもそも、ポータルのソートを行うというスクリプトが存在しないんですね。
となると、サンプルファイル内に書かれているスクリプトステップの途中で事前にソートさせようと思ったんですが、そちらも上手く行かず・・・。

宜しくお願いします。

Offline

#10 2021-10-27 11:22:27

Shin
Member

Re: タブで複製したレイアウトにルックアップをするには?

下から処理をするのが簡単なのですが、それですとデフォルトの並び順は逆になります。ただ、理論上はデータベースのテーブル内のレコードの並び順は意味がありませんので、それでも問題はありません。
オリジナルと同じ順番が必要でしたら、元のリストで並び順を指定するフィールドを作っておくのがいいでしょう。ポータルの中で、そのフィールドでソートを設定しておきます。

ソート用のフィールドを作れないのでしたら、関連レコードへ移動した後、最初のレコードへ移動、レコードを複製、レコードを対象外、最初のレコードへ移動、レコードを対象外、という手順で複製できるはずですが、ソートの状態によっては必ずしもうまくいきません。

Offline

#11 2021-10-27 14:04:37

げっさん
Member

Re: タブで複製したレイアウトにルックアップをするには?

Shinさん

追加での質問もお答頂き、誠にありがとうございます。

ソート用のフィールドを作れないのでしたら、関連レコードへ移動した後、最初のレコードへ移動、レコードを複製、レコードを対象外、最初のレコードへ移動、レコードを対象外、という手順で複製できるはずですが、ソートの状態によっては必ずしもうまくいきません。

ソート用のフィールドを作る方法を考えていましたが、とりあえずこちらをやってみてから考えようと思いましたら、見事にこちらの方法で行けました!!
ポータル内のソートは特に何も行ってないので問題なさそうです。
万が一、問題が起こった場合、ソート用のフィールドを作る方法で再度やってみます。

今回もありがとうございます。

Offline

#12 2021-10-27 14:15:13

Shin
Member

Re: タブで複製したレイアウトにルックアップをするには?

この方法、デバッガーで動かしてみるとかなり動きが激しいのがわかると思います。多量の複製を行うと、かなり遅くなり、オリジナルの方法の約2倍の時間がかかります。(数十程度なら差はわからないでしょうが)

Offline

#13 2021-10-28 09:39:29

げっさん
Member

Re: タブで複製したレイアウトにルックアップをするには?

Shinさん

コメントありがとうございます。

この方法、デバッガーで動かしてみるとかなり動きが激しいのがわかると思います。多量の複製を行うと、かなり遅くなり、オリジナルの方法の約2倍の時間がかかります。(数十程度なら差はわからないでしょうが)

確かに、デバッガーを見ながら何度もリトライしておりましたが、めちゃんこ激しい動きですね・・・。
ちなみに、最高でも7つまでの複製しかないので問題ないかと思います。

それでも問題が起こるようであれば、無理矢理でもソート用フィールドを作りますね。

ありがとうございます。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.010 seconds, 9 queries executed - Memory usage: 619.65 KiB (Peak: 636.55 KiB) ]