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

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

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

You are not logged in.

Announcement

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


#1 2023-04-18 09:08:07

とうふ
Member

OnPanelSwitchの動作

いつもお世話になっております。
OnPanelSwitchトリガで実行されたスクリプトが終了した後の動作に少し疑問がありましたのでご質問させてください。

OS [Windows 10]
FMバージョン [ 19 ]
テーブル名 [名簿]
レイアウト形式 [リスト]

動作内容ですが、タブをボタン代わりに上部ナビゲーションパートに設置(タブのコンテンツ領域はサイズ調整して使用しておりません)し、各タブパネルに「あ」~「ん」までの五十音の名前を付けます。
OnPanelSwitchに対して、トリガターゲットになっているパネルの五十音で名簿テーブルを検索する下記のスクリプトを割り当てました。

--------------------------------
エラー処理 [オン]
検索モードに切り替え
フィールド設定 [ 名簿テーブル::ふりがな; GetValue( Get(トリガターゲットパネル); 2 ) & "*" ]
検索実行
レコードのソート
レコードへ移動 [最初の]
--------------------------------

するとパネルが切り変わる前と後でレコード番号を維持しようとしてしまうのか、[最初のレコードへ移動]ステップを挟んでいるにも関わらず、最終的にはトリガ発動前のレコード番号へ移動してしまいます。
デバッガで確認したところ、スクリプト終了時点では確かに最初のレコードに移動しているのですが、これは仕様なのでしょうか?
大きな問題があるわけではないのですが、なんだかモヤモヤするのでよろしくお願いいたします。

Offline

#2 2023-04-18 10:23:18

Shin
Member

Re: OnPanelSwitchの動作

スクリプトの最後で、原罪のスクリプト終了[0] を追加すればいいかも。

Offline

#3 2023-04-18 11:13:09

とうふ
Member

Re: OnPanelSwitchの動作

>Shinさん

さっそくありがとうございます。
そちらの方法は一度試してみたのですが、パネルスイッチ自体がなかったことにされてしまうためデフォルトタブからアクティブタブが変わらず、見た目と表示結果がちぐはぐになり断念しました。

Offline

#4 2023-04-18 11:52:23

チポ
Member

Re: OnPanelSwitchの動作

OnPanelSwitch
はイベントが処理される前に実行されますから、それが仕様です。

レコード移動
タブパネル移動(ステップはオブジェクト移動ですね)
現在のスクリプト終了[0]
とすればいいのでは。

Offline

#5 2023-04-18 12:38:55

himadanee
Guest

Re: OnPanelSwitchの動作

無理にパネルを使わないでボタンバーにしたら簡単かと思ったけど、ボタンバーのボタンを複製する方法がないんですね?
複製してもコピペしてもボタンでなくボタンバーに効いてしまう...
スクリプトはボタン間で共有できても設定自体を個別にしかできないみたいでボタン数が多いと手間...

#6 2023-04-18 12:48:59

とうふ
Member

Re: OnPanelSwitchの動作

みなさまありがとうございます。

>チポさん
先にオブジェクトを移動しておくという考えにいたりませんでした。
ご提示いただいた案で希望する見た目で終わらせることができました!

>himadaneeさん
おっしゃる通り最初はボタンバーで作成していたのですが、各ボタンにスクリプトを設定して引数等の設定を変えるのが大変だと気づき今の状態になった次第です。

Offline

#7 2023-04-18 14:02:24

Shin
Member

Re: OnPanelSwitchの動作

コピーして、クリップボードのxmlをいじる、という裏技はありますが。

Offline

#8 2023-04-18 15:44:19

とうふ
Member

Re: OnPanelSwitchの動作

>Shinさん
BaseElementsを利用していますので少し触ってみましたが、クリップボードってこんな形で記憶されてるんですね。
今後の効率化に役立ちそうな情報をありがとうございます。

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: 564.26 KiB (Peak: 589.41 KiB) ]