Q&A

回答の並べ替え:
投稿新規に質問を投稿する

更新ができません

ogawa ogawa

2024-06-04 16:22

CELF初心者です。
表形式で行のデータをそれぞれテーブルに追記したかったのですが、
登録と取得はなんとなくできたのですが、
更新(データを追記して、テーブルに上書き)する方法がうまくいきません。
何が足りないのか検討がつきません。
よろしくお願いいたします。

Yexiongmao Yexiongmao
こんにちは。

3000件の削除、登録でも工事番号にインデックスをふっておけばそれほど時間はかからないと思います。
ただし、ひとつの工事番号で3000件のレコードがあり、常にユーザーによって更新されるようなケースでは、やはりレコードごとの管理が必要になってくると思います。
レコードを特定するためにはレコード毎に明細番号を振る必要があります。
工事番号+明細番号でユニークになるように設計します。
自動付番のIDを使利用することも可能です。(テーブルの全レコードに対してユニーク)
レコードを特定して追加、更新、削除をするなら、ケースごとのアクションの切り替えが必要になりアクションセットは複雑になります。
また、削除のチェックボックスを用意するなど画面設計も変更しなければならないでしょう。
ogawa ogawa
早々の回答
誠にありがとうございます。
一旦「削除」して新たに「登録」をくり返すのですね。
ちょっと考えてみます。

一つの工事に、大きな物件で約3000行以上必要となります。
都度原価を入力するし「更新」を考えてました。
年間、大小合わせて100件以上になります。
このようなデータベースは可能でしょうか?
Yexiongmao Yexiongmao
こんにちは。

以下の点を確認してください。
①この場合は、更新アクションではなく、工事番号の一致するデータを削除して、新たにデータを登録するようにします。
更新アクションは、検索にかかるすべてのデータを更新してしまいますので、工事番号+行番号等をキーにしなければなりません。
また、当該工事番号のデータに増減がある場合も更新アクションでは対応できません。
②「データ更新を一括実行する」アクションは繰り返しアクションの前に置きます。
(繰り返しアクションで発生したトランザクションにエラーがなければをコミットします)
③工事番号でデータを呼び出し、項目データを変更し更新する処理ならば、2009回繰り返すより、工事番号がブランクになるまでの繰り返しにしたほうが効率が良いでしょう。