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

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

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

You are not logged in.

Announcement

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


#1 2014-12-18 23:18:58

ka
Guest

ポータルのスクロール

おしえてください。

あるテキストを持ったボタンを押すと、そのテキストをあるフィールドに持つレコードが表示される所までポータルをスクロールさせたいのですが、
そんなことはスクリプトでできますでしょうか?

具体的に言うと、商品番号を持つ商品レコードがポータルで商品番号でソートされ表示されているとして、レコードがたくさんあると、
そこまでスクロールさせるのが大変なので、ラベルに100と書かれているボタンを押すと商品番号100のレコードが先頭に表示される
ところまでスクロールしてくれると良いなと思っています。電話帳をめくるのに役立つラベルの様な機能です。

考えたのがボタンのラベルを読み取る取得関数があればグローバル変数に入れてポータルの方ではその変数以降でフィルターすれば
良いと思ったのですが、ラベルを読み取る取得関数がなさそうなのです。うまいことできますでしょうか?

#2 2014-12-18 23:59:58

Shin
Member

Re: ポータルのスクロール

そのボタンにスクリプト引数を設定して、スクリプトの中でそれを読み込ませる事が出来ます。ボタン毎に別設定が出来ますよ。

Offline

#3 2014-12-19 13:29:29

ka
Guest

Re: ポータルのスクロール

ありがとうございます。それでできました!

ただ、商品番号>=引数でフィルターするやりかただと、
当然ちょっと若い数字を見たいときに上に行けないし、
ある程度スクロールさせてからボタンを押しても先頭行に
行ってくれないので、純粋にスクロールだけしてくれる
方法はないものでしょうか。。

#4 2014-12-19 13:59:41

Shin
Member

Re: ポータルのスクロール

ポータル行へ移動、でポータル行を舐めて行くしか無いでしょうね。

Offline

#5 2014-12-19 14:45:51

sorter
Guest

Re: ポータルのスクロール

ポータル内の行へ移動で、商品番号のリストから番号の位置を計算するのでは。
Let(L=List(ポータル::商品場号);
PatternCount(Left(L;Position(¶&L&¶;¶&100&¶;1;1));¶)
)

#6 2014-12-19 16:08:11

ka
Guest

Re: ポータルのスクロール

ありがとうございます。

shinさま、ポータル行へ移動でポータルレコードの番号を1からループで調べて行って目的の商品番号が見つかったらストップするのかな。やってみます。

sorterさま、ポータルを商品番号でリレーションからソートしてそれを試しましたが、反応がないんです。実は商品番号は重複している場合が
あるのですが、そのせいでしょうか。

#7 2014-12-19 17:05:37

ka
Guest

Re: ポータルのスクロール

ループの方法だと数字によっては1分ぐらいかかってしまい使えませんでした、、。

#8 2014-12-19 17:26:28

sorter
Guest

Re: ポータルのスクロール

ポータルで使ってるリレーションにポータルと同じソートが設定されてないとだめです。
番号の重複は問題ない。

#9 2014-12-19 19:05:07

ka
Guest

Re: ポータルのスクロール

sorterさま
ごめんなさい。。お教えいただいた計算式では商品番号が100のレコードにスクロールすると思うのですが、
実は100ちょうどの商品番号はなく、100代は103から始まっていました。たぶん100ちょうどが
ないので飛ばなかったのですね。その場合100より大きくて一番100に近い103が頭にきてほしいのですが、
飛ばしたい数字はバラバラなのでどうやったら良いのか、、。

#10 2014-12-19 22:40:18

Shin
Member

Re: ポータルのスクロール

ボタンを100番ごとに作るとして、元のテーブルで100未満を切り捨てたフィールドを作っておき、その list() で上の処理をすれば良いでしょう。

Offline

#11 2014-12-20 09:58:50

旅人
Member

Re: ポータルのスクロール

商品番号は数字ではないの?

Offline

#12 2014-12-20 10:53:01

ka
Guest

Re: ポータルのスクロール

ありがとうございます。

shinさん
あーーー!!!!分りましたいつもやってる方法なのに思いつかなかった。。ありがとうございました。

旅人さん
数字なんです。

#13 2014-12-20 11:27:44

ka
Guest

Re: ポータルのスクロール

これはもう主題とは関係ないかもしれないのですが、shinさまから教えていただいた切り捨てフィールドを作るためにnを引数とする切り捨て()というカスタム関数を以下のようにして

Case(
n ≥ 10000; 10000;
9999 ≥ n and n ≥ 9900; 9900;
9899 ≥ n and n ≥ 9600; 9600;
9599 ≥ n and n ≥ 9500; 9500;
9499 ≥ n and n ≥ 9300; 9300;
9299 ≥ n and n ≥ 9200; 9200;
9199 ≥ n and n ≥ 9100; 9100;
9099 ≥ n and n ≥ 9000; 9000;
8999 ≥ n and n ≥ 7900; 7900;
7899 ≥ n and n ≥ 7100; 7100;
7099 ≥ n and n ≥ 7000; 7000;
6999 ≥ n and n ≥ 5900; 5900;
5899 ≥ n and n ≥ 5100; 5100;
5099 ≥ n and n ≥ 5000; 5000;
4999 ≥ n and n ≥ 4000; 4000;
3999 ≥ n and n ≥ 3000; 3000;
2999 ≥ n and n ≥ 2000; 2000;
//1999 ≥ n and n ≥ 1000; 1000;
999 ≥ n and n ≥ 500; 500;
499 ≥ n and n ≥ 400; 400;
399 ≥ n and n ≥ 300; 300;
299 ≥ n and n ≥ 200; 200;
199 ≥ n and n ≥ 100; 100;
99 ≥ n and n ≥ 0; 0
)

切り捨て計算フィールドで

切り捨て(商品番号)

としたのですが、5000番台だけ100と計算されてしまいます。。どう見てもそうなるわけないきがするのですが、
何かお気づきの点があればまた教えてください。。

(それとまた環境を書くのを忘れていましたすいません。mac osx yosemite、filemaker pro advanced 13です。)

#14 2014-12-20 11:58:55

ka
Guest

Re: ポータルのスクロール

すいませんどうやら上の問題は計算式をもう一度作り直すと解決しました、、。計算式は変更してもフィールドに反映してくれませんでしたね。。

あと細かいことなのですが、ポータルは四行表示される様になっているのですが、スクロールしてくれた時、該当の番台のうち一番商品番号が
小さいレコードが表示の一行目だったり最後の行だったりするのですが、これはどうしようもないでしょうか。いつも一行目なら良いなと思うのですが。

#15 2014-12-20 12:04:19

旅人
Member

Re: ポータルのスクロール

こんなのではダメなの?
http://pupld.net/28/141220/p6bht559yd/index.cgi
ポータルスクロール.fmp12

Offline

#16 2014-12-20 14:43:01

Shin
Member

Re: ポータルのスクロール

Case(
n ≥ 10000; 10000;
n ≥ 9900; 9900;
n ≥ 9600; 9600;
n ≥ 9500; 9500;
… ;
n ≥ 200; 200;
n ≥ 100; 100;
0
)
で十分です。
また、スクロールは、一旦ポータル第1行へ移動させてから目的の行へ移動させると良いはず。

Offline

#17 2014-12-20 19:35:58

ka
Guest

Re: ポータルのスクロール

ありがとうございます。

shinさま
一行目に移動させてからでうまい事いきました!完璧です今までありがとうございました。
100番台に行くときだけはちょっとだけ工夫しました。

あの複雑な比較の式はフィールドの計算式が更新されないのに気づかないときに試行錯誤していた名残でした。。

#18 2014-12-20 19:37:47

ka
Guest

Re: ポータルのスクロール

旅人さまスクリプト作っていただきありがとうございます!
ただ今回は純粋にスクロールさせたかったという目的がありました。。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 550.19 KiB (Peak: 571.09 KiB) ]