上下カーソルキーでレコード移動


FileMakerではMacでもWindowsでも[Control]キー+[↑][↓]キーでレコード移動ができますが、リスト形式表示において[↑][↓]キーだけでレコード移動させる、などの設定も可能になります。これはレイアウト設定にあるスクリプトトリガ「OnLayoutKeystroke」を使うことになります。そして押されているキーは「Get(トリガキー入力)」という取得関数で知ることができます。カーソルキーは文字として表現できるものではありませんが、Code関数を使えば文字コードが取得できるので、以下のステップで実現が可能というわけです。

この場合ですが、もしフィールドにカーソルが入っているときは[↑][↓]キーをフィールド内文字の編集で使えるほうが便利です。そこで「Get(アクティブフィールド名)」を取得し、これが空欄のとき=フィールドにカーソルが入っていないときだけレコード移動がなされる、という動きになっています。

OnLayoutKeystrokeスクリプトトリガで設定する

OnLayoutKeystrokeスクリプトトリガで設定する

# カーソルキー上下でレコードを移動します
If [ Code(Get(トリガキー入力)) = 31 and IsEmpty(Get ( アクティブフィールド名 )) ]
レコード/検索条件/ページへ移動 [ 次の ]
Else If [ Code(Get(トリガキー入力)) = 29 and IsEmpty(Get ( アクティブフィールド名 )) ]
レコード/検索条件/ページへ移動 [ 前の ]
End If