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


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

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

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


加好友 发短信
等级:超级版主 帖子:106063 积分:539408 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/10/30 20:15:00 [显示全部帖子]


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


加好友 发短信
等级:超级版主 帖子:106063 积分:539408 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/5 20:50:00 [显示全部帖子]

这段代码想干啥?没看懂

flt = "班级 = '" & dr("班级") & "' and 年级 = '" & dr("年级") & "' and 考试期数 = '" & dr("考试期数") & "'"
            If dc.Index =2 Then
                flt+ = " < "  &  dc.name.split("分")(0)
            ElseIf dc.Index =Tables("统计").Cols.count -1 Then
                flt+ = " >= "  &  dc.name.split("分")(0)
            Else
                flt+ = " >= " &  dc.name.split("分")(0) & " And " & dic(dr("科目")) & " < " & t1.Cols(dc.Index+1).Name.split("分")(0)
            End If
            dr(dc.name) =dt.Compute("Count(姓名)",flt)

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


加好友 发短信
等级:超级版主 帖子:106063 积分:539408 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/5 21:54:00 [显示全部帖子]

同一个问题,26楼那段代码是干嘛用的?您想达到什么效果?

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


加好友 发短信
等级:超级版主 帖子:106063 积分:539408 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/5 22:32:00 [显示全部帖子]

Dim g As New CrossTableBuilder("成绩转置1", DataTables("成绩登记表"))
g.HGroups.AddDef("考试期数")
g.HGroups.AddDef("年级")
g.HGroups.AddDef("班级")
g.HGroups.AddDef("学号")
g.HGroups.AddDef("姓名")
g.VGroups.AddDef("课程名称")
g.Totals.AddDef("分数", "分数")
g.HorizontalTotal = True
g.Build()
MainTable = Tables("成绩转置1")
Tables("成绩转置1").grid.Cols("合计").caption = "总分"
Dim dic As new Dictionary(of String, String)
For Each c As Col In Tables("成绩转置1").cols
    dic.add(c.caption, c.name)
Next
'---------------------------------
Dim fsd As New List(of Integer)



For Each r1 As Row In Tables("自定义统计分数段").Rows
    
    If r1.Checked = False Then
        MessageBox.Show("请定义统计分数段,并把无用的数据删除,否则系统将无法统计运行","提示")
        Return 
    Else
        If r1.Checked Then
            fsd.add(r1("分数段"))
        End If
    End If
    
Next
If fsd.count> 0 Then
    fsd.sort
    Dim dtb As New DataTableBuilder("统计")
    dtb.AddDef("考试期数", Gettype(String))
    dtb.AddDef("年级", Gettype(String))
    dtb.AddDef("班级", Gettype(String))
    dtb.AddDef("科目", Gettype(String), 32)
    For Each fs As Integer In fsd
        dtb.AddDef(fs & "分" & iif(fs = fsd(0), "以下","以上") , Gettype(Integer))
    Next
    dtb.Build()
End If

Dim flt As String
Dim dt As DataTable =DataTables("成绩转置1")
Dim t1 As Table =Tables("统计")
t1.StopRedraw

'Dim bjs As List(of String) = dt.Getvalues("年级|班级|考试期数")
'dt.GetUniqueValues
'For Each flt In bjs
'Dim f As New Filler
'f.SourceTable =DataTables("科目表")
'f.DataTable = t1.DataTable
'f.Fill()
't1.DataTable.ReplaceFor("考试期数",flt,"考试期数 Is null")
't1.DataTable.ReplaceFor("班级",flt,"班级 Is null")
't1.DataTable.ReplaceFor("年级",flt,"年级 Is null")
'Next
Dim bjs As List(of String()) = dt.Getvalues("年级|班级|考试期数")
For Each bj As String() In bjs
    Dim f As New Filler
    f.SourceTable =DataTables("科目表")
    f.DataTable = t1.DataTable
    f.Fill()
    t1.DataTable.ReplaceFor("考试期数",bj(2),"考试期数 Is null")
    t1.DataTable.ReplaceFor("班级",bj(1),"班级 Is null")
    t1.DataTable.ReplaceFor("年级",bj(0),"年级 Is null")
Next


For Each dc As Col In t1.Cols
    If dc.Index > 1 Then
        For Each dr As Row In t1.Rows
            flt = "班级 = '" & dr("班级") & "' and 年级 = '" & dr("年级") & "' and 考试期数 = '" & dr("考试期数") & "'And " & dic(dr("科目"))
            If dc.Index = 4 Then
                flt+ = " < "  &  dc.name.split("分")(0)
            ElseIf dc.Index =Tables("统计").Cols.count -1 Then
                flt+ = " >= "  &  dc.name.split("分")(0)
            ElseIf dc.Index > 4
                flt+ = " >= " &  dc.name.split("分")(0) & " And " & dic(dr("科目")) & " < " & t1.Cols(dc.Index+1).Name.split("分")(0)
            Else
                Continue For
            End If
            dr(dc.name) =dt.Compute("Count(姓名)",flt)
        Next
    End If
Next

t1.DataTable.SysStyles("EmptyArea").BackColor = Color.White
t1.ResumeRedraw
MainTable = t1
Tables("统计_Table2").DataSource = DataTables("统计")

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


加好友 发短信
等级:超级版主 帖子:106063 积分:539408 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/10 12:04:00 [显示全部帖子]

g.Filter = "[课程名称] = '" & str4 & "' and [姓名] = '" & str3 & "'"

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


加好友 发短信
等级:超级版主 帖子:106063 积分:539408 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/10 14:31:00 [显示全部帖子]

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t As Table = Tables("成绩排名表") '定义一个变量t引用数据表
Chart = e.Form.Controls("Chart1") ' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.bar 'XYPlot '图表类型改为Bar(条形)
'Chart.VisualEffect = True
Chart.DataSource = "成绩排名表" '设置绑定表
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.AxisX.Major = 10
Chart.AxisY.Major = 200

Series = Chart.SeriesList.Add() '增加一个图系
Series.Text = c.Caption  ' Name '设置图系的标题
Series.X.DataField = "考试期数" 'X轴绑定到产品列
Series.Y.DataField = forms("统计").Controls("ComboBox4").value '设置Y轴的绑定列
Series.DataLabelText = "{#YVAL}"

Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.South
'-------------------------------
Chart.HeaderText = forms("统计").Controls("ComboBox4").value & "成绩变化趋势"
Chart.AxisX.Text = "考试期数"
Chart.AxisY.Text = "考分"

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


加好友 发短信
等级:超级版主 帖子:106063 积分:539408 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/10 16:03:00 [显示全部帖子]

请上传具体实例说明

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


加好友 发短信
等级:超级版主 帖子:106063 积分:539408 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/10 16:26:00 [显示全部帖子]

Dim dict As new Dictionary(of String,String)
For Each dc As DataCol In DataTables("成绩排名表").DataCols
    If dc.Caption > "" Then
    dict.Add(dc.Caption,dc.Name)
    End If
Next
Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t As Table = Tables("成绩排名表") '定义一个变量t引用数据表
Chart = e.Form.Controls("Chart1") ' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.bar 'XYPlot '图表类型改为Bar(条形)
'Chart.VisualEffect = True
Chart.DataSource = "成绩排名表" '设置绑定表
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.AxisX.Major = 10
Chart.AxisY.Major = 200

Series = Chart.SeriesList.Add() '增加一个图系
Series.Text = str4 ' Name '设置图系的标题
Series.X.DataField = "考试期数" 'X轴绑定到产品列
Series.Y.DataField = dict(str4) '设置Y轴的绑定列
Series.DataLabelText = "{#YVAL}"


Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.South
'-------------------------------
Chart.HeaderText = forms("统计").Controls("ComboBox4").value & "成绩变化趋势"
Chart.AxisX.Text = "考试期数"
Chart.AxisY.Text = "考分"

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


加好友 发短信
等级:超级版主 帖子:106063 积分:539408 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/16 20:15:00 [显示全部帖子]

工程师的代码没有问题,贴出您写的代码

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


加好友 发短信
等级:超级版主 帖子:106063 积分:539408 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/16 21:04:00 [显示全部帖子]

上传具体实例说明

 回到顶部
总数 17 1 2 下一页