FileMaker Server から FileMaker Go にレコードをダウンロードして外出先でオフラインで使えるようにしたと書いた。
外出用に FileMaker Go へデータをダウンロードしておく | 荒川仁志 公式サイト
https://hitoshiarakawa.com/blogs/2024/2024-06-04_download-records-to-filemaker-go/
しかし普通にインポートするとすべてのレコードが取り込まれてしまう。検索結果で絞り込んだレコードのみを取り込みたい。それを実現する方法が分かったのでメモしておく。
なお以下の方法はインポート元のデータベースが FileMaker Server ではなくローカルに置かれている場合も同じだ。
環境:
・macOS Ventura 13.5(英語環境)
・Claris FileMaker Pro 20.3.1.31
・Claris FileMaker Server 20.1.2.207
(1)ダウンロード先のローカルファイルのデータベース設定で、インポート元の FileMaker Server のデータベースとリレーションシップを結んでおく。
(2)FileMaker Server のデータベースで対象レコードを絞り込む検索スクリプトを作成しておく。検索条件をスクリプト引数で指定するようなスクリプトを書くと良い。
(3)ローカルデータベースで以下のようなインポート用のスクリプトを作成する。
Perform Script [ Specified: From list ; "{FileMaker Server の2のスクリプト}" from file: "{FileMaker Server 上のデータベース}" ; Parameter: {スクリプト引数} ]
Import Records [ With dialog: Off ; Table: Table ; "{FileMaker Server 上のデータベース}" ; Add; Shift JIS ]
これで検索結果で絞り込んだレコードのみをインポートできる。
一旦インポート元のテーブルでレコードを絞り込む検索を実行したうえでインポートすればいいということだ。
ただしこのスクリプトを実行すると、ローカルマシンのバックグラウンドでインポート元の FileMaker Server のデータベースまで開いてしまう。FileMaker Go ではローカルファイルを閉じると、サーバーファイルが開いているのでそのことに気づく。FileMaker Pro の場合は一見サーバーファイルが開いていないように見えるが、「Window>Show Window」を見るとバックグラウンドで開いていることが分かる。それらを手動で閉じる必要があるが、スクリプトで自動的に閉じるようにできないかな。
参考:
レコードのインポートをするとき絞り込んで必要なレコードだけをインポートしたい。
https://community.claris.com/
抽出したレコードをインポートしたい
https://filemaker.my.site.com/
Count of Windows on desktop
https://community.claris.com/en/s/question/0D50H00006dsjtYSAQ/count-of-windows-on-desktop
Amazon.co.jp: FileMaker 2023 スーパーリファレンス Windows&macOS&iOS 対応 eBook : 野沢 直樹, 胡 正則: Kindleストア
https://amzn.to/45svHs3