你的代码写得很乱,应该下面这样写:
Select Case _UserName
Case "H"
Tables("昆自集团员工档案").Visible = False
Tables("人员统计").Visible = False
Tables("员工档案筛选").Visible = False
Tables("职称执业资格").Visible = False
Tables("员工岗级晋升考核评定").Visible = False
Tables("员工请假或假期记录").Visible = False
Tables("员工离职事务").Visible = False
Tables("员工薪酬福利").Visible = False
Case "B"
Tables("员工薪酬福利").Visible = False
Tables("昆自集团员工档案").Cols.Remove("试用工资")
Tables("昆自集团员工档案").Cols.Remove("转正定级")
Tables("昆自集团员工档案").Cols.Remove("目前薪资")
Tables("昆自集团员工档案").Cols.Remove("目前薪级")
Tables("昆自集团员工档案").Cols.Remove("薪资变动记录")
Tables("员工岗级晋升考核评定").Cols.Remove("原岗级")
Tables("员工岗级晋升考核评定").Cols.Remove("申请岗级")
Tables("职称执业资格").Cols.Remove("挂靠")
Tables("职称执业资格").Cols.Remove("挂靠费用")
Case "C","F","G","H"
Tables("员工薪酬福利").Visible = False
End Select
Dim dt As DataTable = DataTables("昆自集团员工档案")
Dim drs As New List(of DataRow)
drs = dt.Select("入职时间 is not Null")
For Each dr As DataRow In drs
dr("工龄") = Math.Round(DateDiff("m",dr("入职时间"),Date.Today())/12,1)
Next
代码放在登陆窗口确定按钮的后面,至于被限制的表依然看得见,是你自己的代码有问题,仔细检查自己的代码逻辑。
[此贴子已经被作者于2012-7-25 14:46:20编辑过]