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」と表示されます。