以下代码我的目标是实现当下达计划后,自动将T_采购单的Current("分配数量")设为0,避免重复下计划,但我尝试几次后,发现根本没有用,不知道是哪里出问题,请版主修改: Case "计划下达"
Tables("T_采购单").Current.Load
If Tables("T_采购单").Current("分配数量")>0 Then
cmd.CommandText = "EXEC P_采购分配扣款 ?"
cmd.Parameters.Add("@采购ID",Tables("T_采购单").Current("采购ID"))
Dim dt As DataTable = cmd.ExecuteReader
Dim id As Integer = DataTables("T_计划单").Compute("Max(提货单编号)")
Dim Filter As String = "[提货单编号] > " & id
DataTables("T_计划单").AppendLoad(Filter, False)
With Tables("调度分配_Table2")
.Position = .Rows.Count + 1
End With
If Tables("T_计划单").Current("下单单位")="" Then ‘将存储过程没有执行的地方通过事件执行
Tables("T_计划单").Current("下单单位")= Tables("T_采购单").Current("采购单位")
Tables("T_计划单").Current("下单单位ID")=Tables("T_采购单").Current("采购单位ID")
Tables("T_采购单").Current("分配数量")=0 '下达计划后将分配数量设为0,避免重复下计划
Else
Return
End If
Else
MessageBox.show("分配数量不允许为0,或已经分配,不允许重复分配,请重新分配数量","提示",MessageBoxButtons.OK)
Return
End If
End Select