テーブルのレコードを含むサブフォームを持つこのフォームがあります。 ユーザーがチェックボックスをオンにしたときに、「アプリケーションを承認しますか?」というメッセージが表示されます。ユーザーが[OK]をクリックすると、チェックボックスの値と編集された他のレコードがテーブルに保存されます。 しかし、ユーザーがレコードを編集すると、自動的にテーブルが更新されます。ここデータのレコードが編集されたときに自動保存を停止する方法
は私formのサンプルです: ここに私のコードです:
Private Sub chkApproved_Click()
Dim strSQL As String
Dim rs As DAO.Recordset
DoCmd.SetWarnings False
strSQL = "SELECT * FROM RECORD WHERE ID = '" & Me.txtID & "' AND DATE = #" & Me.txtDate & "# "
Set rs = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
If Me.chkApproved = -1 Then
If MsgBox("Do you want to approve application?", vbOKCancel, "Leave Approval") = vbOK Then
If Not rs.EOF Then
rs.Edit
rs.Fields("APPROVED_FLG") = Me.chkApproved.Value
rs.Fields("LEAVE_FLG") = Me.chkLeave.Value
rs.Fields("REMARKS") = Me.REMARKS
rs.Update
End If
rs.Requery
Else
Me.chkApproved = 0
End If
Else
Exit Sub
End If
rs.Close
Set rs = Nothing
DoCmd.SetWarnings True
End Sub
そしてまた私は、承認されたチェックボックスがすでにチェックされているとき休暇チェックボックスを無効にしたいです。コードに追加しようとしましたが、常にチェックボックスをすべて無効にしてしまいます。
私はこれに新しいので、私はmuch.pleaseヘルプmeを知らない。
私はそのコードを試しましたが、pay_leaveの下にあるすべてのチェックボックスを無効にすることになります。承認されたflgがチェックされている行のみ、その行のpaid_leaveチェックボックスを無効にする必要があります。アドバイスありがとうございます。 – geekypanda
@geekypanda複数のチェックボックスと1つのpaid_leaveチェックボックス、または複数のpaid_leaveチェックボックスを含む連続フォーム(レコードごとに1つ)のフォームを使用していますか?私の答えのコードは、フォームに1つのpaid_leaveチェックボックスがある場合に機能します。 – jjjjjjjjjjj
im複数のpaid_leaveチェックボックス(レコードごとに1つ)を含む連続フォームを使用しています。 – geekypanda