問題タブ [beforeupdate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
253 参照

ruby-on-rails - before_validation コールバックを使用して関連モデルを変更する

Railsコールバックを正しく実装する方法に少し苦労しています:

モデル X (属性 A、B、C を持つ) とモデル Y (属性 C、D、E を持つ - つまり、両方とも属性 C を持つ) との has_many 関係があります。関連するすべてのモデル Y の属性 C がモデル X の属性と一致する必要があることを示す X のモデル検証があります。

したがって、モデル X の更新中に C 属性を変更する際に、'before_validation, on :update' コールバックを使用して、関連するすべての Y モデルの C 値を変更し、モデル X の更新された C 値と一致させました。これにより、 model X を検証して正常に更新します。ただし、関連付けられたモデル Y の変更された C 値は保持されず、モデル X のリロード時に元の値に戻ります。

では、モデル Y の変更を「ロックイン」するために「after_save」コールバックも必要ですか? それとも、この種のことを行うために別の方法を使用する必要がありますか?

- - - アップデート - - - - - -

データベースへの保存が間違っている可能性があると思います:

私のコールバックコード

0 投票する
2 に答える
946 参照

vba - Access 2007 で VBA を介して更新前プロパティを設定する方法

Form.SourceObjectユーザー入力に基づいてレコード ソース ( ) を変更するサブフォームがあります。サブフォームの特定のフィールドのプロパティに依存する変更追跡システムを開発していBefore Updateます (違いがある場合はシート ビューで)。レコード ソースを変更しなければ、Before Update適切にトリガーされます。変更すると失われ、トリガーを再割り当てする必要があります。問題は、これを行う方法を説明しているものを見つけることができなかったことです。「トラッカー」が呼び出されるコードである次を使用してみました:

エラー 2455 = 「BeforeUpdate プロパティへの無効な参照を含む式を入力しました」

エラー 2455 = 「BeforeUpdate プロパティへの無効な参照を含む式を入力しました」

コンパイル エラー = 予期される関数または変数

エラー 438 = 「オブジェクトはこのプロパティまたはメソッドをサポートしていません」

編集-

BeforeUpdateさらにいじってみると、対応する before update イベントが存在すると仮定して、フォーム内のコントロールにプロパティを適切に割り当てることができます。

残念ながら、このメソッドはまだサブフォームで失敗します...

Form.SourceObjectを変更しているという事実が、プロパティの設定を妨げていると思い始めています。

0 投票する
1 に答える
395 参照

vba - Access 2007 でサブフォームの SourceObject を変更するとプロパティを変更できなくなる

を使用してユーザー入力に基づいてデータを取得する場所を変更するサブフォームがありますMe.SubForm.SourceObject = Query.SomeQuery。これを行うことで、BeforeUpdateプロパティを設定する機能が失われているようです。

私が使用しているコードは次のとおりです。

が変更される前にこれが機能することを確認しましたSubForm.SourceObjectが、その後、次のエラーがスローされます: RTE 2455 "BeforeUpdate プロパティへの無効な参照を持つ式が入力されました。"

これは既知の問題なのか、コードを変更して調整する必要があるのか​​ 疑問に思っていました.

0 投票する
2 に答える
2346 参照

vba - Access 2007 で BeforeUpdate イベントをトリガーするコントロールを検出する方法

BeforeUpdate次のコードを使用して、イベントを使用してサブフォームで行われた変更を追跡する監査証跡があります。

私が抱えている問題は、ユーザーが 2 つの変更を行い、変更履歴テーブルに 3 つのことが記録されていることです。最初の変更は 2 回、2 回目の変更は 1 回です (この傾向は、ユーザーが離れない限り続きます)。記録)。私がやりたいのは、イベントをトリガーしたコントロールを特定してBeforeUpdate上記のコードに渡すことで、イベントをトリガーしたコントロールだけBeforeUpdateが異なるかどうかを確認し、すでにログに記録されている他のコントロールをスキップできるようにすることです。または、Access がログに記録された変更を新しいものとして認識しないようにする方法はありますか?

0 投票する
0 に答える
154 参照

grails - beforeUpdate の DirtyPropertyNames メソッドはバージョンのみを返します

dirtyPropertyNames メソッドの使用に問題があります。

grails バージョン 2.1.3 を使用しています。以下のメソッドは常にバージョンを出力し、他の変更された String プロパティは出力しません。

この問題に詳しい人はいますか?

0 投票する
2 に答える
1167 参照

ruby-on-rails - モデル内の特定の値への更新を防止するRails

私のアプリではnote.rb、以下に示すスキーマを使用しています。私がやろうとしているのは、メモを編集する機能を制限することです。基本的に、メモが過去 24 時間以内に作成されたものであれば、好きなように更新できます。24 時間後にできることは、remind_at時間を変更することだけです。note.rbメモが編集可能かどうかを確認するメソッドがファイルに含まれています。そうであれば、別のパーシャルを表示します。しかし、それはフロント エンドを制限するだけです。誰かが編集ウィンドウを開いたままにしたり、URL を入力したりした場合、24 時間後でもメモを編集できます。

私がやろうとしているのは、メモのbefore_update更新が許可されているかどうかを確認するメソッドを作成することです。body何があってもremind_at時間を更新できます。問題の一部は、これが単に時間の変更であるかどうかをコントローラーが認識する方法remind_atが経由params[:reschedule]でありparams、モデルでアクセスできないことです。

0 投票する
1 に答える
510 参照

triggers - Oracle 11gの参照整合性を備えた更新トリガーの前

トリガーの更新前の意味を理解したいです。

DEPT_MSTどこDEPT_IDが主キーであるかというテーブルがあります。DEPT_ID1 と 2 の2 つの行があります。

別のテーブルには主キーとしてEMP列があり、これはテーブルを参照する外部キーです。EMP_IDEMP_DEPT_IDDEPT_IDDEPT

ここで、新しい値がマスターテーブルに存在するかどうかをチェックするEMPテーブル列に before update トリガーを追加すると、新しいテーブルに新しい行が挿入されます。EMP_DEPT_IDEMP_DEPT_IDDEPTDEPT_IDDEPT

ここで、表の 2EMP_DEPT_IDを 3に更新すると、整合性制約違反エラーの親が見つかりません。EMP_DEPT_IDEMP

そう、

  1. これは、オラクルが最初に整合性制約をチェックしてから、「更新前」トリガーを呼び出すことを意味しますか?
  2. では、このチェックをバイパスして、更新トリガーの前に呼び出すにはどうすればよいでしょうか?
  3. ここで「更新前」とは正確にはどういう意味ですか?
  4. 明示的な PL SQL ブロックを使用するのではなく、トリガーを使用して上記の結果を達成するにはどうすればよいですか?

ありがとうございました