以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  控制窗口中的button按钮不显示提示错误  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=146049)

--  作者:透明人生
--  发布时间:2020/2/15 0:26:00
--  控制窗口中的button按钮不显示提示错误
用户注册表是可视授权表。

For Each t As Table In Tables
t.Visible = True
 t.AllowEdit = True
 For Each c As Col In t.Cols
 c.Visible = True
 c.AllowEdit = True
 Next
Next
Tables("用户注册表").Visible = (User.Type <> UserTypeEnum.User )
If User.Type = UserTypeEnum.User Then
 For Each drr As DataRow In DataTables("用户注册表").Select("分组名 = \'" & _UserGroup & "\'" )
If drr("主窗口项目") Then
 Forms(drr("表名")).Controls(drr("主窗口项目")).Visible = Not drr("不可见")
 End If
Next
End If

提示:从字符串“统考成绩表”到类型“Boolean”的转换无效。(统考成绩表在“主窗口项目” 列中,窗口中有多个button按钮,如:统考成绩表,这按钮是打开统考成绩表。)
[此贴子已经被作者于2020/2/15 0:31:07编辑过]

--  作者:y2287958
--  发布时间:2020/2/15 8:22:00
--  
提示已经很明白,就是列类型不同,不能转换
--  作者:有点蓝
--  发布时间:2020/2/15 8:49:00
--  
If drr("主窗口项目") Then是用来判断什么的?这个"主窗口项目"应该是字符串吧,是不是应该这样

If drr.isnull("主窗口项目") = false Then

--  作者:透明人生
--  发布时间:2020/2/15 14:29:00
--  
If drr("主窗口项目") Then   是选择内容,“主窗口项目”中字符,其中字符就是主窗口中button按钮的名称。
 现在改为:If drr.isnull("主窗口项目") = false Then   ,提示找不到主窗口控件。

--  作者:有点蓝
--  发布时间:2020/2/15 14:43:00
--  
说明窗口名称,或者按钮名称不正确

For Each drr As DataRow In DataTables("用户注册表").Select("分组名 = \'" & _UserGroup & "\'" )
msgbox(drr("表名") & "," & drr("主窗口项目")
If drr("主窗口项目") Then
 Forms(drr("表名")).Controls(drr("主窗口项目")).Visible = Not drr("不可见")
 End If
Next


--  作者:透明人生
--  发布时间:2020/2/15 22:56:00
--  
谢谢,老师!我现在直接改为控制表中的列。对于这种方法,以后我再试试。