以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 这段代码运行没有效果,如何改动? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=140052) |
-- 作者:scofields -- 发布时间:2019/8/28 15:24:00 -- 这段代码运行没有效果,如何改动? 跨表引用数据没有用。如何修改 If e.DataCol.Name = "沙月度计划" OrElse e.DataCol.Name = "石月度计划"
Dim Filter As Double = "[沙月度计划] = \'" & e.DataRow("沙月度计划") & "\'And [石月度计划] = \'" & e.DataRow("石月度计划") & "\'" DataTables("日报").ReplaceFor("沙月度计划", e.NewValue, Filter1) DataTables("日报").ReplaceFor("石月度计划", e.NewValue, Filter1) End If |
-- 作者:sloyy -- 发布时间:2019/8/28 15:25:00 -- Dim Filter As string |
-- 作者:sloyy -- 发布时间:2019/8/28 15:26:00 -- Filter1 又从哪里冒出来的? |
-- 作者:有点蓝 -- 发布时间:2019/8/28 15:55:00 -- If e.DataCol.Name = "沙月度计划" OrElse e.DataCol.Name = "石月度计划" Dim Filter As string = "[沙月度计划] = \'" & e.DataRow("沙月度计划") & "\' And [石月度计划] = \'" & e.DataRow("石月度计划") & "\'" DataTables("日报").ReplaceFor("沙月度计划", e.NewValue, Filter ) DataTables("日报").ReplaceFor("石月度计划", e.NewValue, Filter ) End If |
-- 作者:scofields -- 发布时间:2019/8/28 16:47:00 -- 还是不行,现在我把事件稍微改了一下,放在项目的全局表Datachanged属性里,还是不行,真是头大。蓝老师,看看到底哪出了问题,销售单位、市场部列是都有重复值的 Dim dr As DataRow
Select Case e.DataTable.Name Case "日报" If e.DataCol.Name= "销售单位" OrElse e.DataCol.Name = "市场部" dr=DataTables("月度计划").Find("销售单位= \'"& e.DataRow("销售单位") & "\' and 市场部 = \'"& e.DataRow("市场部") & "\'") If dr IsNot Nothing Then e.DataRow("沙月度计划")= dr("沙月度计划") e.DataRow("石月度计划")= dr("石月度计划") End If End If End Select |
-- 作者:有点蓝 -- 发布时间:2019/8/28 17:43:00 -- 全局表Datachanged开启了吗 |
-- 作者:scofields -- 发布时间:2019/8/28 19:07:00 -- 默认的有效,不需要开启,即使要开启,我加入 DataTables("日报").GlobalHandler.AfterEdit = True也无效。 |
-- 作者:scofields -- 发布时间:2019/8/28 19:12:00 -- 找到问题所在了,原来是这里出问题了,把and 改成 OrElse就行了。 Dim dr As DataRow Select Case e.DataTable.Name Case "日报" If e.DataCol.Name= "销售单位" and e.DataCol.Name = "市场部" --把 and 改成 OrElse dr=DataTables("月度计划").Find("销售单位= \'"& e.DataRow("销售单位") & "\' and 市场部 = \'"& e.DataRow("市场部") & "\'") If dr IsNot Nothing Then e.DataRow("沙月度计划")= dr("沙月度计划") e.DataRow("石月度计划")= dr("石月度计划") End If End If End Select |