以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]打分系统  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=64129)

--  作者:chiniyui
--  发布时间:2015/2/5 15:09:00
--  [求助]打分系统
想设计一种窗口,或直接在表上通过逻辑列打分。不合格的检查项直接是0分,合格就是全分,总分是100。每天都有不同类型的打分。结果可以在“考核结果”表中生成。这也每周或每月可以统计分析分值。 最好对代码有些简要解释,万分感谢!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:打分系统.table


--  作者:Bin
--  发布时间:2015/2/5 15:13:00
--  
这里是提供技术支持的, 不是帮忙设计开发项目的哦.


你具体要怎么做,哪里不懂实现, 根据具体的需求,可以帮你解决具体的问题.

--  作者:chiniyui
--  发布时间:2015/2/5 18:34:00
--  
主要就是根据检查项去打分,在结果表中生成得分
--  作者:y2287958
--  发布时间:2015/2/5 18:41:00
--  
楼主问题很简单但描述不清
--  作者:有点甜
--  发布时间:2015/2/5 19:24:00
--  
以下是引用chiniyui在2015-2-5 18:34:00的发言:
主要就是根据检查项去打分,在结果表中生成得分

 

生成一个表,用来打分

 

Dim dtb As new DataTableBuilder("打分")
Dim str As String = ""
dtb.AddDef("日期", Gettype(Date))
For Each dr As DataRow In DataTables("考核指标").Select("")
    dtb.AddDef(dr("检查项"), Gettype(Boolean))
    dtb.AddDef(dr("检查项") & "_分数", Gettype(Double), cstr(dr("分值")))
    str &= "iif(" & dr("检查项") & " = true, isnull(" & dr("检查项") & "_分数, 0), 0)+"
Next
dtb.AddDef("得分", Gettype(Double), str.trim("+"))
dtb.Build


--  作者:有点甜
--  发布时间:2015/2/5 19:26:00
--  

 把打分内容填回去

 

Dim f As new Filler
f.SourceTable = DataTables("打分") \'指定数据来源
f.SourceCols = "日期,得分" \'指定数据来源列
f.DataTable = DataTables("考核结果") \'指定数据接收表
f.DataCols = "日期,得分" \'指定数据接收列
f.Fill() \'填充数据


--  作者:chiniyui
--  发布时间:2015/2/6 17:31:00
--  
甜老师厉害!!非常受用!拜谢!!图片点击可在新窗口打开查看图片点击可在新窗口打开查看