株式会社スプラッシュ

FileMaker によるシステム開発から運用までトータルサポートとコンサル & トレーニング

  • サービス
    • システム開発
    • コンサルティング/トレーニング
    • FileMakerライセンスの販売
  • 開発事例
  • ブログ
  • お問い合わせ
  • 採用情報
  • Store

FileMakerカンファレンス2019レポート その3

FileMaker カンファレンス 2019 の様子を 全3回 全5回 に分けてお伝えする連載レポート。弊社がお届けしたセッション、コンテンツを、当日のTwitter実況も振り返りつつまとめています。第3回は11/7と11/8に行われた「BaseElements スペシャルミーティング」についてご報告いたします。

BaseElements スペシャルミーティング

スピーカー

Nicholas Orr

オーストラリアを拠点としたFileMaker プラットフォームのコンサルティング会社である GOYA のCEOにして BaseElements の生みの親。

Shin Ninagawa

株式会社スプラッシュ代表取締役。

今日もアバター画像は Elemental ElementalWEB上で提供される様々な素材作成サービスをFileMakerから直接利用でき、FileMakerですぐに利用できる形式に変換してくれるツール。API連携やJavaScriptの勉強にもなります。 から。…ついに人間じゃなくなってしまった。怒られませんように。elemental 前回の記事 にて詳しく紹介しています。

あの、ごく僅かですけど、お席ありますので、スペシャルミーティングD会場へどうぞどうぞ

— 株式会社スプラッシュ (@splashjp) November 7, 2019

2days で挙がった質問まとめ

  • 条件付き書式で計算式で使用されているフィールドは探せる?
  • オブジェクト名をつけてないタブコントロールはどうやって探すの?
  • 間接参照されているフィールド、レイアウト、スクリプトなどはどうやって見つける?
  • レイアウトオブジェクトに設定されたタブ順を見つけるには?
  • 複数のファイルで、テーブル名、レイアウト名などが重複する場合混ざっちゃう可能性はないの?
  • 分離モデルで複数のファイルに設定されている外部データソースを一覧で見るには?
  • そもそもBaseElementsってどんな設計なの?
  • ローカルで動かしていると落ちることがある。サーバーで動かす方が良い?
  • ExecuteSQL関数で使用されているフィールドを調べることはできる?

既にBaseElementsを利用しているユーザさんが多い印象。それだけに突っ込んだ質問が沢山飛び交っていました。その中から1つ、ご紹介したいと思います。

間接参照されているフィールド、レイアウト、スクリプトなどはどうやって見つける?

両日で共通していた質問でした。

FileMakerでスクリプトや計算式を作成する時、フィールドやレイアウトを一覧から選んで設定します。そのようにして設定した項目は「直接参照」としてDDRに載ります。直接参照しあっている項目同士は, BaseElementsでは関連レコードに移動して行き来し調べることができます。しかし、例外的に項目を「名前」つまりテキストで指定できる場合があります。例えばこんなスクリプトステップを使用した場合です。

  • [フィールドを名前で設定]ステップ
  • [レイアウト切り替え] ステップで切り替え先のレイアウトを計算式で指定
  • [スクリプト実行] ステップで実行するスクリプトをのレイアウトを名前で指定
[スクリプト実行] ステップのオプション

このような場合BaseElementsでは参照とはみなしません。

BaaseElementsでは、どこからも直接参照されていない項目を「参照されていない」としてマークし、検索できるようになっています。そして検出された項目については、例えばフィールドだった場合は以下のような警告を表示します。

「Unreferenced」フィールドの警告メッセージ

警告の通り、直接参照はないのですが間接的に参照されていた場合はこの項目を削除してしまうと知らないうちに機能が壊れてしまってバグが発生します。こわいですね。

疑わしい場合は、削除せずに残しておくのがもっとも安全ですが、結果として何も削除できず使用しない項目がどんどん溜まっていくのも困ります。できれば削除したいですよね。

では、このような項目が「間接参照」されているかどうかを探すにはどうするか。探し方は一つではありません。

例: “typeLocation” というフィールドが間接参照されているかどうか調べる

[フィールドを名前で設定] では、フィールド名にテーブルオカレンスをつけた「完全修飾フィールド名」を使用します。

つまり、

"テーブルオカレンス名::フィールド名" 

という形になっているはずです。

そこで

“::typeLocation”  というキーワードをクイックサーチ(fmSearchResult)にかけて 横断検索してみると…

“::typeLocation” で 横断検索(fmSearchResult)

全部で48件のスクリプトステップがヒットしました。

“::typeLocation” の 検索結果

一覧に移動してヒットしたスクリプトステップを見ていくと…

[フィールドを名前で設定] で 使用されている!
$TOName & “::typeLocation”

このような形で、間接的に参照されていました。(注: このDDRには “typeLocation” という名前のフィールドは1つしかありません。)

探したい項目がフィールドなのか、レイアウト名なのか、スクリプトなのか…それによっても探し方は様々ですが、色々と試行錯誤すれば探し方がなんとなく掴めてきます。

ちなみにこれは完全に余談ですが、

[フィールドを名前で設定: Evaluate( $TOname & “::” & $FieldName ) ; $Value)

このような計算式になっていて、さらにここで使われている変数 $FieldName が

GetValue(
FieldList(FieldListFieldNames ( Get(ファイル名) ; Get(レイアウト名) ) ;
$n )

このような計算式で宣言されている場合、どこにも固定的なフィールド名の手がかりがありません。これを知らずにフィールドを削除したらバグまっしぐらです。怖い…。

今回いただいた質問については、利用方法の動画やWebセミナーなどでも掘り下げて解説していきたいと思います。

すごく良い質問が目白押し!
例えば、Q:タブ順って #BaseElements でわかるの?
➡️A:わからないのです。なぜならDDRにはその情報は無いからー!

— 株式会社スプラッシュ (@splashjp) November 7, 2019

本日はここまで!次回 は 「G-26 そしてクラウドへ…..速度を落とさず移行するための実践テクニック」の内容についてレポート予定です。

2019年11月14日 y s Filed Under: ブログ 関連タグ:BaseElements, DDR, FileMaker, イベント, カンファレンス, データベースデザインレポート, ベースエレメンツ, 解析

最近の投稿

  • AS.CRAFT様が板橋・中丸町にカフェをOPEN! 2025年1月10日
  • Splash Store ヘルプセンター URL変更のお知らせ(ドメイン名) 2024年12月16日
  • 【お知らせ】年末年始の営業について(2024-2025) 2024年11月26日
  • 【Clarisカンファレンス 2024】レポート 2024年11月26日
  • Claris カンファレンス 2024 開催! 2024年11月7日

カテゴリー

  • Claris
  • FileMaker
  • Webセミナー
  • イベント
  • お知らせ
  • ニュースリリース
  • ブログ
  • メディア掲載情報
  • 執筆
  • 転載記事

サービス

  • システム開発
    • 開発事例
  • コンサルティング/トレーニング
  • FileMakerライセンスの販売

Splash Store

  • Splash Store TOP
  • 特定商取引法に基づく表示

ブログ

  • ブログ Top

About

  • 会社情報
  • アクセス
  • サイトご利用上のご注意
  • PRIVACY POLICY
  • 採用情報
  • Shintan 記念 スカラシップ について

お問い合わせ

  • お問い合わせ

Claris、クラリス、Claris Connect、Claris ロゴ、FileMaker、ファイルメーカー、FileMaker Cloud、FileMaker Go、FileMaker Pro、FileMaker Server、FileMaker WebDirect およびファイルフォルダのロゴは、米国およびその他の国における Claris International Inc. の登録商標です。

株式会社スプラッシュ 〒173-0027 東京都板橋区南町46-12

  • Twitter
  • Facebook
  • Instagram
Copyright © 2025 Splash, Inc. Footer Logo
アカウントをまだお持ちではありませんか ? 登録する