みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつもお世話になります。
今回は表題の件について質問させていただきます。
お分かりになる方、申し訳ございませんがご回答よろしくお願いいたします。
こちらの環境はmac10.8.5 FileMaker Pro13となっています。
-------------------------------------------------------------
今nameという繰り返しフィールドが38個あります。
そのフィールドに対してトリガを設定したいのですが、うまく動作しません。
「(テーブル名は”予約”)nameフィールドに名前が入力されている場合はそのフィールドをクリックするとその名前がコピーされ、
検索モードになった(テーブル名が”顧客情報”)の顧客名フィールドにペーストされてその顧客のカルテが検索される。
だけど、nameフィールドに名前が入力されていない場合はクリックしても何も起こらない。」
というスクリプトトリガを作成しようとしています。
考えたのは
If[Get(アクティブフィールド内容)=""]
フィールドへ移動[(適当なフィールド)] (←注:FileMaker Go用なので何もない場合はキーボードが出現しないようにするため)
Else
コピー[選択;予約::name[Get(アクティブ繰り返し位置番号)]]
レイアウト切り替え[お客様詳細(顧客情報)]
検索モードに切り替え[]
貼り付け[選択;顧客情報::顧客名]
検索実行[]
End If
なのですが、この場合だとnameフィールドに名前が入っていない場合でも検索が実行され、検索条件がないためエラーが返ってきます。
名前が入力されている場合は正常に動作します。
どうも始めのIf[Get(アクティブフィールド内容)=""]が認識されていないようなのです。
1.valentina ←nameフィールドに名前があるのでクリックするとこの名前がコピーされ、検索される。
2. ←nameフィールドに名前がないのでクリックしても何も起きない。
3. ←nameフィールドに名前がないのでクリックしても何も起きない。
4.valentina1 ←nameフィールドに名前があるのでクリックするとこの名前がコピーされ、検索される。
5. ←nameフィールドに名前がないのでクリックしても何も起きない。
申し訳ありませんが、知識のある方、ご教示お願いいたします。
valentina
Offline
空白ではなくてスペースとか改行とか見えない物が入ってるとか?
貼り付けのあとで一時停止してみる。
コピー 貼り付け は使わないで
Get(アクティブフィールド内容) を変数に入れてやってみました。
変数を設定 [ $$n; 値:Get ( アクティブフィールド内容 ) ]
If [ $$n="" ]
Else
レイアウト切り替え [ 「顧客情報」 (顧客情報) ]
検索モードに切り替え [ 指定された検索条件: レコードの検索; 条件: 顧客情報::顧客名: 「==$$n」 ] [ 記憶する ]
検索実行 [ ]
End If
フィールドへ移動 [ ]
トリガは OnObjectEnter
Offline
Traveller様
ご回答どうもありがとうございます!
すみません、ご指摘の通りスペースが入っていました・・・。
こんな初歩的なことでお手間をいただき申し訳ありませんでした(>_<)
一人で作っていると、思い込みから「できないループ」にはまって勝手に抜け出せず作業が行き詰ってしまって・・・。
客観的なご意見をいただき、大変助かりました!
本当にどうもありがとうございました☆
keima様
私の初歩的なミスでお時間をとらせてしまい、申し訳ありませんでした!
ご教示いただいた変数の設定、初めて使用してみましたところ、すごくスマートな式になりました!
私のつたない計算式に目を通していただき、改善案までいただけて感謝いたします☆
変数などの知識がなく、今回使用方法をご教示いただけたので初めて少し理解できた気がします。
他のスクリプトでも変数の設定を使用していってみたいと思います☆
本当にどうもありがとうございました!
valentina
Last edited by valentina (2014-04-17 11:12:11)
Offline
後で気が付いたのですが、フィールドへ移動[] を使うと
予約::nameフィールド の追加など編集ができなくなってしまいます。
私の式もそうでした。すみません。
グローバルでフラグフィールドをひとつ作っておいて、条件分岐で
その値によって フィールドへ移動[] を無効にされるのがよいでしょう。
Offline
keima様
何度もご教示いただき、どうもありがとうございます☆
編集のことまで全然考えがおよんでいませんでした・・・。
ご指摘どうもありがとうございます。
本格的なデータベースを1から作るのが初めてなので、全体の構造をイメージしきれておらず、
その都度、修正、修正でなかなか進みません。^^;
教えていただいた知識を少しずつ取り込んで完成させていきたいと思います。
まずは条件分岐ですね!
わかりました!
少し難しそうですが、式を作ってみたいと思います!
またご質問をさせていただくかもしれませんが、その時はどうぞよろしくお願いいたします☆
ご丁寧にどうもありがとうございます。
valentina
Offline
Pages: 1
[ Generated in 0.011 seconds, 14 queries executed - Memory usage: 562.94 KiB (Peak: 567.82 KiB) ]