以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于逻辑判断问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=31326) |
-- 作者:zmagood -- 发布时间:2013/4/12 23:01:00 -- 关于逻辑判断问题 多个产品产品分别卖给多家客户,收款后,则 "是否收款"列为TRUE。 在"统计表A"中判断:如果"销售表B"中 某个"产品"收款全部结清(即"是否收款"全为真),则"统计表A"的"是否收款完毕"为真。 这个逻辑判断可以这么写吗? 在DataColChanged事件中这样写: Dim dr As DataRow = e.DataRow If e.DataCol.Name = "产品" Then dr("是否收款完毕") = DataTables("销售表B").Compute("Sum(是否收款)","[产品] = \'" & e.DataRow("
产品 ") & "\'") End If |
-- 作者:菲舍尔 -- 发布时间:2013/4/12 23:06:00 -- 应该不能 你两表之间的关联是通过什么来关联?
|
-- 作者:zmagood -- 发布时间:2013/4/12 23:13:00 -- 没进行关联,那应该怎么写呢 |
-- 作者:夕然 -- 发布时间:2013/4/12 23:18:00 -- )","[产品] = \'" & e.DataRow(" 产品 ") & "\'") 这个表述错误 你这个是在表a中写的,表a中哪里会有这个[产品]呢,有也是e.datarow("产品") 你这个可以使用find来找到所有满足条件的行,然后对所有的行进行判断 如果判断结果正确,那么表a的某个值为true |
-- 作者:zmagood -- 发布时间:2013/4/12 23:24:00 -- 哈哈,这样写就可以了。 Dim dr As DataRow = e.DataRow If e.DataCol.Name = "产品" Then Dim dr0 As DataRow dr0 = DataTables("销售表B").Find("[产品] = \'" & e.DataRow(" 产品 ") & "\' and [是否收款]= False ") If dr0 IsNot Nothing Then \'如果找到的话 dr("是否收款完毕") = False Else dr("是否收款完毕") = True End If |