みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
環境はWin10 FMP18です。
ひとつのレイアウトに10個フィールド配置しています。
全てのフィールドに空欄不可の制限をつけています。(入力忘れ予防のため)
新規レコードでデータ入力するとき、
一つ目のフィールドに入力し確定した途端に、他のフィールドが空欄ですと、アラートが出ます。
「これから入れるっつうのに!」
二つ目のフィールドに入力し確定した途端に同様のアラート.
複数の空欄不可のフィールドがあるとき、こんな不便なことが起こるはずはないですよね。
何か基本的な設定を間違えているのでしょう。
ご教示お願いします。
Offline
設定でなく入力方法で、「確定」するときに欄外をクリックしたりして「レコード確定」しているからでは。
タブキーなどで次のフィールドに移動すれば出ません。
タブの移動先がないとしたら、設定の間違いですね。
himadaneeさんありがとうございます。
レコード確定をしなければよかったのですね。
フィールがテキストで漢字変換などするとき、つい2回Enterキーをたたいてしまいますね。
このことに気をつければ問題は解決です。
ありがとうございました。
Enterキーも次のフィールドに移動するように設定を変えることは可能です。(レイアウトモードでフィールドごとの設定)
しかし通常と違う動作はユーザの混乱を招くかもしれません。
入力しないとそのフィールドから抜けられない
とか
全て入力するまでそれら10個のフィールドを回って、外に出られない
なんていう方法もできます。
スクリプトトリガを使ってできますよね。
Offline
OnRecordCommit で、次のようなスクリプトを仕込んでおくと自然ですよ。ただし、何かの仕掛けをしておかなければ、全部入力が完了するまで抜けられないですが。
エラー処理 [ オン ]
レコード/検索条件確定 [ ダイアログあり: オン ]
If [ Let ( $error = Get ( 最終エラー ) ; $error = 0 ) ]
現在のスクリプト終了 [ テキスト結果: 1 ]
Else If [ IsEmpty ( テーブル::f1 ) ]
フィールドへ移動 [ テーブル::f1 ]
Else If [ IsEmpty ( テーブル::f2 ) ]
フィールドへ移動 [ テーブル::f2 ]
Else If [ IsEmpty ( テーブル::f3 ) ]
フィールドへ移動 [ テーブル::f3 ]
Else
カスタムダイアログを表示 [ "Error" ; $error ]
End If
現在のスクリプト終了 [ テキスト結果: 0 ]
Offline
Pages: 1
[ Generated in 0.006 seconds, 12 queries executed - Memory usage: 511.09 KiB (Peak: 515.63 KiB) ]