Forguncy 8 オンラインヘルプ
Forguncyの使い方 / コマンド / コマンド(通常) / テーブルデータの更新
このトピックで
    テーブルデータの更新
    このトピックで

    ページのセルに データ連結しているテーブルのフィールド値を更新、追加、削除します。一回のコマンドの実行で、単一のテーブルを操作することも、複数のテーブルを一度に操作することもできます。データ連結していないフィールドでも、このコマンドで[非データ連結フィールド]を指定することでデータの更新、追加が可能です。削除処理は、データ連結の設定に関わらずレコード全体が削除されます。
    レコードに添付ファイルがある場合、レコードが削除されるときに添付ファイルも削除されます。

    リストビューにデータ連結している場合、そのテーブルはこのコマンドでは更新されません。リストビュー上のデータを更新したい場合には リストビューデータの操作コマンドを使用してください。

    詳細設定で[更新対象レコード]を変更しない限り、既定の対象レコードはカレントレコードです。カレントレコードはリストビューで選択されているレコードです。ページにリストビューが存在しない場合でも、遷移元ページのリストビューでいずれかのレコードが選択されていた場合、それがカレントレコードとなります。詳しくは リストビューとはにある「●リストビューの役割」を参照してください。

    なお、ページのいずれかのセルに「データの入力規則」を設定していた場合、本コマンドの実行時にその入力規則の検証処理が行われます。検証処理が通らない場合には、テーブルデータの更新は行われません。「データの入力規則」については、セルにデータ入力規則を設定するを参照してください。

    更新対象テーブルが単一

    以下の画像は単一のテーブルを更新・追加・削除する画面です。
    複数のテーブルのレコードを一回のコマンド実行で一度に操作したい場合は、「トランザクション処理を有効にする」かをクリックして画面を切り替えてください。

    更新対象テーブルが複数

    以下の画像は一回のコマンドで複数のテーブルを更新・追加・削除する画面です。
    実行中に何らかの理由で操作の1つが失敗した場合、このコマンド内で登録しているすべての処理をロールバックできます。もし、「テーブルデータの更新」コマンドを複数回実行した場合、何らかの理由で処理が失敗してもロールバックできるのは、そのコマンドで指定しているテーブルのみになります。複数テーブルの操作をトランザクションで管理したい場合は、1つの「テーブルデータの更新」コマンド内で指定してください。
    なお、ロールバックはデータベースの種類が混在していても正しく行われます(例:SQL ServerのテーブルとForguncyの内部データベースのテーブルが混在)。
    単一のテーブルのレコードを操作したい場合は、をクリックして画面を切り替えてください。
    をクリックすると更新対象のテーブルを増やせます。
    をクリックすると更新対象のテーブルを減らせます。
    をクリックすると、更新処理を行うテーブルの順番を移動できます。

    設定値

    処理の種類

    更新、追加、削除から選択します。選択した処理の種類により、ほかに必要となる設定が異なります。

    対象テーブル

    更新対象のテーブルを選択します。

    非データ連結フィールド

    ユーザーが入力する値とは別に、固定的な値やページ上に存在しない値を更新値とする場合(データが更新された日時を登録するために現在日時を更新値とするなど)は、ここで定義します。

    更新対象レコード

    データを更新するレコードを指定します。

    カレントレコード

    カレントレコードを選択すると、リストビューで選択しているレコードが更新の対象になります。ページにリストビューが存在しない場合でも、遷移元ページのリストビューでいずれかのレコードが選択されている場合、それがカレントレコードとして更新の対象になります。詳しくは リストビューとは にある「●リストビューの役割」を参照してください。

    特定レコード

    特定レコードを選択すると、「新しい条件」を指定できるようになります。この条件に一致するすべてのレコードが更新の対象になります。非データ連結のフィールドに入力した値をレコードに反映させたい場合など、これを選択することでレコードを更新できます。

    ユーザー選択レコード

    リストビューで行ヘッダークリックによる選択か、行選択チェックボックスによる選択で選択されている行のレコードをすべて更新します。

    確認ダイアログを表示する

    レコード更新時に確認ダイアログを表示します。ダイアログに表示する文字列を指定できます。

    注意:確認ダイアログには、Microsoft Edgeを使用している場合にMicrosoft Edgeの仕様で「このページからのメッセージを非表示にする」と表示される場合があります。この表示がされた時にチェックボックスをチェックして「OK」ボタンをクリックすると、以降のForguncyの確認ダイアログが表示されなくなり、更新・追加・削除が行われなくなります。チェックボックスが表示された場合は、チェックしないようにしてください。チェックしてしまった場合は、ブラウザの再起動を行ってください。

    あるいは、この確認ダイアログを使用せずに、次の画像のように条件分岐コマンドの確認ダイアログを使用して、「はい」の場合にテーブルデータの更新コマンドを実行する方法もあります。この場合、上記のような「このページからのメッセージを非表示にする」と表示されることがないので、ユーザーが誤ってチェックしてしまいブラウザの再起動が必要になるといったことがなくなります。

    コマンド実行前にセルのデータ入力検証を行う

    コマンド実行時に「データの入力規則」の設定をもとにデータ入力検証を行います。

    処理の種類が「更新」または「追加」の場合[詳細設定を表示]をクリックすると設定することができ、既定でチェックされています。

    • チェックされている場合にコマンドを実行すると、データ検証が実行され、データ検証に合格した後のみコマンドが実行されます。
    • チェックしていない場合にコマンドを実行すると、データ検証は実行されずに直接コマンドが実行されます。

    注意:添付ファイルの保存方法について

    • 添付ファイル型セル

    • 画像アップロード型セル

    • テーブルの「添付ファイル」データ型フィールド 

    • テーブルの「画像」データ型フィールド

    上記データについて、「更新対象レコード」が「特定レコード」や「ユーザー選択レコード」を選択し、複数レコードにわたって同じファイルが保存される場合、ファイルの実態はレコードの行数分複製され、別のGUIDが割り振られ、保存されます。