以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关联表的父表记录锁定,怎样把对应的子表记录也锁定? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=157815) |
-- 作者:hitzfeld -- 发布时间:2020/10/30 4:09:00 -- 关联表的父表记录锁定,怎样把对应的子表记录也锁定? 父表与子表存在一对多的关系,生成记录后父表的记录锁定容易,但是对应的子表记录要怎么锁定? |
-- 作者:有点蓝 -- 发布时间:2020/10/30 8:49:00 -- http://www.foxtable.com/webhelp/topics/0636.htm |
-- 作者:hitzfeld -- 发布时间:2020/10/31 2:27:00 -- 蓝老师好,我做的是在一个独立窗口中的一个“审核”按钮,点击审核,则锁定当前父表记录,同时要锁定对应的子表记录。 但是您的链接中的这个代码要写在DataRowLockedChanged事件
For Each dr As DataRow In e.DataRow.GetChildRows("订单明细") dr.Locked = e.DataRow.Locked Next 如果这样,我点击“审核”之后,子表对应记录没有锁定。如果把这个代码放在按钮里面则报错。我改了下面的代码: Tables("采购单").Current("审核") = "已审核" Tables("采购单").Current.Locked = True Dim drs As List(Of DataRow) drs = DataTables("采购单").DataRows(0).GetChildRows("采购明细") For Each dr As DataRow In drs dr.Locked = True Next msgbox("已审核") 但是锁定的是采购明细表的第一条记录?而不是主表当前记录对应的第一条记录?不知道错在哪里?请您指点下。谢谢! |
-- 作者:有点蓝 -- 发布时间:2020/10/31 10:13:00 -- Dim drs As List(Of DataRow) drs = Tables("采购单").Current.DataRow.GetChildRows("采购明细")
|
-- 作者:hitzfeld -- 发布时间:2020/10/31 12:50:00 -- 以下是引用有点蓝在2020/10/31 10:13:00的发言: Dim drs As List(Of DataRow) drs = Tables("采购单").Current.DataRow.GetChildRows("采购明细")
我晕死哦!我离这个方案就差一点点!!!!我做实验的时候曾经写过:drs = Tables("采购单").Current.Row.GetChildRows("采购明细"),报错。 蓝老师,不是说datatables对应datarow,tables对应row吗?为什么这里可以用tables对应datarow???
|
-- 作者:有点蓝 -- 发布时间:2020/10/31 14:00:00 -- http://www.foxtable.com/webhelp/topics/0594.htm |