2017-09-12 2 views
0

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 
+2

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

+0

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') –

+0

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

Antwort

Verwandte Themen