みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
昨日からFMを使い始めた初心者です。
FM14スーパーリファレンスを片手にデータベース作製しており、最終的にはWEB上での公開を目的としています。
レイアウトは現在、
「検索用」、検索結果を表示する「リスト用」、リストからさらに詳細な表示を行う「フォーム用」
に分けています。
特に、データベースのリレーションシップは行っていません。
「リスト用」から「フォーム用」、「フォーム用」から「リスト用」への移動は、ボタン処理「レイアウト切り替え」でできています。
「検索用」レイアウトでつくったフィールドから検索を行い、結果を「リスト用」に表示させたいと思っています。
「検索用」レイアウトでボタンをつくり、ボタン処理「検索モード/一時停止」、「検索実行」、「レイアウト切り替え」のスクリプトをたてましたが、検索からうまくいきません。
お手数おかけしますが、お分かりになられる方、教えていただけると助かります。
どうぞよろしくお願い致します。
Offline
「検索用」レイアウトでボタンをつくり、ボタン処理「検索モード/一時停止」、「検索実行」、「レイアウト切り替え」のスクリプトをたてましたが、検索からうまくいきません。
本にどんなことが書かれていたのかわかりませんが。。。
引用した部分にどのようなスクリプトをせってしたのか
もう少し詳しく
特に「検索からうまく。。。」は何どううまくあいかないのか
など
Offline
ご返信ありがとうございます。
「検索用」レイアウトにおいて、検索ボタンをつくり、次のスクリプトを立てました。
1 検索モードに切り替え[一時停止]
2 検索実行[]
3 レイアウト切り替え[「リスト用」レイアウト]
以上のスクリプトは書籍にあったスクリプトステップ一覧の中から選んでみました。
次にブラウズモードに切り替え、「検索用」レイアウト上で作成した検索ボタンを押すと検索モードに変わり、各フィールドには検索のマークがつきます。
そこで、検索したいキーワードを入力し、検索ボタンを押すのですが、キーワードが消えてしまうだけで、「リスト用」レイアウトに移動できないのです。
お手数おかけしますが、よろしくお願い致します。
Offline
スクリプトは、書かれた後のステップは有りませんか?
また、
> 「検索用」レイアウト上で作成した検索ボタン
このボタンと
> 検索したいキーワードを入力し、検索ボタンを押すのですが
このボタンは同じものでしょうか?
としたら、当然検索モードをぐるぐる回っていますよ
Offline
チポ様
ご返信ありがとうございます。
スプリプトステップは、以上でおしまいです。
記載していただいたように同じボタンになってます。
ぐるぐるまわっているのですね。。。
最終的にはWEB上で公開することを目指しているので、検索ボタンが必要になると考えています。
とはいえ、まだWEB上にあげるときの各レイアウトの状態等理解できていない部分が多いのですが。。。
すみません。
少なくとも、検査モードにしないと検索はできないですよね?書籍には、ブラウズモードはデータの入力等に使うとかいてありますので。。。
Offline
Get ( ウインドウモード )
で、その時点のモードが分かります。
これを使って条件分岐して、
ブラウズモードなら、検索モードへ
検索モードなら、検索実行へ
とすればいいのでは。
関数のヘルプのリンクです
http://www.filemaker.com/help/14/fmp/ja … html#98802
Offline
どのレイアウトから検索レイアウトに移動するのか分かりませんが
チポさんの方法はまた一歩踏み込んだ物になるので
フォーム形式のレイアウトに検索というボタンを作って、スクリプトは
レイアウト切り替え 検索レイアウトに
検索モードに切り替え[一時停止しない]
にして、検索レイアウトに検索実行のボタンを置いて検索条件を入力後に
このボタンを押してみる。
というのが手始めかも。
Offline
そうですね、
検索用レイアウトでブラウズしないのなら、
ブラウズするレイアウトと
検索用のレイアウト
それぞれにボタンを置いた方が分かりやすいですね。
Offline
そのスクリプトのままなら
検索モードで そのスクリプトの同じボタンを押すと
そのスクリプトの堂々巡りします
キーワード入力したら 検索ボタンを押さずに
Enterなど押して見てください
Offline
同じボタンで
ブラウズモードと検索モードで共用するなら
下記のようにします
1 IF[Get(ウィンドウモード)=0]
2 検索モードに切り替え[] <<<ここは一時停止させない
3 全スクリプトの終了
4 ElseIfF[Get(ウィンドウモード)=1]
5 検索実行[]
6 EndIF
7 レイアウト切り替え[「リスト用」レイアウト]
Offline
シャチ様、チポ様、旅人様
お手数おかけしましております。
シャチ様の最初のコメントからはじまり、旅人様、チポ様のコメントありがとうございました。
皆様のご意見から、次のようにすることで解決できましたので、ご報告したいと思います。
[検索用]レイアウトの”検索ボタン”のスクリプト
1 検索実行
2 レイアウト切り替え[「リスト用」レイアウト]
また「フォーム用」レイアウトから「検索用」レイアウトに移る”検索画面ボタン”をつくり、次のスクリプトを立てました。
1 レイアウト切り替え「「検索用」レイアウト」
2 検索モードに切り替え[一時停止]
おかげさまで、すんなり検索、結果を表示できるようになりました。
また、スクリプト作成時に「タイトル」をつけない(「新規スクリプト」のままにしておく)と、ボタンが違ってもその設定は反映されてしまうこともわかりました。
それで1時間費やしてしまいましたが。。。
とても勉強になりました。
また、シャチ様のコメントをみますと、ブラウズモードと検索モードの共用が可能なのですね!?
関数をつかうと幅が広がりそうですね。。。やっとスクリプトステップが少し理解できてきたので、次は関数をがんばってみたいと思います。
FM勉強ならびに作製を始めて3日ですが、これからもFMの勉強がんばります。
ありがとうございました。また何かありましたら相談させてください。
Offline
あっ!間違えてた
4 ElseIfF[Get(ウィンドウモード)=1]
5 検索実行[]
6 EndIF
7 レイアウト切り替え[「リスト用」レイアウト]
ではなく
6 レイアウト切り替え[「リスト用」レイアウト]
7 EndIF
が正しいスクリプトです
Offline
[ Generated in 0.008 seconds, 7 queries executed - Memory usage: 546.31 KiB (Peak: 567.22 KiB) ]