私は、私のような初心者にとって、それが非常に単純な質問だと思ったものに対する答えを探して水をサーフィンしてきました。簡単にするために、少し頭痛の種となる2ビットのコードを添付します。私がやろうとしているのは、ボタンをクリックして、読み取り専用モードから書き込み許可状態に切り替えることです。そうするために、私はルーチンにレコードの変更をチェックしてもらいたいのですが、変更があれば、変更を保存するか破棄するかをユーザーに尋ねます。この特定のボタンをテストしているときに、かなりの何かを見つけました。おかしい」..変更が導入されていない場合はうまくいくようです。読み取り専用状態から書き込み許可状態に完全に切り替わります。ただし、「保存オプション」の場合、書き込み許可および変更が行われている場合
これに密接に関連する私のもう1つの問題は、元に戻すオプションの「保存ポイント」を設定する方法が見つからないことです。「レコードを保存」する方法を見つけたいので、元に戻すボタンを押しても、データベースを最初に開いてから(現在のように)レコードが受けたすべての変更を元に戻すことはできませんが、ボタンを押した後は押された。DoCmd Save機能を試しましたが、期待どおりに動作していません(注:最後の「else」がこの問題に対する最後の試みでしたが、やはり期待どおりに機能しません)
今後のコラボレーションに感謝します。
アレックス
Private Sub Command28_Click()
If Form_AODNewRecord.AllowAdditions = True Then
Call isModified_Save
Form_AODNewRecord.AllowAdditions = False
Form_AODNewRecord.AllowEdits = False
Form_AODNewRecord.AllowDeletions = False
MsgBox "Read Only. Addition, Edits and Deletions are now locked"
Command28.Caption = "LOCKED"
Else
Form_AODNewRecord.AllowAdditions = True
Form_AODNewRecord.AllowEdits = True
Form_AODNewRecord.AllowDeletions = True
MsgBox "New records, edits and deletions are now allowed"
Command28.Caption = "Lock mode OFF"
End If
MsgBox Form_AODNewRecord.AllowAdditions
End Sub
Sub isModified_Save()
If Form_AODNewRecord.Dirty Then
Dim strMsg As String, strTitle As String
strMsg = "You have edited this record. Do you want to save the changes?"
strTitle = "Save Record?"
If MsgBox(strMsg, vbQuestion + vbYesNo, strTitle) = vbNo Then
Me.Undo
Else
DoCmd.OpenTable "AOD Type", acViewPreview, acReadOnly
DoCmd.Save acTable, "AOD Type"
DoCmd.Close acTable, "AOD Type", acSaveYes
End If
End If
End Sub