FileMaker研究室リレーションのフィールドタイプが違う場合の動作リレーションシップで、テキストフィールド=数字フィールドのように、フィールドタイプが違うものをリレーションさせると、バグの元になる。ここでは、実際に起きた問題(の最小の再現)を例に解説する。以下のようにリレーションシップが組まれている。「受注」テーブルから、「顧客別集計」のレコードを作成するように設定されている。ここで、「受注::顧客コード」はテキストフィールド、「顧客別集計::顧客コード」が数字フィールドになっている。「受注」テーブルには次のようなレコードがあるとする。顧客コード「0001」と「その他」が2件ずつ用意されている。「顧客コード」には4桁揃えの数字が入ることが想定されているが、数字を含まない「その他」という値が入力されている。本来このような運用は避けるべきだが、実際の運用ではこのようなことはよく起こる。1000レコード作成時の動作ここで、上記の対象レコードに対して、次のスクリプトを実行する。loop各顧客ごとに受注の金額を集計するスクリプトである。顧客コード「0001」「その他」でそれぞれ金額が2000の顧客別集計が作成されることが予想できる。実際に実行すると、「顧客別集計」のレコードは次のようになる。1000顧客コード「0001」は想定通り集計されているが、「その他」は別々のレコードが作成されてしまっている。「その他」は数字タイプとしての値を持たないためか、うまく照合されなかった。「顧客別集計::顧客コード」をテキストフィールドに変更すると、以下のように正しく集計される。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。お気軽にお問い合わせください。制作実績FileMaker研究室お問い合わせ。