以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]锁定关联表中的关联记录  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=120552)

--  作者:njzwm
--  发布时间:2018/6/19 13:36:00
--  [求助]锁定关联表中的关联记录
表A 表B,关联表 表A.表B

设计目的:当表A以及相应的关联表的记录完成后,点击按钮,使得关联表中的相应记录(不是全部记录)锁定,编写了如下程序,但是执行后发现它只锁定了关联表的当前一个记录,并没有锁定关联表中所有的关联记录,为什么,求教大神,谢谢!

Forms("表A窗口").Controls("关联窗口表B").Select
With CurrentTable
    For i As Integer = .TopPosition To .BottomPosition
        .Rows(i).Locked = True
    Next
End With

--  作者:有点甜
--  发布时间:2018/6/19 15:13:00
--  
 
With Tables("表A.表B")
    For i As Integer = 0 To .rows.count-1
        .Rows(i).Locked = True
    Next
End With

--  作者:njzwm
--  发布时间:2018/6/19 16:34:00
--  
问题完满解决,谢谢!
[此贴子已经被作者于2018/6/19 18:07:42编辑过]

--  作者:有点蓝
--  发布时间:2018/6/19 17:51:00
--  
Select Case e.DataCol.name
    Case "项目完成"
        DataTables("表B").ReplaceFor("_locked",e.newvalue,"关联列=\'" & e.DataRow("关联列") & "\'")
        DataTables("表C").ReplaceFor("_locked",e.newvalue,"关联列=\'" & e.DataRow("关联列") & "\'")
End Select

关联列改为实际的关联列名称

--  作者:njzwm
--  发布时间:2018/6/19 18:25:00
--  谢谢!完美!
太谢谢啦,您这个解决方案更简洁,而且同时也解决了“项目完成”状态更改时,相应的表格的lock状态也自动改变成unlock的状态了,非常满意!谢谢!