以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 增加行 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=138448) |
||||
-- 作者:13775189031 -- 发布时间:2019/7/31 13:46:00 -- 增加行 想改成如果“材料标准”=“多种”,则 Dim ndr As Row = Tables("角钢进料表明细").AddNew ndr("进料表编号") = e.DataRow("进料表编号") ndr("工程名称") = e.DataRow("工程名称") ndr("塔型") = e.DataRow("塔型") ndr("仓储配料员") = e.DataRow("仓储配料员") ndr("审核") = e.DataRow("审核") ndr("编制人") = e.DataRow("编制人") ndr.Move(0) 其他的材料标准,除了上面的以外,都在增加一项 ndr("材料标准") = e.DataRow("材料标准") 怎么改? Select Case
e.DataCol.name Case "进料表编号","材料标准" If e.DataRow.IsNull("进料表编号")
Then DataTables("角钢进料表明细").DeleteFor("进料表编号=\'"
& e.DataRow("进料表编号") & "\'") e.DataRow("状态_发料完成") =
False e.DataRow("状态_U8出库") =
False Else If e.DataRow("材料标准") =
"多种" Then Dim ndr As Row = Tables("角钢进料表明细").AddNew ndr("进料表编号") =
e.DataRow("进料表编号") ndr("工程名称") =
e.DataRow("工程名称") ndr("塔型") =
e.DataRow("塔型") ndr("仓储配料员") = e.DataRow("仓储配料员") ndr("审核") =
e.DataRow("审核") ndr("编制人") =
e.DataRow("编制人") ndr.Move(0) End If If e.DataRow("材料标准") =
"国标" Then Dim ndr As Row = Tables("角钢进料表明细").AddNew ndr("进料表编号") =
e.DataRow("进料表编号") ndr("工程名称") = e.DataRow("工程名称") ndr("塔型") =
e.DataRow("塔型") ndr("材料标准") =
e.DataRow("材料标准") ndr("仓储配料员") =
e.DataRow("仓储配料员") ndr("审核") =
e.DataRow("审核") ndr("编制人") = e.DataRow("编制人") ndr.Move(0)
End If
If e.DataRow("材料标准") = "国网" Then Dim ndr As Row = Tables("角钢进料表明细").AddNew ndr("进料表编号") = e.DataRow("进料表编号") ndr("工程名称") =
e.DataRow("工程名称") ndr("塔型") =
e.DataRow("塔型") ndr("材料标准") =
e.DataRow("材料标准") ndr("仓储配料员") =
e.DataRow("仓储配料员") ndr("审核") =
e.DataRow("审核") ndr("编制人") =
e.DataRow("编制人") ndr.Move(0) End If If e.DataRow("材料标准") =
"南网" Then Dim ndr As Row = Tables("角钢进料表明细").AddNew ndr("进料表编号") =
e.DataRow("进料表编号") ndr("工程名称") =
e.DataRow("工程名称") ndr("塔型") =
e.DataRow("塔型") ndr("材料标准") =
e.DataRow("材料标准") ndr("仓储配料员") =
e.DataRow("仓储配料员") ndr("审核") =
e.DataRow("审核") ndr("编制人") = e.DataRow("编制人") ndr.Move(0) End If If e.DataRow.GetChildRows("角钢进料表明细").Count
> 0 Dim cnt As Integer =
DataTables("角钢进料表明细").Compute("count(进料表编号)","进料表编号 =
\'" & e.DataRow("进料表编号") & "\'and (U8出库=false and 处置_重派=false)") e.DataRow("状态_U8出库")
= (cnt=0) cnt = DataTables("角钢进料表明细").Compute("count(进料表编号)","进料表编号
= \'" & e.DataRow("进料表编号") & "\'and (未发数量 > 0 or 未发数量
is null)")
e.DataRow("状态_发料完成") = (cnt=0) End If End If End Select |
||||
-- 作者:有点蓝 -- 发布时间:2019/7/31 14:35:00 -- Select Case e.DataCol.name Case "进料表编号","材料标准" If e.DataRow.IsNull("进料表编号") Then DataTables("角钢进料表明细").DeleteFor("进料表编号=\'" & e.DataRow("进料表编号") & "\'") e.DataRow("状态_发料完成") = False e.DataRow("状态_U8出库") = False Else Dim ndr As Row = Tables("角钢进料表明细").AddNew ndr("进料表编号") = e.DataRow("进料表编号") ndr("工程名称") = e.DataRow("工程名称") ndr("塔型") = e.DataRow("塔型") ndr("仓储配料员") = e.DataRow("仓储配料员") ndr("审核") = e.DataRow("审核") ndr("编制人") = e.DataRow("编制人") ndr.Move(0) If e.DataRow("材料标准") <> "多种" Then ndr("材料标准") = e.DataRow("材料标准") End If If e.DataRow.GetChildRows("角钢进料表明细").Count > 0 …… |
||||
-- 作者:13775189031 -- 发布时间:2019/7/31 16:31:00 --
|
||||
-- 作者:13775189031 -- 发布时间:2019/7/31 16:34:00 --
请老师看看,按照上面的代码改了,但是在表“角钢进料台账”里列“材料标准”选择了“多种”,在表“角钢进料表明细里”还是会自动显示“多种”
|
||||
-- 作者:有点蓝 -- 发布时间:2019/7/31 16:37:00 -- 开发者密码? |
||||
-- 作者:13775189031 -- 发布时间:2019/7/31 16:39:00 -- 还有一个奇怪的现象,改了代码以后,在表“角钢进料明细”里填写“派料支数”以后,会自动增加一行,是什么原因? |
||||
-- 作者:有点蓝 -- 发布时间:2019/7/31 16:43:00 -- 项目开发者密码? |
||||
-- 作者:13775189031 -- 发布时间:2019/7/31 16:45:00 -- 147258 |
||||
-- 作者:有点蓝 -- 发布时间:2019/7/31 17:05:00 -- 明细表这段代码的原因 If e.DataCol.Name = "进料表编号" Then If e.NewValue Is Nothing Then e.DataRow("工程名称") = Nothing e.DataRow("塔型") = Nothing e.DataRow("材料标准") = Nothing e.DataRow("仓储配料员") = Nothing e.DataRow("审核") = Nothing e.DataRow("编制人") = Nothing Else Dim dr3 As DataRow dr3 = DataTables("角钢进料台账").Find("[进料表编号] = \'" & e.NewValue & "\'") If dr3 IsNot Nothing e.DataRow("工程名称") = dr3("工程名称") e.DataRow("塔型") = dr3("塔型") e.DataRow("材料标准") = dr3("材料标准") e.DataRow("仓储配料员") = dr3("仓储配料员") e.DataRow("审核") = dr3("审核") e.DataRow("编制人") = dr3("编制人") End If End If End If |
||||
-- 作者:有点蓝 -- 发布时间:2019/7/31 17:06:00 -- 主表事件试试这样改改 …… Else Dim ndr As Row = Tables("角钢进料表明细").AddNew systemready = false ndr("进料表编号") = e.DataRow("进料表编号") systemready = true ndr("工程名称") = e.DataRow("工程名称") ndr("塔型") = e.DataRow("塔型") ndr("仓储配料员") = e.DataRow("仓储配料员") ndr("审核") = e.DataRow("审核") ndr("编制人") = e.DataRow("编制人") ndr.Move(0) If e.DataRow("材料标准") <> "多种" Then ndr("材料标准") = e.DataRow("材料标准") End If If e.DataRow.GetChildRows("角钢进料表明细").Count > 0 Dim cnt As Integer = DataTables("角钢进料表明细").Compute("count(进料表编号)","进料表编号=\'" & e.NewValue & "\' and (U8出库=false and 处置_重派=false)") e.DataRow("状态_U8出库") = (cnt=0) cnt = DataTables("角钢进料表明细").Compute("count(进料表编号)","进料表编号=\'" & e.NewValue & "\' and (未发数量 > 0 or 未发数量 is null)") e.DataRow("状态_发料完成") = (cnt=0) End If End If |