Foxtable(狐表)用户栏目专家坐堂 → [求助]关于根据分数自动划分的问题请教


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

主题:[求助]关于根据分数自动划分的问题请教

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


加好友 发短信
等级:小狐 帖子:347 积分:3065 威望:0 精华:0 注册:2013/11/19 16:05:00
[求助]关于根据分数自动划分的问题请教  发帖心情 Post By:2016/11/3 14:47:00 [只看该作者]

我制作了一个录入窗口,里面的成绩这个文本框中手动输入分数,那么我想根据输入的分数,后面的等级的文本框中自动根据前面的成绩按照90以上优秀,60-89及格,60以下不及格,直接显示出优秀或及格或不及格,请教在哪里如何写代码???

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


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

成绩这个文本框TextChanged事件

If val(e.Sender.Text) >= 90 Then
    e.Form.Controls("TextBox2").Text = "优秀"
ElseIf val(e.Sender.Text) >= 60 Then
    e.Form.Controls("TextBox2").Text = "及格"
End If

不及格的仿照自己加一下

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


加好友 发短信
等级:小狐 帖子:347 积分:3065 威望:0 精华:0 注册:2013/11/19 16:05:00
  发帖心情 Post By:2016/11/3 15:36:00 [只看该作者]

老师,我用这个代码写入了事件可是没有反应啊??

我写入的代码如下:

If val(e.Sender.Text) >= 90 Then
    e.Form.Controls("等级框").Text = "优秀"
ElseIf val(e.Sender.Text) >= 60 Then
    e.Form.Controls("等级框").Text = "及格"
ElseIf val(e.Sender.Text) < 60 Then
    e.Form.Controls("等级框").Text = "不及格"
End If

 

 

 

还有一个问题,我想根据上边说到的那个等级数据列内容,绘制单元格的字体样式,自定义样式已经设置好了,可是下面这个代码好像有问题,一新增数据就出错关闭,请问如何修改??

If e.Col.Name = "等级" Then
    If e.Row(e.Col.Name) <> "优秀" Then
        e.style = "优秀"

    ElseIf e.Row(e.Col.Name) <> "及格" Then
        e.style = "及格"

    ElseIf e.Row(e.Col.Name) <> "不及格" Then
        e.style = "不及格"
    End If
End If


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/11/3 15:56:00 [只看该作者]

1、你确定是写入了TextChanged事件?加入msgbox弹出看是否触发;

 

2、drawcell代码没问题,报错截图说明


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


加好友 发短信
等级:小狐 帖子:347 积分:3065 威望:0 精华:0 注册:2013/11/19 16:05:00
  发帖心情 Post By:2016/11/3 16:49:00 [只看该作者]

就是说现在一点“录入信息”按钮后,应该打开录入窗口,不仅窗口没有打开,整个程序自动关闭了

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


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

If e.Col.Name = "等级" Then
    If e.Row(e.Col.Name) = "优秀" Then
        e.style = "优秀"

    ElseIf e.Row(e.Col.Name) = "及格" Then
        e.style = "及格"

    ElseIf e.Row(e.Col.Name) = "不及格" Then
        e.style = "不及格"
    End If
End If


或者


If e.Col.Name = "等级" And e.Row.Isnull(e.Col.Name) =False Then

    

    e.style = e.Row(e.Col.Name)

    

End If


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/11/3 18:29:00 [只看该作者]

以下是引用我来看看在2016/11/3 16:49:00的发言:
就是说现在一点“录入信息”按钮后,应该打开录入窗口,不仅窗口没有打开,整个程序自动关闭了

 

这个跟你贴出的代码无关。


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


加好友 发短信
等级:小狐 帖子:347 积分:3065 威望:0 精华:0 注册:2013/11/19 16:05:00
  发帖心情 Post By:2016/11/4 9:11:00 [只看该作者]

蓝老师,现在我这个窗口一点开就是直接关闭整个程序,都没有错误提示。

 

而且我需要的不是说成绩框中输入成绩自动按照优秀等输入,而是“等级”这个文本框根据前面的“成绩”这个文本框中输入的成绩自动填入“优秀”等等级别。

 

If val(e.Sender.Text) >= 90 Then
    e.Form.Controls("TextBox2").Text = "优秀"
ElseIf val(e.Sender.Text) >= 60 Then
    e.Form.Controls("TextBox2").Text = "及格"
End If

 

 

上面这个代码肯定有问题


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


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

单纯从代码来看绝对没有问题。

至于放到你的项目有没有问题那就不知道了,也许触发了其它事件导致死循环了,上例子看看咯

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


加好友 发短信
等级:小狐 帖子:347 积分:3065 威望:0 精华:0 注册:2013/11/19 16:05:00
  发帖心情 Post By:2016/11/4 10:21:00 [只看该作者]

我实在是找不出哪个地方的代码出现错误了,这样,如果我直接从表格中进行录入,不用窗口的方式录入,在表格中的成绩列(整数型)填入成绩后,后面的等级列(字符型)直接根据前面的成绩自动填入“优秀”等级别,如何写代码呢??

 回到顶部
总数 18 1 2 下一页