标题:请老师指点 变量 =合计/次数 次数怎么计算啊
只看楼主
pxinfo
Rank: 1
等 级:新手上路
帖 子:53
专家分:5
注 册:2019-6-30
结帖率:56.25%
已结贴  问题点数:20 回复次数:3 
请老师指点 变量 =合计/次数 次数怎么计算啊
请老师给这个积分算法一点提示吧
请老师给这个积分算法一点提示吧,代码应该怎么写啊?这样的三个表的设计合理吗? 谢谢老师

学生每月成绩作为基础数据表:
ID 姓名  考核时间  理论成绩  操作成绩  合计成绩  录入时间   备注
1  张三  2019-1-1    45          15      60       2019-1-5
1  张三  2019-2-1    55          20      75       2019-2-5
1  张三  2019-3-1    50          30      80       2019-3-5
1  张三  2019-3-5    42.25       22.75   65       2019-3-5 转换结余

奖励积分表
ID 姓名 奖励积分
1  张三   1

兑换积分表
ID 姓名 兑换积分
1  张三   0

积分转换时间表(用于记录学员转换成绩运算的起始时间)
ID 姓名 转换时间
1  张三 2019-3-5

每个月都会有成绩录入,每满150分,且平均分高于60分,转换成一个奖励积分,如果平均分低于60分,则转换成一个兑换积分,

上面三个月的数据加起来有215分,超出150分的部分65分,按照65分的65%(42.25分)转成理论成绩,35%(22.75)转成操作成绩保留在基础数据,累积到下次满150分的运算。

有老师建议:
select 姓名,sum(合计)as 合计   form 表 group by 姓名           ’如果计算平均分不考虑转换结余,增加WHERE语句
 for i = 0 to rs.recordcount -1
if 合计>160 then
    变量 =合计/次数
    select case 变量
        CASE >=60
            合计-160 差额分摊后写入“基础数据表”
              日期写入“积分转换时间表 ”
              奖励积分写入 “奖励积分表”
        CASE <60
            合计-160 差额分摊后写入“基础数据表”
             日期写入“积分转换时间表 ”
              奖励积分写入 “兑换积分表”
    END SELECT
end if
      next   

但是这个:变量 =合计/次数  次数怎么获取呢?有的可能是3次有的可能是4次,根据月成绩来的啊
请老师指点部分代码啊
搜索更多相关主题的帖子: 老师 成绩 转换 积分 次数 
2019-12-24 21:52
yingshu
Rank: 4
等 级:贵宾
威 望:10
帖 子:49
专家分:212
注 册:2018-7-24
得分:7 
select count(姓名) as 次数 from 表 group by 姓名  ’如果计算平均分不考虑转换结余,增加WHERE语句

2019-12-25 08:51
qinxiaose797
Rank: 1
等 级:新手上路
威 望:1
帖 子:3
专家分:7
注 册:2019-12-25
得分:7 
Private Sub Command1_Click()
Dim cj1 As String
Dim cj2 As String
Text3.Text = Val(Text1.Text) + Val(Text2.Text)
cj1 = Text3.Text
Text4.Text = Val(Text3.Text) / 2
cj2 = Text4.Text
pjcj = Text4.Text
If (Text3.Text >= 120) Then
MsgBox "1230"
Select Case pjcj
Case Is >= 65
MsgBox "成绩平均值合格"
Case Is < 65
MsgBox "成绩平均值不合格"
End Select
End If


我就不应该打开这个帖子的 代码到这里就不会写了。
希望对你有帮助吧,我也是一个初学者。
目前判断是否总分合格,然后总分求平均值。
再判断平均值,到平均值这里需要一个储层高于或等于平均值的函数。
再将名字,各科成绩。总分,平均分,函数,储层。
下面的只是构思,代码完全没有头绪。
233,无奈,
2019-12-26 19:06
qinxiaose797
Rank: 1
等 级:新手上路
威 望:1
帖 子:3
专家分:7
注 册:2019-12-25
得分:0 
回复 3楼 qinxiaose797
程序代码:
Dim x As Integer
Dim i As Integer


Private Sub Command1_Click()
Text3.Text = Val(Text1.Text) + Val(Text2.Text)
Text4.Text = Val(Text3.Text) / 2
pjcj = Text4.Text
qmcj = Text3.Text
If qmcj >= 120 Then
Select Case pjcj
Case Is >= 65
i = i + 1
If i > 1 Then
MsgBox Text5.Text & "  " & "平均分合格" & "  " & "奖励加1"
End If
Case Is < 65
x = x + 1
If x > 1 Then
MsgBox Text5.Text & "  " & "平均分不合格" & "  " & "奖励-1"
End If
End Select
End If



End Sub



Private Sub Form_Load()
Dim pjcj As String
Dim pmcj As String
i = 1
x = 1


End Sub




好了 我将前面的完善了,接下来的我完全没有头绪了。主要还没有学到那。233
2019-12-27 14:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-498616-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.113214 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved