以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]父表一旦审核审核,子表相关明细不增加,不删除,不修改,并锁定,如何操作?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=95139)

--  作者:yeshuping5045
--  发布时间:2017/1/11 10:12:00
--  [求助]父表一旦审核审核,子表相关明细不增加,不删除,不修改,并锁定,如何操作?
父表(结算总表)有1列(审核人,字符列),子表(结算明细),两者通过id(字符型)连接,现需要一旦父表审核人有的话,子表相关明细记录不增加,不删除,不修改,并锁定,代码如何编写?我在父表的DataColChanged中写代码,请大神们指点

Select Case e.DataCol.Name 
    Case "审核人"
        If e.DataRow.IsNull("审核人") = False Then \'如果总表已经审核
            DataTables("结算明细").AllowAddNew = False 
            DataTables("结算明细").AllowDelete = False 
            DataTables("结算明细").AllowEdit = False 
        End If
End Select

--  作者:有点色
--  发布时间:2017/1/11 10:20:00
--  

 子表beforeAddDataRow

 

Dim cr As Row = Tables("结算总表").Current

If cr.IsNull("审核人") = False Then

    e.Cancel = true

    msgbox("不能新增")

End If

 

 父表datcolchanged事件

 

Select Case e.DataCol.Name
    Case "审核人"
        Dim b As Boolean = e.DataRow.IsNull("审核人")
        DataTables("结算明细").ReplaceFor("_locked", not b,"id = \'" & e.DataRow("id") & "\'")
End Select


--  作者:yeshuping5045
--  发布时间:2017/1/11 16:00:00
--  
谢谢,非常感谢!