0

FileMaker で新しいレコードを開始するときに、カーソルを自動的に最初のフィールドに配置して、入力を開始できるようにする方法はありますか? そして、どのフィールドであるべきかを指定するには?

バックグラウンド:

バーコード スキャナで使用する FileMaker レイアウトをセットアップしようとしています。したがって、誰かが 1 つのレコードをスキャンできます (レイアウトには 2 つのフィールドがあります)。スキャン後、新しいレコードに移動し、スキャン フィールドにカーソルを置いて、再度スキャンできるようにします。

スキャン フィールドにトリガーを配置して、1 つのフィールドで Enter キーを押した後に新しいレコードを作成するスクリプトを実行します。新しいレコード ステートメントの後に、「フィールドに移動」ステートメントを配置しましたが、何もしないようです。スキャン フィールドではなく、常に他のフィールドに移動します。

アップデート

スクリプトで「フィールドに移動」の代わりに「セット選択」ステートメントを使用してみました(両方を次々に使用してみました)。どちらも機能していないようでした。

タブ オーダーを変更しようとしましたが、スキャン フィールドではなく他のフィールドに移動します。

4

4 に答える 4

1

新しいレコードを作成するときの既定の動作は、タブ オーダーの最初のフィールドに移動することなので、何もしなくても機能するはずです。

私にはそうではないという事実は、レイアウトまたはフィールド レベルのいずれかで、これを妨害したり、レコードを終了したりするスクリプト トリガーがあるように思えます。スクリプト デバッガーを有効にして、新しいレコードを作成し、スクリプトが実行されるかどうかを確認してください。

于 2011-03-21T12:21:49.220 に答える
0

データの前後のキーストロークを送信するようにスキャナーを設定できる場合があります。これを日常的に使用して、ファイルメーカースクリプトのプレスキャンを呼び出して「フィールドに移動」し、データを入力してから、ポストスキャンして「検索を実行」します。

于 2011-03-23T16:37:44.557 に答える
0

私は最終的に回避策を実行しました。

スキャン レイアウトには 1 つのフィールドしかありません。ユーザーがスキャンした後、スクリプトが起動し、レイアウトが、入力されたばかりのスキャンされたレコードに関するすべての情報を表示するレイアウトに変更されます。1 秒間一時停止してから、次のスキャンのためにスキャン レイアウトに戻ります。

于 2011-03-21T14:14:23.747 に答える
0

私は最終的に、欠点がないように思われる 2 番目のトリガー スクリプトを使用して適切な回避策を考案しました。

ただし、タブが設定されている場合、スキャン フィールドに設定された OnObjectExit トリガーまたは OnObjectSave トリガーがスキャンされたデータを処理するスクリプトを実行することがわかりましたが、カーソルをスキャン フィールドに戻す手順はおそらく機能しません。そのフィールドは何らかの形でまだアクティブだからです。

レンガの壁に頭をぶつけるのではなく、カーソルが常にそらされるフィールドに OnObjectExit トリガーを設定することにしました。これにより、スクリプトが起動されてスキャン フィールドがクリアされ、カーソルがスキャン フィールドに戻り、次のスキャンの準備が整います。このようにして、カーソルは目的の場所に戻ります。

かなり洗練されていないかもしれませんが、問題なく動作します。

于 2014-08-09T16:52:17.063 に答える