以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 如何写个遍历的嵌套 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=84269)
|
-- 作者:zhangchi96
-- 发布时间:2016/4/27 12:23:00
-- 如何写个遍历的嵌套
此主题相关图片如下:qq图片20160427122001.png
在窗体中插入了两个表,左表是数据记录,右表是统计结果
想把某一个学校 某一个学科 某一年级的 记录中成绩大于0的统计出来填写在右表中,
好像要
for
for
...
next
next
请教一下怎么写,我写了好多中方式都失败了。请高手们指教。
|
-- 作者:大红袍
-- 发布时间:2016/4/27 14:12:00
--
参考代码
Dim Vals As List(of
String()) Vals = DataTables("来源表").GetValues("产品|客户") For i As Integer = 0 To Vals.Count - 1 Dim dr As DataRow = DataTables("接收表").AddNew() dr("产品") = Vals(i)(0) dr("客户") = Vals(i)(1) Next
|
-- 作者:joe_xgp
-- 发布时间:2016/4/27 15:05:00
--
Dim m As Integer Dim n As Integer m = 0 n = 0 For Each r1 As Row In Tables("A").rows For Each r2 As Row In Tables("B").rows If r2("学校名称") = r1("学校名称") And r2("年级") = r1("年级") And r2("考试号") > 0 Then m = m + 1 If r2("学校名称") = r1("学校名称") And r2("年级") = r1("年级") And r2(r1("学科")) > 0 Then n = n + 1 End If End If Next r1("登分数") = n r1("学生数") = m m = 0 n = 0 Next
|
-- 作者:大红袍
-- 发布时间:2016/4/27 15:11:00
--
如果不会做的话,上传具体foxtable例子吧
|
-- 作者:zhangchi96
-- 发布时间:2016/5/2 20:58:00
--
请问老师一下,我这里统计的是大于0的,如果我把大于0 和等于0的都作为是有分数的(因为有考生的考试分数为0的),只统计没有录入分数的,是不是就用 len(r2(r2("学科"))) > 0 来判断,因为这里属性是整数而不是字符,所以不怎么确定。
[此贴子已经被作者于2016/5/2 22:14:18编辑过]
|
-- 作者:Hyphen
-- 发布时间:2016/5/3 8:38:00
--
整数直接比较
r2(r2("学科")) >= 0
|
-- 作者:zhangchi96
-- 发布时间:2016/5/4 16:05:00
--
用这种方法,在某一记录没有输入的时候,也会认为这个数值是0的,这样输入0和不输入无法区别呢?我要区别不输入数据和输入0,虽然都是0,但输入0是表示该学生参加考试但成绩是0分,不输入0表示该学生没有参加考试
|
-- 作者:大红袍
-- 发布时间:2016/5/4 16:50:00
--
If r2.IsNull(r2("学科")) Then
msgbox("空")
ElseIf r2(r2("学科")) > 0 Then
msgbox("不是0分")
End If
|