Foxtable(狐表)用户栏目专家坐堂 → [求助]父表一旦审核审核,子表相关明细不增加,不删除,不修改,并锁定,如何操作?


  共有1145人关注过本帖树形打印复制链接

主题:[求助]父表一旦审核审核,子表相关明细不增加,不删除,不修改,并锁定,如何操作?

帅哥哟,离线,有人找我吗?
yeshuping5045
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:58 积分:571 威望:0 精华:0 注册:2016/12/24 9:59:00
[求助]父表一旦审核审核,子表相关明细不增加,不删除,不修改,并锁定,如何操作?  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:58 积分:571 威望:0 精华:0 注册:2016/12/24 9:59:00
  发帖心情 Post By:2017/1/11 16:00:00 [只看该作者]

谢谢,非常感谢!


 回到顶部