2011/05/15

access2010 Webデータベース その46 レコードの保存 -6-

** Office365beta(プランP1) 環境 **
前回なんとか状況がつかめたので、その対策。

  1. 必須フィールド
  2. Form.Dirtyが更新されてしまうこと
1についてはサンプルが適当ではなかったので別のフォームで確認してみる。

 フィールドF01が必須フィールド
フィールドF01を空欄のままレコードの保存を実行する。
必須フィールドについては問題ないかな。フォーム上で編集できるテキストボックスなどコントロールがひとつしかない場合、別途入力検査をすればよいということだろう。

2.Form.Dirtyが更新されてしまうことについては、レコードの保存/SaveRecordマクロアクションでエラーが発生した場合、Dirty状態になるように調整してみた。
現状では、Form.Dirty=Falseになってしまう。
そこで、
レコードの保存/SaveRecordマクロアクションのエラーであるとき、必須フィールド値をプロパティの設定/SetPropertyマクロアクションで更新してみる。
 無事、Form.Dirty=Trueになった。これでUndoもできるようになる。
 いままでのサンプルのマクロアクションを整理しておくとこうなる。


この件、たぶん解決
あとはテクニカルサポートの回答待ち

新規レコードを保存しようとするとき、レコードの保存/SaveRecordマクロアクションでエラーが発生した場合、Form.DirtyプロパティがFalseに更新されてしまう件。

いったんまとめ

0 件のコメント: