报表中“名次”栏目该如何填写?(100分)

  • 主题发起人 主题发起人 秋水无痕
  • 开始时间 开始时间

秋水无痕

Unregistered / Unconfirmed
GUEST, unregistred user!
做了一个学生成绩汇总表,用QRExpr控件放各科目的成绩,并计算平均分、总分,现在需要
按总分把名次计算出来,菜鸟又不会了,请大虾们指点一下吧
学号 姓名 语文 数学 …… 平均分 总分 名次
1  张三 10  100     55 110 ?
2  李四 20  90      55 110 ?
因为每个班级的不尽相同,所以科目是从另一个表中读出来的。如果在报表中计算这种方法
不好,还有其它好办法吗?谢谢各位。
 
名次按顺序吗?如果是则你可以用order by 子句排好序,
再在QReport中用TQLlable中动态填入名次。
 
为什么不在总表中多加一个名次字段
算法
某分数的名次=所有高此分数的人的个数+1
 
同意王公子
不过你也可以按积分排序,这是你就可以用报表中的汇总函数
把名次列出来了
不过这个方法不包括有相同积分的情况
是偷懒的
 
在OnBeforePrint中用一變量計數就可以了啊.
 
用一个Query把需要的数据查询出来,包括总分、平均分,并按总分倒排序(Desc)
在Query里建一个计算字段 MingCi,然后在Query的计算事件里写:
procedure TForm1.Query1CalcFields(DataSet: TDataSet);
begin
Query1.FieldByName('MingCi').AsInteger :=Query1.RecNo ;
end;
 
谢谢各位,我再试试。[:D]
 
后退
顶部