以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]双向计算问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=104788) |
||||
-- 作者:hahahehe21 -- 发布时间:2017/8/5 2:41:00 -- [求助]双向计算问题
求助,在表业务合同中:如果先在数量列中输入内容,金额列就等于数量*单价;如果先在金额列中输入内容,单价列就等于金额/数量。如何设置代码?
|
||||
-- 作者:有点蓝 -- 发布时间:2017/8/5 8:46:00 -- datacolchanged Select Case e.DataCol.Name Case "日期" If e.DataRow.IsNull("日期") Then e.DataRow("编号") = Nothing Else Dim bh As String = Format(e.DataRow("日期"),"yyyyMMdd") If e.DataRow("编号").StartsWith(bh) = False Dim max As String Dim idx As Integer max = e.DataTable.Compute("Max(编号)","日期 = #" & e.DataRow("日期") & "# And [_Identify] <> " & e.DataRow("_Identify")) \'取得该天的最大编号 If max > "" Then idx = CInt(max.Substring(9,3)) + 1 Else idx = 1 End If e.DataRow("编号") = bh & "-" & Format(idx,"000") End If End If Case "数量" SystemReady = False e.DataRow("金额") = e.DataRow("数量") * e.DataRow("单价") SystemReady = True Case "金额" SystemReady = False If e.DataRow("单价") = 0 Then e.DataRow("数量") = Nothing Else e.DataRow("数量") = e.DataRow("金额") / e.DataRow("单价") End If SystemReady = True End Select |