As June7 states, a form changing its data values by both altering bound controls and by SQL Update or Insert can cause this problem. Setting .Dirty to false before the SQL update can sometimes help.
Code:
Private Sub cmdPricing_Click()
Dim sSQL As String
If Me.Dirty Then Me.Dirty = False
If DCount("InventoryID", "tblPricing", "InventoryID=" & InventoryID) = 0 Then
sSQL = "Insert into tblPricing (InventoryID) VALUES (" & [InventoryID] & ");"
CurrentDb.Execute sSQL, dbFailOnError
End If
If Not IsNull(InventoryID) Then
DoCmd.OpenForm "frmPricing", , , , , , InventoryID
End If
End Sub