以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于行数据设为0的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=192176) |
-- 作者:scofields -- 发布时间:2024/6/1 13:43:00 -- 关于行数据设为0的问题 以下代码我的目标是实现当下达计划后,自动将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 |
-- 作者:有点蓝 -- 发布时间:2024/6/1 13:57:00 -- 代码在什么事件的? 调试 Case "计划下达" Dim r As Row = Tables("T_采购单").Current msgbox(r("采购ID") & "," & r("分配数量")) r.Load msgbox(r("采购ID") & "," & r("分配数量")) If r("分配数量") > 0 Then cmd.CommandText = "EXEC P_采购分配扣款 ?" cmd.Parameters.Add("@采购ID", r("采购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) msgbox("AppendLoad OK") With Tables("调度分配_Table2") .Position = .Rows.Count End With If Tables("T_计划单").Current.IsNull("下单单位") Then \'将存储过程没有执行的地方通过事件执行 Tables("T_计划单").Current("下单单位") = r("采购单位") Tables("T_计划单").Current("下单单位ID") = r("采购单位ID") r("分配数量") = 0 \'下达计划后将分配数量设为0,避免重复下计划 msgbox("分配数量=" & r("分配数量")) Else msgbox("Return 1 OK") Return End If Else MessageBox.show("分配数量不允许为0,或已经分配,不允许重复分配,请重新分配数量", "提示", MessageBoxButtons.OK) Return End If End Select |
-- 作者:scofields -- 发布时间:2024/6/1 14:53:00 -- 我明白了,位置放错了,我调整了,现在好了。感谢版主。 |