Ich habe dieses Formular, das ein Unterformular mit Datensätzen aus der Tabelle enthält. Ich will ist, wenn der Benutzer auf das Kontrollkästchen klickte, wird die Meldung "Möchten Sie die Anwendung genehmigen?" Wenn der Benutzer dann auf OK klickt, wird der Wert des Kontrollkästchens und anderer bearbeiteter Datensätze in der Tabelle gespeichert. aber ich begegne, wenn Benutzer einen Datensatz bearbeiten, aktualisiert er automatisch die Tabelle.So stoppen Sie den automatischen Speichervorgang, wenn Datensatz für Daten bearbeitet wird
hier Probe meines form: hier ist mein Code:
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
Und ich mag auch das Verlassen Checkbox deaktivieren, wenn die zugelassenen Kontrollkästchen bereits aktiviert ist. Ich habe versucht, es in meinem Code hinzuzufügen, aber endet immer deaktivieren alle Kontrollkästchen.
Ich bin nur neu, also weiß ich nicht so viel. Bitte hilf mir.
Ich habe diesen Code ausprobiert, aber es endet mit der Deaktivierung aller Kontrollkästchen unter paid_leave. Nur die Zeile, für die das genehmigte Flag aktiviert ist, sollte das Kontrollkästchen paid_leave in dieser Zeile deaktiviert sein. danke für deinen Rat. – geekypanda
@geekypanda Verwenden Sie ein Formular mit mehreren Ankreuzfeldern und einem Kästchen paid_leave oder ein fortlaufendes Formular mit mehreren Kästchen paid_leave, eines pro Datensatz? Der Code in meiner Antwort funktioniert, wenn im Formular ein Kontrollkästchen paid_leave vorhanden ist. – jjjjjjjjjjj
Im Verwendung von Endlosformular mit mehreren Bezahlschranken Kontrollkästchen, eins pro Datensatz. – geekypanda