以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]关于根据分数自动划分的问题请教 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=92445) |
-- 作者:我来看看 -- 发布时间:2016/11/3 14:47:00 -- [求助]关于根据分数自动划分的问题请教 我制作了一个录入窗口,里面的成绩这个文本框中手动输入分数,那么我想根据输入的分数,后面的等级的文本框中自动根据前面的成绩按照90以上优秀,60-89及格,60以下不及格,直接显示出优秀或及格或不及格,请教在哪里如何写代码??? |
-- 作者:有点蓝 -- 发布时间: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 不及格的仿照自己加一下
|
-- 作者:我来看看 -- 发布时间: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 ElseIf e.Row(e.Col.Name) <> "及格" Then ElseIf e.Row(e.Col.Name) <> "不及格" Then |
-- 作者:有点色 -- 发布时间:2016/11/3 15:56:00 -- 1、你确定是写入了TextChanged事件?加入msgbox弹出看是否触发;
2、drawcell代码没问题,报错截图说明 |
-- 作者:我来看看 -- 发布时间:2016/11/3 16:49:00 -- 就是说现在一点“录入信息”按钮后,应该打开录入窗口,不仅窗口没有打开,整个程序自动关闭了 |
-- 作者:有点蓝 -- 发布时间:2016/11/3 18:03:00 -- If e.Col.Name = "等级" Then ElseIf e.Row(e.Col.Name) = "及格" Then ElseIf e.Row(e.Col.Name) = "不及格" Then 或者 If e.Col.Name = "等级" And e.Row.Isnull(e.Col.Name) =False Then
e.style = e.Row(e.Col.Name)
End If |
-- 作者:有点色 -- 发布时间:2016/11/3 18:29:00 -- 以下是引用我来看看在2016/11/3 16:49:00的发言:
就是说现在一点“录入信息”按钮后,应该打开录入窗口,不仅窗口没有打开,整个程序自动关闭了
这个跟你贴出的代码无关。 |
-- 作者:我来看看 -- 发布时间: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
上面这个代码肯定有问题 |
-- 作者:有点蓝 -- 发布时间:2016/11/4 9:41:00 -- 单纯从代码来看绝对没有问题。 至于放到你的项目有没有问题那就不知道了,也许触发了其它事件导致死循环了,上例子看看咯
|
-- 作者:我来看看 -- 发布时间:2016/11/4 10:21:00 -- 我实在是找不出哪个地方的代码出现错误了,这样,如果我直接从表格中进行录入,不用窗口的方式录入,在表格中的成绩列(整数型)填入成绩后,后面的等级列(字符型)直接根据前面的成绩自动填入“优秀”等级别,如何写代码呢?? |