Foxtable(狐表)用户栏目专家坐堂 → combobox,如何设置禁止改变为某个值


  共有1888人关注过本帖树形打印复制链接

主题:combobox,如何设置禁止改变为某个值

帅哥哟,离线,有人找我吗?
zhangjian222200
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
combobox,如何设置禁止改变为某个值  发帖心情 Post By:2016/11/24 9:28:00 [只看该作者]

combobox绑定表,通过下拉菜单改变值,如果之前值为“1”,禁止改变为值“2”,怎么做?
[此贴子已经被作者于2016/11/24 9:31:24编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110624 积分:563022 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/24 9:41:00 [只看该作者]

绑定的到表格DataColChanging事件处理,http://www.foxtable.com/webhelp/scr/0624.htm

 回到顶部
帅哥哟,离线,有人找我吗?
有点青
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:573 积分:2961 威望:0 精华:0 注册:2016/10/27 14:33:00
  发帖心情 Post By:2016/11/24 9:49:00 [只看该作者]

 你可以去编写 TextChanged 或者 Validating 事件

 

If Tables("表A").Current("第一列") = "1" Then

    If e.Sender.Text = "2" Then

         e.Sender.Text = 1

         msgbox("不能修改为2")

    End If

End If


 回到顶部
帅哥哟,离线,有人找我吗?
zhangjian222200
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2016/11/24 10:49:00 [只看该作者]

根据3楼的方法处理了,在窗口测试,提示错误

.NET Framework 版本:2.0.50727.3655
Foxtable 版本:2016.7.29.1
错误所在事件:窗口,男生资料主窗口,cmbhuiydj,TextChanged
详细错误信息:
重载决策失败,因为没有 Public“=”可以用这些参数调用:
    'Public Shared Operator =(a As String, b As String) As Boolean':
        与参数“a”匹配的参数无法从“ComboBox”转换为“String”。


 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110624 积分:563022 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/24 11:54:00 [只看该作者]

贴出你的错误代码

 回到顶部
帅哥哟,离线,有人找我吗?
zhangjian222200
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2016/11/24 12:07:00 [只看该作者]

以下代码写在,窗口名:男生资料主窗口;控件类型:combobox ,控件名:cmbhuiydj,事件:textchanged

'会员等级:相应的变化
Select Case user.name
    Case "admin"
        If Tables("Tablenanszl").Current("会员等级") = "未注册" Then      
            If e.Sender.Text = "普通会员" Then                             '当前会员等级:未注册,不能改为:普通会员
                e.Sender.Text = "未注册"
                msgbox("当前会员等级:未注册,不能改为:普通会员")
            ElseIf e.Sender.Text = "中级会员" Then                         '当前会员等级:未注册,不能改为:中级会员
                e.Sender.Text = "未注册"
                msgbox("当前会员等级:未注册,不能改为:中级会员")
            End If
        ElseIf Tables("Tablenanszl").Current("会员等级") = "普通会员" Then      
            If e.Sender.Text = "未注册" Then                               '当前会员等级:普通会员,不能改为:未注册
                e.Sender.Text = "普通会员"
                msgbox("当前会员等级:普通会员,不能改为:未注册")
            ElseIf e.Sender.Text = "中级会员" Then                         '当前会员等级:普通会员,不能改为:中级会员
                e.Sender.Text = "普通会员"
                msgbox("当前会员等级:普通会员,不能改为:中级会员")
            End If
        ElseIf Tables("Tablenanszl").Current("会员等级") = "中级会员" Then      
            If e.Sender.Text = "未注册" Then                               '当前会员等级:中级会员,不能改为:未注册
                e.Sender.Text = "中级会员"
                msgbox("当前会员等级:中级会员,不能改为:未注册")
            ElseIf e.Sender.Text = "中级会员" Then                         '当前会员等级:中级会员,不能改为:普通会员
                e.Sender.Text = "普通会员"
                msgbox("当前会员等级:中级会员,不能改为:普通会员")
            End If
        End If
End Select
图片点击可在新窗口打开查看此主题相关图片如下:4321.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点青
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:573 积分:2961 威望:0 精华:0 注册:2016/10/27 14:33:00
  发帖心情 Post By:2016/11/24 12:13:00 [只看该作者]

代码应该是没错的。那你加入msgbox调试一下哪一行出错

 

http://www.foxtable.com/webhelp/scr/1485.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
zhangjian222200
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2016/11/24 12:49:00 [只看该作者]

表名调整了,还有这段代码前面的一段代码,有权限设置,处理后,现在正常了


 回到顶部