实例中存在下面的问题,如何解决?
需求:
1-如果当前登录用户是经办人,只能编辑窗口1上经办人意见文本框,其他方文本框均不可编辑;
2-如果当前登录用户是直接上级,只能编辑窗口1上直接上级意见文本框,其他方文本框均不可编辑;
3-如果当前登录用户是间接上级,只能编辑窗口1上间接上级意见文本框,其他方文本框均不可编辑;
窗口上现有代码无法实现,如何改?
2.需求;窗口2上表双击打开窗口1后,停靠在窗口2前面
现有代码执行,窗口2上表双击打开窗口1后,停靠在窗口2后面,不符合需求,
如何改才能达到需求?
你这个逻辑好乱,同一个人有多个职务,你就没法去判定改用第1个还是第3个,至少要区分是针对那个表的审核流程用1,那个表的审核流程用3,再说每个表审批流程都可能都不一样,最好是每个表自定义审批流程来实现。
参照我之前的帖子看看
[此贴子已经被作者于2025/4/18 9:09:32编辑过]
窗口2_Table1_DoubleClick
e.Cancel = True
Forms("窗口1").Show()
窗口1_Enter
Dim r As Table = Tables("表F")
Dim c1 As Row = Tables("表F").Current
Dim ct3 As WinForm.Control = e.Sender
Select Case ct3.BindingField
Case "表F.直接意见"
If c1("直接上级") = _UserName Then
ct3.ReadOnly = BooleanEnum.False '允许编辑
Else
ct3.ReadOnly = BooleanEnum.True '禁止编辑
End If
Case "表F.间接意见"
If c1("间接上级") = _UserName Then
ct3.ReadOnly = BooleanEnum.False '允许编辑
Else
ct3.ReadOnly = BooleanEnum.True '禁止编辑
End If
Case "表F.经办意见"
If c1("经办人") = _UserName Then
ct3.ReadOnly = BooleanEnum.False '允许编辑
Else
ct3.ReadOnly = BooleanEnum.True '禁止编辑
End If
End Select
用SQLTables,或ADO模式,下面执行失效,如何改?
窗口1_Enter
Dim r As Table = Tables("窗口_Table1")
Dim c1 As Row = Tables("窗口_Table1").Current
Dim ct3 As WinForm.Control = e.Sender
Select Case ct3.BindingField
Case "窗口_Table1.直接意见"
If c1("直接上级") = _UserName Then
ct3.ReadOnly = BooleanEnum.False '允许编辑
Else
ct3.ReadOnly = BooleanEnum.True '禁止编辑
End If
窗口1_Enter
Dim r As Table = Tables("窗口_Table1")
Dim c1 As Row = Tables("窗口_Table1").Current
Dim ct3 As WinForm.Control = e.Sender
Select Case ct3.BindingField
Case "r.直接意见"
If c1("直接上级") = _UserName Then
ct3.ReadOnly = BooleanEnum.False '允许编辑
Else
ct3.ReadOnly = BooleanEnum.True '禁止编辑
End If
Dim ct3 As WinForm.Control = e.Sendermsgbox(ct3.BindingField)显示什么内容?