针对窗口1要求:
1.用户组“管理员”,“部门主管”无编辑权限限制。其余用户组表A全部、表B“图号”,“名称”,“订单号”,“工序班组"列禁止编辑.
2.用户组“1组”权限。表A“工序班组”列=‘A’时,表A.表B可新增行;表A.表B当前行“班组"='A'时,可编辑其余列。
2.用户组“2组”权限。表A“工序班组”列=‘B’时,表A.表B可新增行;表A.表B当前行“班组"='B'时,可编辑其余列。
2.用户组“3组”权限。表A“工序班组”列=‘C’时,表A.表B可新增行;表A.表B当前行“班组"='C'时,可编辑其余列。
2.用户组“4组”权限。表A“工序班组”列=‘D’时,表A.表B可新增行;表A.表B当前行“班组"='D'时,可编辑其余列。
[此贴子已经被作者于2009-12-17 14:44:09编辑过]
新增行已经搞定,多谢C版的葫芦,经我修改,现达到我的意图了:
Dim r1 As Row = Tables("表A").Current
Dim r2 As Row = Tables("表B").Current
Select Case User.Group
Case "1组"
DataTables("表B").AllowAddNew = r1("工序班组") = "A"
'允许编辑指定列代码,下一行代码只是示例
DataTables("表B").DataCols("第五列") .AllowEdit = r2("工序班组") = "A"
Case "2组"
DataTables("表B").AllowAddNew = r1("工序班组") = "B"
'允许编辑指定列代码,下一行代码只是示例
DataTables("表B").DataCols("第五列").AllowEdit = r2("工序班组") = "B"
'其它分组代码可参照上面
End Select
现问题是允许编辑列不对,及红色代码,现在不能正常,表B第五列始终不能编辑,而且我的项目是要n列允许编辑,比如示范的第五列,第六列,代码应该怎么写。
[此贴子已经被作者于2009-12-18 0:32:54编辑过]
红色部分能不能用行锁定代码来写,DataTables("表B") 解除行锁定代码= r2("工序班组") = "B"
我把红色部分删除,在表属性
PrepareEdit事件中加代码:
If e.Row("工序班组") = "A" AndAlso User.Group <> "1组" and User.Group <> "管理员" and User.Group <> "部门主管" Then
e.Cancel = True
End If
If e.Row("工序班组") = "B" AndAlso User.Group <> "2组" and User.Group <> "管理员" and User.Group <> "部门主管" Then
e.Cancel = True
End If
If e.Row("工序班组") = "C" AndAlso User.Group <> "3组" and User.Group <> "管理员" and User.Group <> "部门主管" Then
e.Cancel = True
End If
If e.Row("工序班组") = "D" AndAlso User.Group <> "4组" and User.Group <> "管理员" and User.Group <> "部门主管" Then
e.Cancel = True
End If经测试合格。
[此贴子已经被作者于2009-12-18 1:22:42编辑过]