我目前正在使用下面的代码来更新某些字段,这样用户就不必输入它们了。出于某种原因,它只对已保存的记录激发,并忽略当前记录。
有趣的是,它工作了一天左右(包括目前的记录)。然后Access开始崩溃,我被迫重新编写代码。
Private Sub RawMaterial_AfterUpdate()
sSQL = "UPDATE tmp_Formula INNER JOIN tbl_RawMaterial ON tmp_Formula.RawMaterial = tbl_RawMaterial.RawMaterial " _
& "SET tmp_Formula.MiscInfo = [tbl_RawMaterial].[MiscInfo], tmp_Formula.Potency = [tbl_RawMaterial].[Potency], " _
& "tmp_Formula.PUoM = [tbl_RawMaterial].[PUoM], tmp_Formula.CUoM = [tbl_RawMaterial].[ClaimUoM], " _
& "tmp_Formula.Cost = [tbl_RawMaterial].[Cost], tmp_Formula.CostUoM = [Tbl_RawMaterial].[CostUoM];"
CurrentDb.Execute sSQL, dbFailOnError
CurrentDb.TableDefs.Refresh
Me.Refresh
End Sub
有没有人能帮我重新写这篇文章,这样它就包含了当前的记录?这可能无关紧要,但我已经试过了。当前记录。SetFocus和我。原材料。设定焦点。两个都不管用。