Foxtable(狐表)用户栏目专家坐堂 → 关联表的父表记录锁定,怎样把对应的子表记录也锁定?


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

主题:关联表的父表记录锁定,怎样把对应的子表记录也锁定?

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


加好友 发短信
等级:二尾狐 帖子:537 积分:5272 威望:0 精华:0 注册:2017/9/1 23:28:00
关联表的父表记录锁定,怎样把对应的子表记录也锁定?  发帖心情 Post By:2020/10/30 4:09:00 [只看该作者]

父表与子表存在一对多的关系,生成记录后父表的记录锁定容易,但是对应的子表记录要怎么锁定?

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111424 积分:567196 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/30 8:49:00 [只看该作者]


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


加好友 发短信
等级:二尾狐 帖子:537 积分:5272 威望:0 精华:0 注册:2017/9/1 23:28:00
  发帖心情 Post By: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("已审核")
但是锁定的是采购明细表的第一条记录?而不是主表当前记录对应的第一条记录?不知道错在哪里?请您指点下。谢谢!


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111424 积分:567196 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/31 10:13:00 [只看该作者]

Dim drs As List(Of DataRow)
drs = Tables("采购单").Current.DataRow.GetChildRows("采购明细")

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


加好友 发短信
等级:二尾狐 帖子:537 积分:5272 威望:0 精华:0 注册:2017/9/1 23:28:00
  发帖心情 Post By: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???


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111424 积分:567196 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/31 14:00:00 [只看该作者]


 回到顶部