Foxtable(狐表)用户栏目专家坐堂 → 报表的格式转换


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

主题:报表的格式转换

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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15278 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/10/31 17:03:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:横表换成纵表1.foxdb


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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15278 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/10/31 17:10:00 [只看该作者]

怎么定位一个单元格


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2015/10/31 18:10:00 [只看该作者]

For Each km As String In kms
   
    Dim dr2 As DataRow = DataTables("表B").AddNew()
    dr2("项目") = km
    For i As Integer = 0 To DataTables("利润表").DataRows.Count - 1
        dr2(Format(DataTables("利润表").DataRows(i)("发生日期"), "yyyy/M/d H:mm:ss")) = DataTables("利润表").DataRows(i)(km)
   
    Next
   
Next

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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15278 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/10/31 18:50:00 [只看该作者]

我想通过以下代码实现功能:1、从利润表提取列组成一个数组,然后形成新表B的行;2、把生成的表B的数据绑定到窗口1的table中。通过红色代码生成表B提示错误,不用红色代码用黄色代码可以生成三行,也可以绑定的窗口中,但是只是一个空表。

Forms("窗口1").open
Dim dtb As New DataTableBuilder("表B")
dtb.AddDef("项目", Gettype(String), 30)
For Each v As String In DataTables("利润表").GetV alues("发生日期")
    dtb.AddDef(v, Gettype(Double))
Next
dtb.Build()
Dim nms() As String = {"营业收入","营业成本","营业税金及附加"}
'Dim cnt As Integer = DataTables("利润表").DataCols.Count - 1
'Dim nms(cnt-1) As String
'For i As Integer = 0 To cnt - 1
    'nms(i) = DataTables("利润表").DataCols(i).name
'Next
For Each nm As String In nms
    Dim dr2 As DataRow = DataTables("表B").AddNew()
    For Each dr1 As DataRow In DataTables("利润表").DataRows
       
        dr2("项目") = nm
        dr2(dr1("发生日期"))=dr1(nm)
    Next
Next
Tables("窗口1_Table1").DataSource = dtb.Build DataSource()
'Tables("窗口1_Table1").Fill("Sel ect * From {订单}", False)


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


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2015/10/31 23:13:00 [只看该作者]


Forms("窗口1").open
Dim dtb As New DataTableBuilder("表B")
dtb.AddDef("项目", Gettype(String), 30)
For Each v As String In DataTables("利润表").GetV alues("发生日期")
    dtb.AddDef(v, Gettype(Double))
Next
dtb.Build()
Dim nms() As String = {"营业收入","营业成本","营业税金及附加"}
For Each nm As String In nms
    Dim dr2 As DataRow = DataTables("表B").AddNew()
    dr2("项目") = nm
    For Each cl As Col In Tables("表B").cols
        If cl.name <> "项目"
            dr2(cl.name) = DataTables("利润表").compute("sum(" & dr2("项目") & ")","发生日期 = #" & cl.name & "# ")
        End If
    Next
Next
Tables("窗口1_Table1").DataSource = dtb.Build DataSource()

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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15278 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/10/31 23:49:00 [只看该作者]

不行呀,还是显示不出来数据,只有一个空白表格


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2015/11/2 9:08:00 [只看该作者]

上传例子

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/2 10:24:00 [只看该作者]

 

Forms("窗口1").open
Dim dtb As New DataTableBuilder("表B")
dtb.AddDef("项目", Gettype(String), 30)
For Each v As String In DataTables("利润表").GetValues("发生日期")
    dtb.AddDef(v, Gettype(Double))
Next
dtb.Build()
Dim nms() As String = {"营业收入","营业成本","营业税金及附加"}
For Each nm As String In nms
    Dim dr2 As DataRow = DataTables("表B").AddNew()
    dr2("项目") = nm
    For Each cl As Col In Tables("表B").cols
        If cl.name <> "项目"
            dr2(cl.name) = DataTables("利润表").compute("sum(" & dr2("项目") & ")","发生日期 = #" & cl.name & "# ")
        End If
    Next
Next
Tables("窗口1_Table1").DataSource = DataTables("表B")


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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15278 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/11/2 15:30:00 [只看该作者]

我想先对利润的列标题做了一循环,把利润表的列标题自动生成数组nms(),然后再转换为表格式

'Dim cnt As Integer = DataTables("利润表").DataCols.Count - 1
'Dim nms() As String
'For i As Integer = 0 To cnt - 1
    'nms(i) = DataTables("利润表").DataCols(i).name
'Next
For Each nm As String In nms
    Dim dr2 As DataRow = DataTables("表B").AddNew()
    dr2("项目") = nm
    For Each cl As Col In Tables("表B").cols
        If cl.name <> "项目"
            dr2(cl.name) = DataTables("利润表").compute("sum(" & dr2("项目") & ")","发生日期 = #" & cl.name & "# ")
        End If
    Next
Next
Tables("窗口1_Table1").DataSource = DataTables("表B")

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:横表换成纵表1.foxdb


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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15278 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/11/2 15:31:00 [只看该作者]

提示错误,

 回到顶部
总数 25 上一页 1 2 3 下一页