テーブルに複数件のデータを追加、更新、削除する¶
ここでは、テーブルに複数件のデータを追加、更新、削除する方法を、サンプルアプリを作成しながら説明します。
事前に以下のようなテーブルを作成しておき、このテーブルに対して複数件データの追加、更新、削除を行うようにします。
社員管理マスタ
カラム データ型 ID 整数 社員番号 文字列 名前 文字列 所属 文字列 補足 文字列 LAST_UPDATER 文字列 LAST_MODIFIED 日時
社員データ更新シートを作成する¶
- 社員管理マスタのデータを追加、更新、削除、検索を行うためのシート「社員データ更新シート」を作成します。
![]()
- [1] 登録ボタン
クリックすると、追加された社員情報を「社員管理マスタ」に登録します。「社員情報一覧」において、追加された社員情報のみ登録対象とします。- [2] 更新ボタン
クリックすると、変更された社員情報を「社員管理マスタ」に登録します。「社員情報一覧」において、「名前」「所属」「補足」のいずれかが変更された社員情報を対象とし、「社員管理マスタ」の「名前」「所属」「補足」を更新します。- [3] 削除ボタン
クリックすると、「削除」列がチェックされている社員情報を削除します。削除対象となる社員情報と「社員番号」、および、「名前」が一致する「社員管理マスタ」のデータを削除します。- [4] 全検索ボタン
- クリックすると、「社員管理マスタ」からデータを取得し、「社員情報一覧」に表示します。
- [5] 社員情報一覧
「社員管理マスタ」から取得した社員データを表示します。「削除」列にはチェックボタンが表示され、チェックすると削除対象となります。「対象」列では、「社員番号」「名前」「所属」のいずれかが変更された場合のみ true と表示されます。- [6] 作業セルエリア
データ取得処理やデータ更新処理において使用するセルのエリアです。以下の通り情報を保持しており、全てアクションセット内にて値がセットされます。
- 件数 ・・・ 社員情報一覧に表示されているデータの件数を保持します。
- カウンタ ・・・ 繰り返し処理において、内部的に変数として用いるカウンタの値を保持します。
- ループ制御フラグ ・・・ 繰り返し処理において、終了条件として用いるフラグの値を保持します。
- 更新ありフラグ ・・・ 登録、更新、削除処理が行われたか否かを示すフラグの値を保持します。アクションセット内にて値がセットされます。
- [7] 社員情報一覧(変更前)
- 変更前の「社員情報一覧」の値を保持します。「社員情報一覧」の値が変更されたか否かを判断するために使用します。
複数件のデータを取得する¶
まずは、「全検索」ボタンクリック時に「社員管理マスタ」からデータを取得するアクションセットを作成します。
- アクションセットを新規作成し、「アクションセット設定」ダイアログを開きます。
- 前回の検索結果をクリアするため、社員情報一覧、および、作業セルエリアを初期化します。
[1] 「社員情報一覧」をクリアします。
[2] 「社員情報一覧(作業用)」をクリアします。
[3] 3行目から繰り返し処理を開始するため、「カウンタ」に 3 をセットします。
- 「社員管理マスタ」から全データを取得し、「社員情報一覧」にセットします。取得したデータの件数を取得するため、「取得件数を次のセルにセットする」にセット先を指定します。
- 取得したデータに対し繰り返し処理を行い、「社員情報一覧」の「削除」列と「対象」列の値をセットします。
[1] データが取得できた場合のみ処理を行うための判定処理を行います。
[2] 社員情報が変更の有無を「対象」列で判断できるようにするため、「社員情報一覧」と「社員情報一覧(変更前)」の値を比較し、変更がある場合に true を返す数式を「対象」列にセットします。(先頭行のみ)
[3] 繰り返しの制御処理です。「カウンタ」の値が 13 以下の間、繰り返し処理を行います。
[4] 「社員管理マスタ」に存在するデータのみ削除可能とするため、「カウンタ」-3の値が「件数」未満か否かの判定処理を行います。
[5] 「削除」列に、チェックボックスが表示されるように、CHECK 関数を用いた数式をセットします。
[6] 「対象」列の値をセットします。(先頭行の数式をコピー)
[7] 「カウンタ」の値を 1 加算します。
- 「社員情報一覧」の値を「社員情報一覧(変更前)」にコピーします。
- アクションセットを保存します。
ちなみに
作成したアクションセットを実行すると、次のように表示されます。
![]()
複数件のデータを追加する¶
「登録」ボタンクリック時に、「社員情報一覧」に追加された情報を「社員管理マスタ」へ登録するアクションセットを作成します。
- アクションセットを新規作成し、「アクションセット設定」ダイアログを開きます。
- 作業セルエリアを初期化します。
[1] 3行目から繰り返し処理を開始するため、「カウンタ」に 3 をセットします。
[2]「更新ありフラグ」に false をセットします。
- 「社員情報一覧」に対し繰り返し処理を行い、追加された社員情報を「社員管理マスタ」に登録します。
[1] データが存在する場合のみ処理を行うための判定処理を行います。
[2] 繰り返し制御処理です。「カウンタ」の値が 13 以下の間、繰り返し処理を行います。
[3] 登録を行うか否かの判定処理です。「社員情報一覧」の「対象」列が true で、「社員情報一覧(変更前)」の「社員番号」列が空の場合、登録対象と判定します。UTIL.CELLV 関数を用いて、各値を参照しています。
[4] 「社員管理マスタ」に社員情報を登録します。
[5] 登録を行った場合のみ、「更新ありフラグ」に true をセットします。
[6] 「カウンタ」の値を 1 加算します。
ちなみに
- UTIL.CELLV 関数を使用すると、行番号と列番号(番号または列名)を指定し、そのセルの値を取得することができます。(例:UTIL.CELLV(1,"A"))
- このアプリのように、一覧形式でループにより一行ずつ処理するような場合、UTIL.CELLV 関数一括設定機能を利用すると便利です。詳細は 登録、および、更新するデータにUTIL.CELLV 関数を一括設定する を参照してください。
- 「更新ありフラグ」が true の場合のみ、登録後の処理を行います。
[1] 「社員管理マスタ」のデータを再取得するため、データ取得を行うアクションセットを呼び出します。
[2] 登録完了の旨のメッセージをポップアップで表示します。
- アクションセットを保存します。
複数件のデータを更新する¶
「更新」ボタンクリック時に、「社員情報一覧」にて変更された情報で「社員管理マスタ」のデータを更新するアクションセットを作成します。
- アクションセットを新規作成し、「アクションセット設定」ダイアログを開きます。
- 作業セルエリアを初期化します。
[1] 3行目から繰り返し処理を開始するため、「カウンタ」に 3 をセットします。
[2] 「ループ制御フラグ」に false をセットします。
[3] 「更新ありフラグ」に false をセットします。
- 「社員情報一覧」に対し繰り返し処理を行い、変更された社員情報で「社員管理マスタ」のデータを更新します。
[1] データが存在する場合のみ処理を行うための判定処理を行います。
[2] 繰り返し制御処理です。「ループ制御フラグ」の値が false の間、繰り返し処理を行います。
[3] 更新を行うか否かの判定処理です。「社員情報一覧」の「対象」列が true であるデータの場合、更新対象と判定します。UTIL.CELLV 関数を用いて、値を参照しています。
[4] 「社員管理マスタ」のデータを更新します。「社員番号」の一致を更新条件とし、「名前」「所属」「補足」の値を更新します。
[5] 更新を行った場合のみ、「更新ありフラグ」に true をセットします。
[6] 「カウンタ」の値を 1 加算します。
[7] 「社員管理マスタ」に存在するデータのみ対象とするため、「カウンタ」-3の値が「件数」を超えた場合、繰り返しの終了条件となる「ループ制御フラグ」に true をセットします。
ちなみに
- このアプリのように、一覧形式でループにより一行ずつ処理するような場合、UTIL.CELLV 関数一括設定機能を利用すると便利です。詳細は 登録、および、更新するデータにUTIL.CELLV 関数を一括設定する を参照してください。
- 「更新ありフラグ」が true の場合のみ、更新後の処理を行います。
[1] 「社員管理マスタ」のデータを再取得するため、データ取得を行うアクションセットを呼び出します。
[2] 更新完了の旨のメッセージをポップアップで表示します。
- アクションセットを保存します。
複数件のデータを削除する¶
「削除」ボタンクリック時に、「削除」列がチェックされた社員情報を「社員管理マスタ」から削除するアクションセットを作成します。
- アクションセットを新規作成し、「アクションセット設定」ダイアログを開きます。
- 作業セルエリアを初期化します。
[1] 3行目から繰り返し処理を開始するため、「カウンタ」に 3 をセットします。
[2] 「ループ制御フラグ」に false をセットします。
[3] 「更新ありフラグ」に false をセットします。
- 「社員情報一覧」に対し繰り返し処理を行い、「削除」がチェックされた社員情報を「社員管理マスタ」から削除します。
[1] データが存在する場合のみ処理を行うための判定処理を行います。
[2] 繰り返し制御処理です。「ループ制御フラグ」の値が false の間、繰り返し処理を行います。
[3] 削除を行うか否かの判定処理です。「社員情報一覧」の「削除」列が true である(チェックされている)データの場合、削除対象と判定します。UTIL.CELLV 関数を用いて、値を参照しています。
[4] 「社員管理マスタ」のデータを削除します。「社員番号」、および、「名前」が一致するデータを削除します。
[5] 削除を行った場合のみ、「更新ありフラグ」に true をセットします。
[6] 「カウンタ」の値を 1 加算します。
[7] 「社員管理マスタ」に存在するデータのみ対象とするため、「カウンタ」-3の値が「件数」を超えた場合、繰り返しの終了条件となる「ループ制御フラグ」に true をセットします。
- 「更新ありフラグ」が true の場合のみ、削除後の処理を行います。
[1] 「社員管理マスタ」のデータを再取得するため、データ取得を行うアクションセットを呼び出します。
[2] 削除完了の旨のメッセージをポップアップで表示します。
- アクションセットを保存します。
登録、および、更新するデータにUTIL.CELLV 関数を一括設定する¶
UTIL.CELLV 関数一括設定機能を利用すると、シートから一括で設定できます。
- 「値にUTIL.CELLV 関数を一括設定する」リンクボタンをクリックします。
- 「UTIL.CELLV 関数一括設定」ダイアログが表示されたら、UTIL.CELLV 関数に設定する「行番号」を設定します。
- シートからUTIL.CELLV 関数に設定する列を選択します。対象列の「選択列名」に列名が設定されると同時に、「設定される値」に「行番号」と「選択列名」を使ったUTIL.CELLV 関数が設定されます。(赤枠部分)
ちなみに
ちなみに セルクリック時に対象列(赤枠部分)が自動で移動し、連続設定ができます。
![]()
「行番号」を変更すると、ダイアログで設定したUTIL.CELLV 関数の行番号がすべて変更されます。
![]()
設定したら「OK」ボタンをクリックします。
「OK」ボタンをクリック後、「登録する列と値の設定編集」ダイアログ、および、「更新する列と値の設定編集」ダイアログにてUTIL.CELLV 関数が設定されたことを確認できます。
参考
※動画内の画面は最新バージョンの CELF とは異なる場合があります。
※動画に音声はついていません。
重要
テーブルに対する更新処理(追加、更新、または、削除)については、ユーザーに以下の権限が必要です。
- アプリ作成者
また、 アプリ作成者についてはテーブルに対する以下の権限が必要です。
- 編集
テーブルの権限設定については テーブルの権限を設定する を参照してください。

関連キーワード¶
insert、update、delete