以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=69502) |
-- 作者:694687928 -- 发布时间:2015/6/6 10:40:00 -- [求助] 请教关于表逻辑列控制问题 要求:来货记录中的单行"提交"被选中时,检验记录新增一行, 当检验记录"确认"被选中时,来货记录对应行被锁定. 若来货记录要修改,需检验记录"确认"取消选中 这个要怎么设置啊!求大神指点下!谢谢
[此贴子已经被作者于2015/6/6 10:42:35编辑过]
|
-- 作者:Bin -- 发布时间:2015/6/6 10:50:00 -- 上例子. |
-- 作者:694687928 -- 发布时间:2015/6/6 10:51:00 -- [下载]上个例子 怎么上个例子这么难 |
-- 作者:sloyy -- 发布时间:2015/6/6 10:52:00 -- 新增 if tables("来货记录").current("提交")=truetables("检验记录").addnew endif 确认/取消 if tables("检验记录").current("确认")=true tables("检验记录").current.Locked=True else tables("检验记录").current.Locked=false endif |
-- 作者:694687928 -- 发布时间:2015/6/6 10:54:00 -- [求助]还是发链接吧 http://yunpan.cn/cwnP4IMyjpRUw 访问密码 364c |
-- 作者:Bin -- 发布时间:2015/6/6 10:55:00 -- 来货记录datacolchanged 事件 if e.datacol.name="提交" then tables("检验记录").addnew end if 检验记录datacolchanged 事件 if e.datacol.name="确认" then 你得有关联依据才能找到对应的行 end if |
-- 作者:694687928 -- 发布时间:2015/6/6 11:04:00 -- 两个表的流水号是一样的且是唯一的 |
-- 作者:694687928 -- 发布时间:2015/6/6 11:09:00 -- Select Case e.DataCol.name Case "流水号" Dim dr As DataRow = DataTables("检验记录").Find("流水号 = \'" & e.OldValue & "\'") \' If dr ("提交") = True Then If e.DataCol.name="提交" Then dr = DataTables("检验记录").AddNew() dr("流水号") = e.DataRow("流水号") dr("送货类别") = e.DataRow("类别") dr("厂商") = e.DataRow("厂商") dr("零件编号") = e.DataRow("零件编号") dr("来货数量") = e.DataRow("来货数量") dr("收货人") = e.DataRow("接收人") dr("接货时间")=Date.now dr("处理状态")="待处理" Else dr("流水号") = e.DataRow("流水号") End If Case "流水号","送货类别","厂商","零件编号","来货数量","收货人" Dim dr As DataRow = DataTables("检验记录").Find("流水号 = \'" & e.DataRow("流水号") & "\'") If dr IsNot Nothing Then dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name) End If End Select 这个程序没反应,错在哪里啊?
|
-- 作者:Bin -- 发布时间:2015/6/6 11:22:00 -- 1.列名没判断对 2.FInd条件没找到对应的行 3.你第一个Case 和第二个Case有重复条件. 这样第一个Case进入流水号后.第二个永远不会进入
|
-- 作者:694687928 -- 发布时间:2015/6/6 11:24:00 -- 有没有解决方案啊?我希望添加后再自动更新,不要直接更新,上面程序该这么改才好啊? |