0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

FMDB-blue導入のチュートリアル【オブジェクトフィールド編】

Last updated at Posted at 2021-12-03

はじめに

【基礎編】で作成したファイルに、オブジェクトフィールドを追加したものを作成します。実際にFileMaker上でundo、redoできるようになると、ちょっと感動されると思います。皆さまに、ぜひ、ご利用いただいて、いろいろご意見をいただければと思います。よろしくお願いいたします。

このチュートリアルで作れるもの

AnyFileNameファイルに、ログが取れ、undo、redoができるオブジェクトフィールドが追加されます。
20211202_PracticeContainer.gif

準備するもの

【基礎編】で作成したものがあれば大丈夫です。

  1. FileMaker Pro 19

  2. FMDB-blueファイル一式

    • FMDB-blue_Processor.fmp12

      このチュートリアルでは「Processorファイル」と呼びます。
    • SampleApp_Interface.fmp12
    • FMDB-blue_Data.fmp12
    • SampleApp_Data.fmp12

      これらのファイルは、このチュートリアル内では登場しませんが、FMDB-blueの導入、稼働には必要なファイルです。

    ここから最新版がダウンロードできます。

  3. ログ記録を残したいFileMakerファイル。
    【基礎編】で作成したAnyFileNameファイルを使います。
    チュートリアル通りに作っていれば、FMDB-blueフォルダの中に作られていて、アカウント、パスワードは「admin」のはずです。

FMDB-blue導入のチュートリアル【オブジェクトフィールド編】

1. ログ記録を残したいFileMakerファイルでの設定

1-1.
まず【基礎編】作ったAnyFileNameファイルを開きましょう。
20211202_165953.png

1-2.
「データベースの管理」を開きます。
20211202_170021.png

1-3.
オブジェクトフィールドを追加します。名前はなんでもよいですが、ここではAnyContainerFieldとします。
20211202_170030.png

1-4.
レイアウトモードにして、作成したAnyContainerFieldフィールドをドラッグ&ドロップします。
20211202_170237.png

1-5.
配置されたAnyContainerFieldフィールドを右クリックして、コピーします。
20211202_170352.png

1-6.
そのままペーストします。右側パネルで「データ」タブを選択し、「フィールド入力」のところの2つのチェック(ブラウズモード、検索モード)を外します。
20211202_170415.png

1-7.
コピー前のフィールドを選択して、右側パネルで「外観」タブを選択し、「塗りつぶし」を「なし」にします。
20211202_170548.png

1-8.
引き続きコピー前にフィールドで右クリックメニューを出し「フィールド設定...」を開きます。
20211202_170609.png

1-9.
フィールドとしてeM_Hub#FMDBblue::g_NewContent.containerを選択して、「OK」します。
20211202_170635.png

1-10.
このg_NewContent.containerフィールドで、再度右クリックで「スクリプトトリガ設定...」を開きます。
20211202_170726.png

1-11.
「スクリプトトリガ設定」で「OnOBjectModify」スクリプトトリガを選択します。
20211202_170730.png

1-12.
「_LogSystem」フォルダ内のOnObjectModify_Handle_Drag&Drop(EntireFN)スクリプトを選択します。スクリプト引数としてGetFieldName ( AnyFileName::AnyContainerField )を設定し、「OK」します。
20211202_170805.png

1-13.
コピーしたフィールドを、コピー元のフィールドに重なるように移動させます。これで、AnyFileNameファイルの設定は終了です。
20211202_171006.png

2. Processorファイルの設定

2-1.
次に、Processorファイルの設定を行います。Processorファイルを開くために「Set TO Shift Active Field」スクリプトを実行します(この方法で開くと、アカウント、パスワードが聞かれません)。
20211202_171044.png

2-2.
「TableOccurrenceShiftの設定」で「キャンセル」を選択します(ここで「3」を入力して「選択する」のもありです)。
20211202_171100.png

2-3.
レイアウトを_Log@AnyOccurrenceName.formに変更します。
20211202_171134.png

2-4.
AnyContainerFieldフィールドをドラッグ&ドロップします。これでProcessorファイルの設定は終了です。Processorファイルのウインドウは閉じてください。
20211202_171214.png

2-5.
これで練習ファイルの編集は完了です!
2つ目のフィールドとしてオブジェクトフィールドが追加されました。このオブジェクトフィールドの編集は、ドラッグ&ドロップ、右クリックなどの「〇〇を挿入」でも、どちらでも対応可能です。ぜひ、undo、redoをしてみてください。
20211202_PracticeContainer.gif

チュートリアル後の注意事項

  • 作られたオブジェクトフィールドは通常のものと違い、対象レコードがゼロの場合でも、レコードがないことを表すアラートが表示されません。後ろに置いたg_NewContent.containerフィールドのOnObjectEnterスクリプトトリガにアラート用のダイアログ表示スクリプトを設定すれば、少しはそれに対処できるかも知れません。
  • FMDB-blue導入のチュートリアルはこの【オブジェクトフィールド編】で一旦終了です。もし、ご要望等あれば、関連レコード、ポータルなどのチュートリアル作成も検討します。ぜひ、ご利用いただいて、いろいろご意見をいただければと思います。

謝辞

  • FM-1GP大賞発表LIVE終了後の打ち上げzoomで、ご意見をいただいたのがきっかけです。FM-1GP運営に感謝!
  • 当チュートリアルを作成するのにMarkdownThing魔改造バージョン)を使用しています。@qbxxdpさんに感謝! 本チュートリアルのご指導もいただいております。
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?