以文本方式查看主题

-  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("提交")=true
tables("检验记录").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
--  
有没有解决方案啊?我希望添加后再自动更新,不要直接更新,上面程序该这么改才好啊?