ページのセルに データ連結 しているテーブルのフィールド値を更新、追加、削除します。一回のコマンドの実行で、単一のテーブルを操作することも、複数のテーブルを一度に操作することもできます。データ連結していないフィールドでも、このコマンドで[非データ連結フィールド]を指定することでデータの更新、追加が可能です。削除処理は、データ連結の設定に関わらずレコード全体が削除されます。
リストビューにデータ連結している場合、そのテーブルはこのコマンドでは更新されません。リストビュー上のデータを更新したい場合には リストビューデータの更新 コマンドを使用してください。
詳細設定で[更新対象レコード]を変更しない限り、既定の対象レコードはカレントレコードです。カレントレコードはリストビューで選択されているレコードです。ページにリストビューが存在しない場合でも、遷移元ページのリストビューでいずれかのレコードが選択されていた場合、それがカレントレコードとなります。詳しくは リストビューとは にある「●リストビューの役割」を参照してください。
なお、ページのいずれかのセルに「データの入力規則」を設定していた場合、本コマンドの実行時にその入力規則の検証処理が行われます。検証処理が通らない場合には、テーブルデータの更新は行われません。「データの入力規則」については、セルにデータ入力規則を設定する を参照してください。
以下の画像は単一のテーブルを更新・追加・削除する画面です。
複数のテーブルのレコードを一回のコマンド実行で一度に操作したい場合は、「トランザクション処理を有効にする」かをクリックして画面を切り替えてください。
以下の画像は一回のコマンドで複数のテーブルを更新・追加・削除する画面です。
実行中に何らかの理由で操作の1つが失敗した場合、このコマンド内で登録しているすべての処理をロールバックできます。もし、「テーブルデータの更新」コマンドを複数回実行した場合、何らかの理由で処理が失敗してもロールバックできるのは、そのコマンドで指定しているテーブルのみになります。複数テーブルの操作をトランザクションで管理したい場合は、1つの「テーブルデータの更新」コマンド内で指定してください。
なお、ロールバックはデータベースの種類が混在していても正しく行われます(例:SQL ServerのテーブルとForguncyの内部データベースのテーブルが混在)。
単一のテーブルのレコードを操作したい場合は、をクリックして画面を切り替えてください。
をクリックすると更新対象のテーブルを増やせます。
をクリックすると更新対象のテーブルを減らせます。
をクリックすると、更新処理を行うテーブルの順番を移動できます。
処理の種類 |
更新、追加、削除から選択します。選択した処理の種類により、ほかに必要となる設定が異なります。 | |
対象テーブル |
更新対象のテーブルを選択します。 | |
非データ連結フィールド |
ユーザーが入力する値とは別に、固定的な値やページ上に存在しない値を更新値とする場合(データが更新された日時を登録するために現在日時を更新値とするなど)は、ここで定義します。 | |
更新対象レコード |
データを更新するレコードを指定します。 | |
カレントレコード |
カレントレコードを選択すると、リストビューで選択しているレコードが更新の対象になります。ページにリストビューが存在しない場合でも、遷移元ページのリストビューでいずれかのレコードが選択されている場合、それがカレントレコードとして更新の対象になります。詳しくは リストビューとは にある「●リストビューの役割」を参照してください。 | |
特定レコード |
特定レコードを選択すると、「新しい条件」を指定できるようになります。この条件に一致するすべてのレコードが更新の対象になります。非データ連結のフィールドに入力した値をレコードに反映させたい場合など、これを選択することでレコードを更新できます。 | |
ユーザー選択レコード |
リストビューで行ヘッダークリックによる選択か、行選択チェックボックスによる選択で選択されている行のレコードをすべて更新します。 | |
確認ダイアログを表示する |
レコード更新時に確認ダイアログを表示します。ダイアログに表示する文字列を指定できます。 あるいは、この確認ダイアログを使用せずに、次の画像のように条件分岐コマンドの確認ダイアログを使用して、「はい」の場合にテーブルデータの更新コマンドを実行する方法もあります。この場合、上記のような「このページからのメッセージを非表示にする」と表示されることがないので、ユーザーが誤ってチェックしてしまいブラウザの再起動が必要になるといったことがなくなります。 |