FileMaker システムテーブル

各 FileMaker Pro データベースファイルには次のシステムテーブルがあります:

  • FileMaker_Tables

  • FileMaker_Fields

  • FileMaker_BaseTables

  • FileMaker_BaseTableFields

  • FileMaker_ValueLists

  • FileMaker_ValueList_<値一覧名>

ODBC アプリケーションの場合、これらのテーブルは SQLTables のカタログ関数が返す情報の中に含まれます。JDBC アプリケーションの場合、これらのテーブルは DatabaseMetaData メソッドの getTables が返す情報の中に含まれます。テーブルは ExecuteSQL 関数でも使用できます。

FileMaker_Tables テーブル

FileMaker_Tables テーブルには FileMaker Pro ファイル内で定義されたデータベーステーブルに関する情報が含まれます。

FileMaker_Tables テーブルは次の列を含むリレーションシップグラフの各テーブルオカレンスの行を含みます:

  • TableName - テーブルオカレンス名です。

  • TableId - テーブルオカレンスの固有の ID です。

  • BaseTableName - テーブルオカレンスの作成元の基本テーブル名です。

  • BaseFileName - 基本テーブルが含まれるデータベースファイルの FileMaker Pro ファイル名です。

  • ModCount - このテーブルの定義で確定された変更の合計回数です。

コピー
SELECT TableName FROM FileMaker_Tables WHERE TableName LIKE 'Sales%'

FileMaker_Fields テーブル

FileMaker_Fields テーブルにはすべてのテーブルオカレンスの FileMaker Pro ファイル内で定義されたフィールドに関する情報が含まれます。

FileMaker_Fields テーブルは次の列を含みます:

  • TableName - フィールドが含まれるテーブルの名前を指定します。

  • FieldName - フィールドの名前です。

  • FieldType - フィールドの SQL データタイプです。

  • FieldId - フィールドの固有の ID です。

  • FieldClass - Summary (集計フィールド)、Calculated (計算結果)、または Normal の 3 つの値の 1 つです。

  • FieldReps - フィールドの繰り返しの回数です。

  • ModCount - このテーブルの定義で確定された変更の合計回数です。

コピー
SELECT * FROM FileMaker_Fields WHERE TableName='Sales'

FileMaker_BaseTables テーブル

FileMaker_BaseTables テーブルには FileMaker Pro ファイル内で定義されたソース (またはベース) テーブルに関する情報のみが含まれます。FileMaker_Tables のようにすべてのテーブルオカレンスが含まれるわけではないため、FileMaker_BaseTables テーブルのクエリーの方が高速になる可能性があります。

FileMaker_BaseTables テーブルは次の列を含む各ベーステーブルの行を含みます:

  • BaseTableName - ベーステーブルの名前です。

  • BaseTableId - ベーステーブルの固有の ID です。

  • Source - ベーステーブルのデータソースに関する次のいずれかが入ります:

    • <Internal> - テーブルが現在の FileMaker Pro ファイル内にあります。

    • <Missing> - データソースが使用できません。

    • ベーステーブルを利用できる外部データソースの名前です。

  • ModCount - このベーステーブルの定義で確定された変更の合計回数です。

コピー
SELECT BaseTableName FROM FileMaker_BaseTables WHERE BaseTableName LIKE 'Sales%'

FileMaker_BaseTableFields テーブル

FileMaker_BaseTableFields テーブルにはソース (またはベース) テーブルのみの FileMaker Pro ファイル内で定義されたフィールドに関する情報が含まれます。

FileMaker_BaseTableFields テーブルは次の列を含みます:

  • BaseTableName - フィールドが含まれるベーステーブルの名前を指定します。

  • FieldName - フィールドの名前です。

  • FieldType - フィールドの SQL データタイプです。

  • FieldId - フィールドの固有の ID です。

  • FieldClass - Summary (集計フィールド)、Calculated (計算結果)、または Normal の 3 つの値の 1 つです。

  • FieldReps - フィールドの繰り返しの回数です。

  • ModCount - このベーステーブルの定義で確定された変更の合計回数です。

コピー
SELECT * FROM FileMaker_BaseTableFields WHERE BaseTableName='Sales'

FileMaker_ValueLists テーブル

FileMaker_ValuieLists テーブルには FileMaker Pro ファイル内で定義された値一覧に関する情報が含まれます。リレーションシップを使用した値一覧は結果から除外されます。

FileMaker_ValueLists テーブルは次の列を含みます:

  • ValueListName - 値一覧の名前です。

  • ValueListId - 値一覧の固有の ID です。

  • Source - 値一覧のソースに関する次のいずれかが入ります:

    • Custom - カスタム値に基づく値一覧です。

    • Field - フィールド値に基づく値一覧です。

    • External - 値一覧が外部の FileMaker Pro ファイル内にあります。

  • ModCount - この値一覧の定義で確定された変更の合計回数です。リレーションシップを使用した値一覧は空白を返します。

コピー
SELECT * FROM FileMaker_ValueLists WHERE ValueListName='SalesType'

FileMaker_ValueList_<値一覧名> テーブル

FileMaker_ValueList_<値一覧名> テーブルには <値一覧名> で指定した値一覧内のすべての値一覧項目を含む 1 つまたは 2 つの列が含まれています。

FileMaker_ValueList_<値一覧名> テーブルには次の列が含まれています:

  • Values - 値一覧の値です。

  • SecondValues - 値一覧がフィールド値に基づいていて 2 番目のフィールドが指定されている場合の 2 番目のフィールドの値。

コピー
SELECT * FROM FileMaker_ValueList_SalesType

メモ  指定した値一覧からの値取得でエラーが発生した場合、メッセージに「missing」または「unsupported」と表示されます。