FileMaker Pro 15の新機能「テーブルデータを削除」①機能編

2016年05月13日 11:00 AM

FileMaker 16以前


FileMaker Pro 15の新機能として「テーブルデータを削除」スクリプトステップが
追加されましたので、【機能】と【速度】について2回に分けてご紹介いたします。
今回はまずどのような機能なのか確認してみましょう。

始めに基本となる「テーブルデータを削除」ステップのオプションを確認しましょう。

del1_1_mini

オプションは2種類あります。
ダイアログあり[オン/オフ]
テーブル[<現在のテーブル>/<指定したテーブル>]

ダイアログありに関しては、
オンの場合には下記の確認ダイアログが表示されます。

del1_2_mini

オフの場合にはステップが実行されるタイミングで時に
確認のダイアログが出現することなく削除が実行されます。
テーブルの指定に関しては、
「現在のテーブル」の場合には現在表示している
レイアウトのTOのテーブルに対してステップが実行されます。

また、テーブルを指定する場合には
現在のファイルにあるテーブルを選択することが可能で、
現在表示しているレイアウトのTOに関わらず
テーブルを指定して削除を実行できます。

del1_3_mini

別ファイルの関連データソースに対して
「テーブルデータを削除」ステップを実行したい場合には
現在のレイアウトに紐付いているTOを
削除したいテーブルのものにしておくことで可能です。
該当のレイアウトを表示させている状態で
「現在のテーブル」オプションを指定してください。
この新機能「テーブルデータを削除」ステップでは
名称の通りテーブルに対して処理が行われます。

そのため、対象レコードを絞っている状態で
現在のテーブルに対して実行を行ったとしても
テーブルのレコードが全て削除されます。

また、TOではなくテーブルに対して処理を行っているため
リレーションシップを作成し、関連レコードに対して
「他方のテーブルでレコードが削除されたときにこのテーブルの関連レコードを削除する」
オプションを設定している場合でも、関連レコードが削除されることはなく
現在または指定したテーブルのレコードのみが削除されます。

「対象レコード削除」ステップとの違いとして
TOに対する処理なのか、テーブルに対する処理なのかという点が特徴的です。
また、セキュリティに関しても削除権限を保持していないユーザーでの実行や
他のユーザーが編集中のレコードが含まれるテーブルに対しての実行では
エラーが表示されて処理が実行されることはありません。

del1_4_mini

del1_5_mini

この「テーブルデータを削除」ステップの実行すると
とても高速で瞬く間に処理が完了するのに驚きます。
速度の検証については「②速度編」のブログで詳しくご紹介しますので
お楽しみに!
■まとめ

「テーブルデータを削除」ステップはテーブルに対して
全レコード削除の処理を高速で実行できます。

ダイアログのオン/オフ、現在のテーブル/テーブルの指定のオプションがあります。

また、セキュリティやレコードのロックに関しても対応しています。
テーブルに対してのスクリプトステップは
今までのFileMakerには存在していなかった珍しいステップですが
注意して使用していくことで高速な削除を実現できそうです。