Ich bin eine Datenbank bei der Arbeit mit nur einem Benutzer ausgeführt wird, und jedesmal, wenn ich den Code unten ausgeführt werden, wenn eine einzelne Radiobutton klicken es gibt mir die NachrichtZugang DB VBA Datenkonflikt
Die Daten wurden geändert Ein anderer Benutzer hat diesen Datensatz bearbeitet, und hat die Änderungen gespeichert, bevor Sie versucht haben, Ihre Änderungen zu speichern. Bearbeiten Sie den Datensatz erneut.
Diese Nachricht wird nur angezeigt, nachdem Sie die Schaltfläche ein zweites Mal angeklickt haben. Wenn Sie ein drittes Mal darauf klicken, wird der Wert geändert.
Private Sub radioNECC10000_Click()
Dim SQL As String
DoCmd.SetWarnings False
If (IsNull(Me.VendorNum.Value)) Then
MsgBox ("Please select a vendor!")
Else
If (Me.radioNECC10000 = True) Then
SQL = "UPDATE tbleVendorRecord " & _
"SET NECC_10000 = 10000 " & _
"WHERE Vendor_ID = " & VendorNum & " "
DoCmd.RunSQL SQL
Else
SQL = "UPDATE tbleVendorRecord " & _
"SET NECC_10000 = 0 " & _
"WHERE Vendor_ID = " & VendorNum & " "
DoCmd.RunSQL SQL
End If
End If
End Sub
Wahrscheinlich nicht im Zusammenhang mit dem Problem, sollte aber am Ende der Prozedur Warnungen auf True setzen. Oder verwenden Sie CurrentDb.Execute und müssen sich nicht mit SetWarnings beschäftigen. Ist der Optionsfeldteil einer Optionsgruppe, die an ein Feld gebunden ist? Gibt der Benutzer Daten in den Datensatz ein und versucht, UPDATE für denselben Datensatz auszuführen? Übergeben Sie Benutzeränderungen zuerst an Tabelle. – June7
Ich stimme June7 zu, es ist wahrscheinlich ein Problem mit nicht ausgeführten Änderungen. Es ist wahrscheinlich, dass die Antwort im Duplikat nur funktioniert, weil ein Requery auch Änderungen festschreibt, aber es gibt explizitere Möglichkeiten, Änderungen zu committen (wie zum Beispiel 'DoCmd.RunCommand acCmdSaveRecord') –
Es gibt keine Benutzereingabe; Sobald der Benutzer auf das Optionsfeld klickt, führt die Abfrage je nach Status des Optionsfelds (ein oder aus) eine dieser Situationen aus. Ich werde die Warnmeldungen wieder einschalten, ich habe nur vergessen, diese Zeile einzufügen, danke für die Erinnerung! Nein, es ist auch nicht an irgendein Feld gebunden, es ist nur ein Knopf mit einem Etikett daneben – Maldred