Foxtable(狐表)用户栏目专家坐堂 → 转置后的临时表怎么用


  共有14693人关注过本帖树形打印复制链接

主题:转置后的临时表怎么用

帅哥哟,离线,有人找我吗?
有点甜
  101楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/21 19:43:00 [只看该作者]

循环每一行,循环每一列。如果值为0,也就是答错,那就获取合计的值累加。

 

这个是基础语法。如果连这个都不会写,不建议你继续深入,请打好基础再说吧。


 回到顶部
帅哥哟,离线,有人找我吗?
fytea
  102楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:787 积分:6175 威望:0 精华:0 注册:2015/7/25 19:14:00
  发帖心情 Post By:2018/11/22 12:22:00 [只看该作者]

我先做第一步,找出个人答错题的答对的和,放在pc中

试做了一下,还是有问题,你看看

Dim t As Table = Tables("表A")
Dim dr As Row = Tables("表A").Current
Dim nms() As String = {"p1","p2","p3","p4","p5","p6","p7","p9","p8","p10","pc"}
Dim str As String

For nm As Integer = 0 To t.cols.count-1
   
        If dr.IsNull(nm) = 0 Then
            
str = "sum(" & str(dr("pc")) & ")"

    End If
Next

[此贴子已经被作者于2018/11/22 12:25:14编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  103楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/22 12:27:00 [只看该作者]

参考代码,建议先去学基础语法吧。打好基础再继续。

 

Dim t As Table = Tables("表A")
Dim nms() As String = {"p1","p2","p3","p4","p5","p6","p7","p9","p8","p10","pc"}

For Each r As Row In t.Rows
    Dim sum As Double = 0
    For Each c As String In nms
        If r(c) = 0 Then
            sum += t.Compute("sum(" & c & ")", "")
        End If
    Next
    r("错误合计") = sum
Next


 回到顶部
帅哥哟,离线,有人找我吗?
fytea
  104楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:787 积分:6175 威望:0 精华:0 注册:2015/7/25 19:14:00
  发帖心情 Post By:2018/11/22 12:38:00 [只看该作者]

边连边学

 回到顶部
帅哥哟,离线,有人找我吗?
fytea
  105楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:787 积分:6175 威望:0 精华:0 注册:2015/7/25 19:14:00
  发帖心情 Post By:2018/11/22 13:57:00 [只看该作者]

怎么连续运行三次,答案才正确?

也就是按钮点击三次才能正确

[此贴子已经被作者于2018/11/22 14:42:53编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
fytea
  106楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:787 积分:6175 威望:0 精华:0 注册:2015/7/25 19:14:00
  发帖心情 Post By:2018/11/22 16:08:00 [只看该作者]

列排序移动纯在的问题,帮我看看,甜老师

1.下面是列排序后移动列的码,排序有问题,移位起始不知怎么设。

2.答对次数相同的列,首先求出每一个题答错的学生的得分数之和,和较小的列排在左边,不会写

3.如何治遍历指定的列呢

 

 

Dim t As Table = Tables("表A")
Dim nms() As String = {"学生姓名","p1","p2","p3","p4","p5","p6","p7","p9","p8","p10"}

For Each r As Row In Tables("表A").Rows
    Dim max = 0
    For Each c As String In nms
        If Val(r(c)) > max Then
            max = r(c)
            Tables("表A").Cols(r(c)).Move(1)
        End If
    Next
Next

[此贴子已经被作者于2018/11/22 17:59:49编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
fytea
  107楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:787 积分:6175 威望:0 精华:0 注册:2015/7/25 19:14:00
  发帖心情 Post By:2018/11/22 18:01:00 [只看该作者]

帮我看看喽,甜老师

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  108楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/22 18:27:00 [只看该作者]

以下是引用fytea在2018/11/22 16:08:00的发言:

列排序移动纯在的问题,帮我看看,甜老师

1.下面是列排序后移动列的码,排序有问题,移位起始不知怎么设。

2.答对次数相同的列,首先求出每一个题答错的学生的得分数之和,和较小的列排在左边,不会写

3.如何治遍历指定的列呢

 

 

设置两个数组。一个存放合计值,一个存放列名。

得到数组1、数组2以后,对两个数组排序,得到从小到大的列名,循环每一列,移动列,即可。

 

 

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  109楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/22 18:31:00 [只看该作者]

比如代码

 

Dim ary1() = {5,4,3,9,8}
Dim ary2() = {"第一列", "第二列", "第三列", "第四列", "第五列"}
array.sort(ary1, ary2)
For i As Integer = ary2.length-1 To 0 Step -1
    msgbox(ary2(i))
Next

 

这些都是基础知识。功能都是一个个基础知识叠加起来的。你还是先去打基础吧。你越做你越不会做的,不能总叫别人帮你做好。做好你也无法消化。


 回到顶部
帅哥哟,离线,有人找我吗?
fytea
  110楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:787 积分:6175 威望:0 精华:0 注册:2015/7/25 19:14:00
  发帖心情 Post By:2018/11/22 23:37:00 [只看该作者]

两个数组。一个存放合计值,一个存放列名,是这样写么?

Dim ary1() = {DataTables("表A").Find("[学生姓名] = '合计'", "" )}
Dim ary2() = {"p1","p2","p3","p4","p5","p6","p7","p9","p8","p10"}


 回到顶部