Foxtable(狐表)用户栏目专家坐堂 → 判断列类型问题


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

主题:判断列类型问题

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


加好友 发短信
等级:小狐 帖子:393 积分:3723 威望:0 精华:0 注册:2013/10/9 23:09:00
  发帖心情 Post By:2015/8/13 13:26:00 [只看该作者]

您指的备注列转成字符列是指什么?还是说的表达式列吗?补充一下啊,被统计表是由用户自己设计的,不是在程序里将表写死的,所以用户设计表结构的时候,不排除其大量使用了备注型列。

我的意思是如果外部数据源动态生成的表的备注型列能够做完分组列进行统计,当然就ok,如果不能,则我会设计程序限制用户将备注型列做为分组列。

[此贴子已经被作者于2015/8/13 13:57:36编辑过]

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


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

汗。

 

Groups.AddExp("备注列", "convert(varchar, 备注列)")

 

----------------------------

 

不要用sqlcommand加入表啊,用fill函数啊


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


加好友 发短信
等级:小狐 帖子:393 积分:3723 威望:0 精华:0 注册:2013/10/9 23:09:00
  发帖心情 Post By:2015/8/13 15:08:00 [只看该作者]

            Dim c As New SQLCrossTableBuilder(表名, 被统计表名)
            c.ConnectionName=全局变量当前模板数据源
            c.OrderByTotal = True

            For Each 水平分组列 As String In 水平分组列集合
                If dt1.DataCols.Contains(水平分组列) Then
                    c.HGroups.AddExp(水平分组列,"convert(varchar," & 水平分组列 & ")")

                endi f

            Next
            c.HorizontalTotal = 是否水平汇总
            c.VerticalTotal = 是否垂直汇总
            c.HorizontalProportion =是否显示水平比例
            c.VerticalProportion = 是否显示垂直比例
            c.Filter=f
             c.Build

 

 

老大,不灵,只要水平分组列中出现备注型列,统计出的表就是个空表!


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


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

汗,我用sqlserver测试没有问题

 

Dim b As New SQLCrossTableBuilder("统计表1","表A")
b.ConnectionName = "ddd"
b.HGroups.AddExp("第二列","convert(varchar,第二列)")
b.VGroups.AddDef("第一列")
b.Totals.AddDef("_sortkey")
b.Build
MainTable = Tables("统计表1")
       


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


加好友 发短信
等级:小狐 帖子:393 积分:3723 威望:0 精华:0 注册:2013/10/9 23:09:00
  发帖心情 Post By:2015/8/13 16:37:00 [只看该作者]

那可能就是出在动态表和静态表的问题上,你的被统计表“表A”应该是个静态表,你把他删除掉,然后动态生成一个表A,再试试,就不能统计备注型列了!我的数据库也是sql server

[此贴子已经被作者于2015/8/13 16:38:24编辑过]

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


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

汗,表A是指数据库的表名,没有静态动态的说法

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


加好友 发短信
等级:小狐 帖子:393 积分:3723 威望:0 精华:0 注册:2013/10/9 23:09:00
  发帖心情 Post By:2015/8/13 16:53:00 [只看该作者]

对呀,说的也是,指定了数据源,表A就是个数据库的表名,我怎么用备注列当分组列统就不行呢?难道还跟sql server数据库版本有关系不成?成谜团了!

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


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

直接测试14楼代码。

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


加好友 发短信
等级:小狐 帖子:393 积分:3723 威望:0 精华:0 注册:2013/10/9 23:09:00
  发帖心情 Post By:2015/8/13 16:56:00 [只看该作者]

    c.HGroups.AddExp(水平分组列,"convert(varchar," & 水平分组列 & ")")   我这句该没错呀!

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


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

直接用14楼测试,不可能有问题。

 

要不你就做个例子上来测试。


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