求助:数据统计中的遇到的一个难题~~

AppleBBS 2005-07-27 11:11:13
数据库中有2条纪录(Access数据库)
UserName IfAudited
NanShan 0,1,2,3,1,4
NanShan 1,2,1

其中0 代表10分,1代表20分,2代表30分,3代表40分,4代表50分

我怎么算出用户NanShan 标志为1的总分数?按照上面的数据标志为1的总分应该是80分(2条数据总共包括4个1)

...全文
127 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
haver.G 2005-07-27
  • 打赏
  • 举报
回复
用Split把ifAudited存入数组。循环数组遇到1便加20就可以了。
chjpeng 2005-07-27
  • 打赏
  • 举报
回复
'//其中0 代表10分,1代表20分,2代表30分,3代表40分,4代表50分

'//按照你的算法,用flag代替0,1,2,3,4,5; k为次数
GetScoreTotal=(cint(flag)*10+10)*k

结果才会正确啊
^_^
AppleBBS 2005-07-27
  • 打赏
  • 举报
回复
感谢 chjpeng(鹏&NULL) ,问题解决。。。不过你的函数里的最后一句不对 应该是
function GetScoreTotal(userIA,flag)
dim strTemp,k
k=0
strTemp=split(userIA,",")
for i=0 to ubound(strTemp)
if CStr(strTemp(i))=CStr(flag)
k=k+1
end if
next
GetScoreTotal=10*k
end function
尚和空四 2005-07-27
  • 打赏
  • 举报
回复
取出所有的1
放入数组中
然后统计
chjpeng 2005-07-27
  • 打赏
  • 举报
回复
userIA=""
do while not rs.eof
userIA=userIA & "," & rs("IfAudited")
rs.movenext
loop

scoreTotal=0
scoreTotal=GetScoreTotal(userIA,"1") '总分

function GetScoreTotal(userIA,flag)
dim strTemp,k
k=0
strTemp=split(userIA,",")
for i=0 to ubound(strTemp)
if strTemp(i)=flag
k=k+1
end if
next
GetScoreTotal=(cint(flag)*10+10)*k
end function
AppleBBS 2005-07-27
  • 打赏
  • 举报
回复
用循环得到所有的 这个就不知道怎么循环了 晕啊
antiking 2005-07-27
  • 打赏
  • 举报
回复
帮你up下,这个确实很麻烦.我觉得用split先分割出来.得到一条记录的然后在用循环得到所有的.

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧