みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
あるフィールドにOnスクリプトEnterトリガーを設定し、そのフィールドに何か入れようとした段階で検証が行われ、
不正の場合の処理は上手く行ったのですが、値が正しかった場合はそのまま、そのフィールドに普通に入力作業ができるように
したいのですがOnスクリプトEnterの仕様なのか、はじかれてしまって入力ができません。
不正の場合 → 不正の場合の処理
正しい場合 → 何もしない。 普通に入力作業ができる。 にはどうしたらいいのでしょうか。
よろしくお願いいたします。
>
スクリプトトリガーを使って、次に飛ばしたフィールド指定すればいいでしょう。
これをやってみたのですがそのフィールドだけは上手く行くのですがその次のフィールドに移ったら
うまくいかないのですが。>ついでに、空白行が最上部にくるサンプルです。
https://www.dropbox.com/s/wfdugv2p9yqbg … 7.zip?dl=0
すごく使いやすいですね! やはり大元から見直すべきなのか、、と思ってしまいます。
いつもお世話になっております。
伝票入力時の操作性の向上の為、上記タイトルの動作が必要なのですが、
Enterキーでポンポンと次のフィールドに移って行くようにタブ順を設定しており、
それがポータルフィールドにも続いているような状態のシステムなのですが
途中でポータルフィールドではないフィールドの中身を編集することが多々ありまして、
それをするとタブ順の動作が発生してしまい、移動して欲しいところのフィールドにカーソルが行ってくれない、
という問題があり、どうしたら解決できるでしょうか。と言う質問です。
簡単に例でご説明させていただくと、
(例)
【メインテーブル】
①フィールドA
②フィールドB
③フィールドC
④フィールドD
【メインテーブルの中に置かれたポータル】
⑤フィールドE
⑥フィールドF
⑦フィールドG
※①~⑦が設定されたタブ順
通常であれば問題無く①~⑦までEnterキーでマウスを使わないでも入力できます。
⑦まで行った後は①ではなく、行が追加されて(自動作成ONにしているので)⑤へ戻ります。
この挙動はこちらが欲しい通りです。
①~④は通常は同じ内容で⑤~⑦のみ変化するレコードを作成するのでこのような作りになっています。
ですが、よく②フィールドBの内容を変えなければ行けないことがあり、
Bにマウスでカーソルを持って行き内容を変更しEnterを押すと③→④と移動してくれるのですが
その後が本来ならば”ポータルの一番最後の行の”⑤へ移動して欲しいのですが
残念ながらそこは一番最初の行の⑤にしか移動してくれません。
これはたぶん、②フィールドBを押したことでタブ順がそこから始まるようになってしまうからだと
思いますが、フィールドに自分なりに「ポータルの最後の行へ移動」スクリプトトリガを仕込むなどして試行錯誤してみたのですが
一時的に最後の行の⑤に飛んでくれても、次はやはり①へ戻ってしまうなどしてしまって解決できておりません。(これは、タブ順を覚えているからだと思う)
どうすれば「通常はタブ順どうりにEnterで移動」しつつ、途中を変えてもポータルの行としてはいつも最後の行へ移動してくれる
ようになるでしょうか。もしくはやり方そのものを見直さなければいけないでしょうか。
今Moz様の言う通り見直しています。ボタンの条件書式スクリプトを外したり・・。
結果、劇的に早くなってきています!!!
う~ん、、結局、「何かを犠牲にしなければいけない」という結論に達しましたが、
確かに、私自身がシステム開発を始めたばかりであり、「詰め込み過ぎ」「やりたいこと全部突っ込む」といったやり方で
システムに無駄な圧力がかかっていたのかもしれません。反省します。
実際使ってみたらそこまで便利(風)にしなくても、それは使用者にゆだねてもいい部分かもしれない、や、
そこまで便利にしようとし過ぎるあまり、かえって操作が猥雑になり、内部処理的にも問題が出てきていたのかもしれません。
すごくいい勉強になりました。
ちょっと、捨てるところ、簡潔にできるところ、いろいろやってみます。世の中に完璧はない。完璧を目指すあまり逆に使いにくくなる。と言う教訓を得た気がします。
そういうところを経験で学んでいくのが大事なのかな、一番むしろ難しいところ、なのかな。と思いました。
ありがとうございました。
追記:まとめておくと、表示非表示(次の場合にオブジェクトを隠す)やフィールドの見た目を変える(条件付き書式)をフィールドに埋め込みまくるとそれらをすべて毎回計算しまくるので
結果、入力作業がもったりしてくることがある。その場合、それらを減らす努力をして簡潔にするよう努める。
Moz様
ありがとうございます。
>条件付き書式や[次の場合にオブジェクトを隠す]などのレイアウト計算式
大量に使っています。。これも遅くなる原因なのですか。。簡単に設定できるものなので多用しています。。
非保存よりかはトリガでスクリプトを使う方が早いのですね。
なんにせよ、困りました・・。この場合はフィールドが赤になる、とかで視覚的にはっきりわかるようにし、この時にはここをいじって欲しくないから消えておくようにしたりとか、
どれもこれも大事なのですが。これらの設定は勉強始めたばかりの頃にこの機能を見つけて簡単なのでそれベースでシステム構築を始めたものですから
それを何か他のやり方で置き換えるとなると、かなりベースから見直さなくてはいけなくなるかもしれません。
みなさま有難うございます。(Moz様:読みづらかったので色付けました。>全く問題ありません)
スクリーンショットを貼ろうと思ったのですがやり方がわからず断念しました・・・。
結局、原因がわかりました。ポータルのレコード行にたくさんのフィールドを置いているのですが試しに3フィールドだけ残して他フィールドを削除
(表示から外しただけ)をしてみたら、何行追加してもサクサク動くようになりました。
フィールドの存在自体を削除したわけでは無く、ただポータル行から表示を外しただけなので内部的には計算は動いているのだと思います。
これは描画の問題なのでしょうか。。?とにかく、先にこれをやってみるべきでした。すみません。
全体でだいたい30くらいのフィールドとボタンを置いており、それらにいろいろとスクリプトをトリガなどで仕込んであります。
スタイルは別名保存しましたがなるべく統一して使い回す形にしてあるのでそれほどたくさんではないと思います。
いろいろ仕込んだ物はどれも苦心して組み上げたものばかりで、この機能が無いとせっかくのシステムが便利だと感じなくなる可能性があります。
描画の問題?と上で書きましたがパソコンの性能がかなり低くてもそんなに変わらないので単にグラフィックカードがどうとかそういうことでも
無い気がしますが。
何にせよこれは誰かに診てもらうしかないような気がしてます。
そうですね。原因がわかりました!でもこれって解決するのが難しいような気がします・・・。
新しい方の質問に画像を貼ります。
以前「突然もたつくようになった」というタイトルで投稿させて頂きました。そちらにも書き込ませていただいたのですが
索引なし、が結構あったのですべて、とかにしてみたのですがそれほど変わりませんでした。
考えられることはいろいろやったのですが。。
Shin様
ありがとうございます。最近同じ内容で投稿した方と同じ回答なのですが
最適化で保存してもうっすら気持ち早くなったような気がするぐらいでそれほど大きな変化はありませんでした。
こちらの投稿はMacで、新しい方の投稿はWindowsなのですが始めMacで開発を始めて重くなってきた所で
最終的にはWinで使用することになったためWinに持って行って続きを始めました。Winに持って行った時は
Macよりはなぜか早い気がします。そのあといろいろ試してみましたが(お応え頂いた索引、最適化、フィールドにスクリプトがトリガで入っているのでそれを全部のけてみるとか)
ほとんど変化なしです。Windowsパソコンの性能の個体差はどうだろうと試しましたがPCのスペックはかなり低くでもけっこう高くても「遅さ」は同じでした。
これは、ポータルを使っているのですが「ポータルは遅い」ということはあるのでしょうか。
ありがとうございます。
喜び勇んでやってみたのですが残念ながらあまり改善されませんでした。
ローカルに置いて(サーバーで使うので)やってみましたがこれも違うようです。
私の作っているシステムの特徴として
・同じフィールドを重ねて表示、非表示させたりしている
・計算フィールドのしくみがやや複雑
・マスターのデータは3つ。最大レコード数は1500くらいなので数的にはたいしたことない
・視認性の為、デザインに凝っている(元をかなりいじっている。設定を別名保存しないとよくないと言われてからはそれをするようにしている)
・非保存にしたくないが、どうしてもそうしないといけない(それ以外できない設定になっているなど)ところがあり、それが悪さしているのかも
と言ったところです。
行をどんどん追加していくと20行くらいになると動作がもったりして来ます。
計算フィールドやリレーションを組んでいるフィールドが重くなっているような感じです。一覧から選ぶのは全く遅くならないです。
なので、計算フィールドの計算、やリレーションのデータを取って来る作業が重いのかなと言う気がしますが
始めの数行は全く遅くはないのでもしやグラフィックの表示の問題なのかな・・・?などと思っているのですが。
何か分かる事気が付くことは他にありますですでしょうか?
お世話になります。
わりと大規模なシステムをいろいろな方に教えてもらいながら1年以上かけて作っています。
始めはさくさく動いていた入力画面がなんだか反応が遅くなってしまいました。
マスターテーブルと本体のデータベースのファイルは別ファイルにすると読み込み速度(検索速度)が遅くなることはありますか?
具体的にはポータルに入力していくことで明細にレコードが追加されていくしくみです。
ただ、遅くなるのは行が10行以上になってきたあたりからで、始めの1行~3行くらいは早いままです。
もしマスタをメインのシステムファイルに統合すれば劇的に改善するのであれば頑張ってやってみようかなと思うのですが
できればいまさら変更したくはありません。
ご教授よろしくお願い致します。
FMAdv15で開発中のものです。
パソコンはmacbookproを使っています。
リレーションで繋いだごく平凡なコード番号を
入力したら対応する商品名がでる、と言う
フィールドが今まではするすると何の抵抗もなく
商品名が表示されていたのですが、
今日突然コードを入れたら商品名が表示されるまで
2~3秒かかる、待たされるようになってしまい、
何故かなと思って、試しにwindowsPCに
同じシステムを入れやってみたら、問題なく
するすると表示できました。ここが待たされる
のは当システムに取って致命的なのでなんとかしたいのですが、
突然このようになってしまった原因はわかりますでしょうか?
よろしくお願い致します。
Shinさま
できました。ありがとうございます。
ゲスト様
ご返信ありがとうございます。さっそくやってみたのですが形式がオブジェクトだとデカルト績で結べないようなのですが。
どうでしょうか。よろしくお願いいたします。
FileMaker12を使用してFileMakerGoと連携させています。
署名機能が使いたいのでiphone5sに入っているFilemakerGo上でサインを入れました。
最後に印刷で打ち出すので全てのレコードにサインが入っている状態でなければいけませんので
署名のフィールドをグローバル格納にしたところ、Goでは表示されているのに、
パソコンのFileMaker12には反映されません。また、一度その状態でFileMaker12を終わらせて
もう一度そのファイルを開くとさっきのサインは消えています。
解決方法はありますでしょうか?!
どうぞよろしくお願いいたします。
Pages: 1
[ Generated in 0.005 seconds, 6 queries executed - Memory usage: 621.35 KiB (Peak: 658.76 KiB) ]