DoCmd.SetWarnings False
DoCmd.RunSQL " UPDATE tbl_material_master INNER JOIN tbl_Item_Bom ON tbl_material_master.StCode = tbl_Item_Bom.StoneCode SET tbl_Item_Bom.Cdj = [tbl_material_master].[StPice]," _
& " tbl_Item_Bom.Czj = IIf([tbl_Item_Bom]![Jjdw]='CT',[tbl_material_master]![StPice]*[tbl_Item_Bom]![CT],[tbl_material_master]![stpice]*[tbl_Item_Bom]![PC]);"
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
Dim strSQL As String
strSQL = "select * from tbl_Item_master"
rst.Open strSQL, CurrentProject.Connection, adOpenDynamic, adLockOptimistic
Do Until rst.EOF
rst!SIcl = DSum("Czj", "tbl_Item_Bom", "StyleNo='" & rst!StyleNo & "'")
rst!SIzj = rst!SIqb + rst!Sibd + rst!SIcl + rst!SIqc + rst!SIJc + rst!SIot
rst.Update
rst.MoveNext
Loop
rst.Close
Set rst = Nothing
DoCmd.SetWarnings True
MsgBox "款号成本资料已更新!", vbInformation, "提示"
我修改了代码后,运行是没问题,只是太慢了,不知怎么原因。数据太大无法上传,记录有一万多条!