かっこいいレコード分割のやり方

  • URLをコピーしました!

こんにちはジョージです。定番の「繰り返しフィールド」を使ったレコード分割を応用してみるよ!このテクニックは「Claris FileMaker 10 分でスキルアップ #158」の内容も含まれるので、あわせてチェックしてみてね ♪

目次

接尾辞に連番がついたフィールドがいっぱい

レコードの親子関係を表現する場合、Access や SQL Server といった Claris FileMaker プラットフォーム以外のアプリケーションでは「繰り返しフィールド」という概念はございませんので、リレーションシップを使った「1 対 多」や「多 対 多」の関係になっていることがほとんどかと思います。
ごく稀にですが、接尾辞に連番を付与したフィールドを複数定義し、同一レコード内で「1 対 多」の関係を表現されているシステムも見受けられます。※ こんな感じ↓

それでは、レコードを親と子テーブルへ再配置し、正しく「1 対 多」の関係を表現できるように修正をしてみましょう!

カスタム App で繰り返しフィールドに変換

繰り返し数「10」の計算フィールドを作成して、「食材」接尾辞連番フィールドを「繰り返し計算フィールド」に変換します。

Extend ( GetField ( "食材" & Get( 計算式繰り返し位置番号 ) ) )

Extend 関数で評価することで、正しく「繰り返し計算フィールド」に値が収まります。Extend 関数で評価しない場合は「最初のひとつ」しか取得できませんので注意しましょう。同様に「数量」「説明」も「繰り返し計算フィールド」に変換します。

Extend ( GetField ( "数量" & Get( 計算式繰り返し位置番号 ) ) )
Extend ( GetField ( "説明" & Get( 計算式繰り返し位置番号 ) ) )

繰り返しフィールド化されたフィールドを確認

「繰り返しフィールド化」された「食材/数量/説明フィールド」の内容を、レイアウトに配置して確認してみましょう。しっかりと変換できていますね。

外部キーの追加

最終的には「レシピテーブル」「食材テーブル」に分割し 1 対 多 の関係にするので、食材テーブルで必要となる「外部キー」を追加します。これには現在のレコードの主キーを割り当てます。

__PK_ID

新しいカスタム App を作成

レシピと食材とで 1 対 多 の関係をもった、新しいカスタム App を作成します。新しいカスタム App では食材レコードはポータルで表現します。これで準備は完了です。

値を複数のレコードへ分割インポート

繰り返しフィールド化されたカスタム App のレコードをインポートします。インポートオプションとして繰り返しフィールドを「値を複数のレコードに分割」インポートオプションを有効にしてからインポートします。

インポートできました!きちんとレコードへ分割されポータルに表示されていますね。

やっかいな「接尾辞連番フィールド」も、一度「繰り返しフィールド」に変換してからレコード分割することで、かっこいい「1 対 多」の関係に修正することができました。なかなか便利な方法だと思いますので、皆様ぜひ試してみてくださいね!今夜はカレーにするか。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
目次