我有一个使用链接表到 MySQL 数据库的 MS Access (2016) 数据库。在访问数据库中,我有一个用于数据输入的表单。当我单击“重新计算”按钮时,我需要(手动)重新计算某些字段。
我遇到的问题是,当我运行 VBA 代码以更新表单上的字段时,如果我尝试导航到另一条记录,则会收到错误消息“自从您开始编辑此记录以来,该记录已被另一个用户更改...... 。”
我是唯一访问此数据库的用户。如果我不更新表单上的绑定字段,一切正常。一旦我这样做了,我就会在导航到下一条记录时收到该错误。
这是我的重新计算按钮的 vba 代码:
Private Sub Recalculate()
vendorID = Me.product_supplier_id
supplierID = "supplier_id=" & vendorID
supplierHandling = Me.product_handling
vendorFee = Me.product_vendor_fee
supplierMarkupPercent = DLookup("supplier_markup_percent", "suppliers", supplierID)
supplierMarkupFixed = DLookup("supplier_markup_fixed", "suppliers", supplierID)
productCost = Me.product_cost
productShipping = Me.product_shipping
totalCost = productCost + productShipping + supplierHandling
totalCost = totalCost + vendorFee
markup = supplierMarkupFixed + (totalCost * supplierMarkupPercent)
productPrice = (totalCost + markup) / 0.85
amzFee = productPrice * 0.15
totalCost = totalCost + amzFee
profit = productPrice - totalCost
Me.product_total_cost = totalCost
Me.product_price = productPrice
Me.product_profit = profit
SetPriceColor
End Sub
接近结尾的 3 个语句(在 SetPriceColor 之前)是罪魁祸首。
我不知道如何解决这个问题。我已经梳理了许多谷歌搜索,但没有什么能解决这个特定案例的问题。