みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
入力Aと入力Bの二つのフィールドがあります。
バーコードで入力Aに入力すると16ケタであることを確認し、入力Bにカーソルを移動。
16ケタではない場合はエラー表示と、入力Bに移動させないようにしたいのですが、この様なことはできるのでしょうか。
OnObjectExitトリガーで、そのフィールドの内容をチェックする様にすれば良いでしょう。
http://www.filemaker.com/help/14/fmp/ja … tml#432575
そのスクリプトの中で、16桁のチェックを行い、フィールドを移動させるか、エラーメッセージを出すかを分岐します。
Offline
このスクリプトを入力AにOn ObjectExitで設定しました。
入力Aにバーコードすると16桁ではない場合はエラー表示がでて、入力Aが空白になります。
但しカーソルが入力Aで点滅しません。
引き続きバーコード入力したいので、点滅させる必要があります。
どの様に修正すれば宜しいのでしょうか。
If[Length(入力A) ≠16
カスタムダイアログ
フィールド設定[入力A;””]
フィールド移動[入力A]
End If
If[Length(入力A) =16
フィールド移動[入力B]
End If
If[Length(入力A) =16
フィールド移動[入力B]
else
カスタムダイアログ
フィールド設定[入力A;””]
レコード確定
フィールド移動[入力A]
End If
としてみては如何でしょう。
バーコード関連は、バーコードリーダーの設定によって動作条件が大きく変わるので、現場を見ないと何とも言えない事が多いです。
Offline
OnObjectExit
でフィールド移動するには、
そのステップの後に
現在のスクリプト終了[結果:0]
か
全スクリプト終了
を入れなければダメです
Offline
読み取りエラーが頻発するようだったら、バーコードリーダーの設定を見なおした方がいいかも?
昔は転送速度を調節しないと取りこぼすみたいなことがありました。
バーコードリーダーに1クリックで複数回バーコードを読み込んで比較してエラーを減らすみたいな機能もついていますね。
Shinさま、チポさま、有難う御座います。
どちらの方法でも点滅できるようになりました。
ただ、16桁入力するまでは、カスタムダイアログが表示しっぱなしで、レイアウト編集やスクリプト編集ができなくなります。
今は設計中なのでチョット困っています。
これは仕方がないのでしょうか。
カスタムダイアログでキャンセルすればいいのでは。
Offline
Pages: 1
[ Generated in 0.004 seconds, 9 queries executed - Memory usage: 514.76 KiB (Peak: 519.66 KiB) ]