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

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

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

You are not logged in.

Announcement

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


#1 2016-02-09 11:47:03

ファイルオプション
Guest

お教えください。

いつも勉強させていただいています。
早速ですが、質問です。
現在、あるファイルメーカーをキックするために
空のファイルメーカーファイルを作成しました。
キックする側をファイルA、キックされる側をファイルBとします。
このファイルAに『起動』という名前で以下のようなスクリプトを
組みました。
スクリプト:
  ファイルを開く[ファイルB]
  ファイルを閉じる[現在のファイル]
さらにこれを『ファイルオプション』の『このファイルを開く時』の
『実行するスクリプト』に設定しました。
実行すると、動き自体はこちらの意図したとおりに動いてくれたので
良かったのですが、ここで一つ問題が。
それはファイルAの中身が全く見れなくなってしまったということです。
ファイルAを起動するとスクリプトが動いてしまってファイルBを開いてしまいます。
そうすると、ファイルAは閉じてしまうので見れません。
アクセスだと、『Shift』を押しながらファイルをクリックすると起動時のオプションを
無効にして起動できるんですが、ファイルメーカーにはそういった機能はないのでしょうか?
当方の環境は、
   OS:Win7
   FM:ファイルメーカー11Pro
です。
一応、ファイルAのバックアップは取ってあるのでそれを上書きしてしまえばいいのですが
何かいい方法があればお教えいただきたいと思います。

#2 2016-02-09 12:05:45

Moz
Member

Re: お教えください。

ファイルBをどこか別の場所にうつせばファイルAのスクリプトがファイル指定ダイアログを出すでしょう。
ダイアログをキャンセルするとスクリプト続行のダイアログが出るので続行しなければ次のステップにいかず閉じるを回避できるでしょう。
(未検証なので悪しからず

Offline

#3 2016-02-09 12:40:22

Moz
Member

Re: お教えください。

戻ってきたので検証結果を。

上の投稿で書いた方法でスクリプトを止められますのでファイルA開くことはできます。
ただし、
・エラー処理[オン]
・ユーザによる強制終了を許可[オフ]
のいずれかが[ファイルを開く]より前に入っていたらこの方法はだめです。

※FileMaker Pro 11 Advanced をお持ちならスクリプトデバッガを使えば面倒なことをせずスクリプトを止められます。

Offline

#4 2016-02-09 13:11:49

ファイルオプション
Guest

Re: お教えください。

Moz様、返信ありがとうございます。

Moz wrote:

戻ってきたので検証結果を。

上の投稿で書いた方法でスクリプトを止められますのでファイルA開くことはできます。
ただし、
・エラー処理[オン]
・ユーザによる強制終了を許可[オフ]
のいずれかが[ファイルを開く]より前に入っていたらこの方法はだめです。

※FileMaker Pro 11 Advanced をお持ちならスクリプトデバッガを使えば面倒なことをせずスクリプトを止められます。

なるほど。一応方法はあるようですね。ちなみに『Advanced』は所有していません。
ただ、この方法は当方では使えないと思います。
まず第一に、Moz様もお書きになったように『エラー処理[オン]』と『ユーザによる強制終了を許可[オフ]』を
使用しています。
第二に、ファイルはファイルメーカーサーバー上にあるのでどこかに持っていくということができません。
スイマセン。最初に詳しく書いとけばよかった。
でも、そうなると有効にしないようにするにはどうしたらいいのでしょうか?
スクリプトにIFでも仕込んで閉じないようにする方法しかないのかな?。

#5 2016-02-09 13:40:06

Moz
Member

Re: お教えください。

FileMaker Server でも Admin Console から ファイルB を閉じれば同じようにエラーは起こせます。
が、今回のケースでは[エラー処理][ユーザによる強制終了を許可]のためボツ案ですね。

ファイルAを開かずファイルAの設定を変更する方法はないので
FileMaker Pro 11 Advanced が無いとすると"詰んだ"かも知れません(汗)

Offline

#6 2016-02-09 13:40:55

チポ
Member

Re: お教えください。

エスケープ用にスクリプトをもうひとつ

  If[Code ( Get (トリガキー入力) = 27 )]
    全スクリプト終了
  End If

これをフィールドのスクリプトトリガOnObjectKeystrokeに指定します。


元のスクリプトの最初に
  フィールド移動(上記のフィールド)
  スクリプト一時停止[1秒?]
を加えます。

スクリプト停止中にescキーを押すとスクリプトが終了します。

気に入らないかな・・

Last edited by チポ (2016-02-09 13:44:42)

Offline

#7 2016-02-09 13:44:05

Moz
Member

Re: お教えください。

あれ。。。
もしかして私勘違いをしていてファイルAを開いてスクリプトを修正できる状態ですか?

Offline

#8 2016-02-09 13:47:11

チポ
Member

Re: お教えください。

ん?
私が勘違いしていますか?

ファイルAを開いたまま止めることができない?

Offline

#9 2016-02-09 13:48:06

Moz
Member

Re: お教えください。

チポさんのを見て思いつき、ファイルBに[全スクリプト終了]だけのスクリプトを作って
ファイルBのファイルオプションで[実行するスクリプト]に設定するとファイルB開いた瞬間にファイルAを閉じるがキャンセルされますね。

【補足】
ファイルAが開いたと同時に[実行するスクリプト]で閉じてしまって手が加えられなくなった状態を
FileMaker Pro 11  Advanced なしで何とかする方法のアイデアです。

Last edited by Moz (2016-02-09 13:50:45)

Offline

#10 2016-02-09 13:55:12

チポ
Member

Re: お教えください。

私のアイデアは、
以後の運用でエスケープする方法です。

Offline

#11 2016-02-09 15:05:16

ファイルオプション
Guest

Re: お教えください。

チポ様、Moz様返信ありがとうございます。
私の説明が下手なせいでお二人を混乱させてしまったようで
申し訳ありません。
うまく説明できるかわかりませんが、
ファイルAはローカルに置きファイルBはサーバー上に置きます。
やりたいことは、
1.ローカルにあるファイルAを起動するとサーバー上のファイルBが起動する。
2.ファイルBが起動したらファイルAを閉じる。
です。
スクリプト自体はすぐに組めて1・2実現も簡単でした。
しかし、ファイルAはテストで作ったためまだ起動画面やスクリプトの整理が
終わっていないので改めて中を整理しようと思ってクリックしたら
当然、ファイルオプションに設定されているとおり動いてしまって
中の整理ができなくなってしまった。
この時、気づいたのは
『今後、この起動画面を修正したりするときに中身が見れない』ことでした。
それで『Shiftかなんか押してスクリプトの起動が無効にできないかな?』と
いう質問になったわけです。
そのことは最初のMoz様とのやり取りでできないことが判明しましたので
最初に作ったファイルはバックアップと入れ替えて新たにエスケープする方法を
模索する必要になったわけです。
で、その方法はチポ様のアイディアをそのままいただくことにしまして
組み込んだところ成功しました。
これなら、BIOSの設定を開くみたいにできるので動きとしては望ましいです。
ですので、この方法で行こうと思います。
お二人にはお手数をお掛けしました。ありがとうございました。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 541.63 KiB (Peak: 562.16 KiB) ]