Foxtable(狐表)用户栏目专家坐堂 → 后台分组统计的时候能不能关连另外一个表的列


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

主题:后台分组统计的时候能不能关连另外一个表的列

帅哥,在线噢!
有点蓝
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107523 积分:546900 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/12/29 15:24:00 [只看该作者]

Filter是什么内容?msgbox(Filter)

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


加好友 发短信
等级:四尾狐 帖子:822 积分:5782 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/12/29 15:52:00 [只看该作者]

这是 filter 的代码

Dim Filter As String
With Tables("表A")
    If .Value IsNot Nothing Then
    Filter = "支付期间 like '季度付*'"
   vars("支付期间") = .Value
   End If
End With
With e.Form.Controls("DateTimePicker1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 >= #" & .Value & "#"
        vars("起始日期") = .Value
    End If
End With
With e.Form.Controls("DateTimePicker2")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 <= #" & .Value & "#"
        vars("终止日期") = .Value
    End If
End With
If Filter > "" Then

 回到顶部
帅哥,在线噢!
有点蓝
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107523 积分:546900 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/12/29 16:24:00 [只看该作者]

我测试没有问题。请上传实例说明

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


加好友 发短信
等级:四尾狐 帖子:822 积分:5782 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/12/29 17:14:00 [只看该作者]

恩恩, 好奇怪, 我做了一个sample, 运行结果完全没问题。
但在实例中就有错误, 始终显示:

统计错误,错误原因:
在查询定义的 selec t 列表中,别名 “编号” 循环引用

帮我分析一下是什么原因呢?

列名, 表名都核对了很多次,没有错误啊。
[此贴子已经被作者于2018/12/29 17:18:58编辑过]

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


加好友 发短信
等级:四尾狐 帖子:822 积分:5782 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/12/29 17:57:00 [只看该作者]

filter 里面有这样的筛选:

With Tables("表A")
    If .Value IsNot Nothing Then
    Filter = "支付期间 like '季度付%'"    ‘是不是这句有问题?
   vars("支付期间") = .Value
   End If
End With

现在出现这样的提示:
该字符串未被识别为有效的 DateTime。不能在 支付期间 列中存储 <>。所需类型是 DateTime。
[此贴子已经被作者于2018/12/29 18:08:42编辑过]

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


加好友 发短信
等级:四尾狐 帖子:822 积分:5782 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/12/29 20:46:00 [只看该作者]

帮我看一下,谢谢


[此贴子已经被作者于2018/12/29 21:38:16编辑过]

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


加好友 发短信
等级:四尾狐 帖子:822 积分:5782 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/12/29 21:21:00 [只看该作者]

If Filter > "" Then
    Dim b As New SQLGroupTableBuilder("统计表1","表D")
    b.C
    b.FromServer = True
    'b.filter = filter & " And 支付方式 Like '预付%'"   '' 这里是怎么错了.....................:???
    b.addtable("表D","编号","表E","编号")
    b.Groups.AddDef("{表D}.编号") '根据产品分组
    b.groups.adddef("IC代码")   ‘ b.groups.adddef("IC代码", Gettype(Double)) 不能改成这样
    b.Totals.AddDef("金额") '对数量进行统计
    b.Groups.AddDef("客户姓名")
    b.Groups.AddDef("{表E}.支付方式")
    b.Totals.AddDef("{表D}.编号",AggregateEnum.Count,"次数")
    Forms("表D").controls("Table1").Table.Datasource = b.BuildDataSource
    forms("表D").controls("table1").Table.grid.Cols("IC代码").width = 120
    DataTables("表D_Table1").DataCols("IC代码").SetFormat("00.000000")      ' 这里小数数值显示不对
    forms("表D").controls("table1").Table.filter = "支付方式 like '预付%'" 
    DataTables("表D_Table1").load()
End If


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


[此贴子已经被作者于2018/12/29 21:53:16编辑过]

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


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

    Dim b As New SQLGroupTableBuilder("统计表1","表D")
    b.ConnectionName = "acc_test"
    b.FromServer = True
    b.filter = filter & " And {表D}.支付方式 Like '预付%'"   '' 这里是怎么错了.....................:???
    b.addtable("表D","编号","表E","编号")
    b.Groups.AddDef("{表D}.编号") '根据产品分组
    b.groups.adddef("IC代码")
    b.Totals.AddDef("金额") '对数量进行统计
    b.Groups.AddDef("客户姓名")
    b.Groups.AddDef("{表E}.支付方式")
    b.Totals.AddDef("{表D}.编号",AggregateEnum.Count,"次数")
    Forms("表D").controls("Table1").Table.Datasource = b.BuildDataSource
    forms("表D").controls("table1").Table.grid.Cols("IC代码").width = 120
    DataTables("表D_Table1").DataCols("IC代码").SetFormat("0.00")      ' 这里小数数值显示不对
    DataTables("表D_Table1").loadfilter = "支付方式 like '预付%'"     'filter不起作用
    DataTables("表D_Table1").load()

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


加好友 发短信
等级:四尾狐 帖子:822 积分:5782 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/12/30 10:24:00 [只看该作者]

甜老师,我要小数位数6位

DataTables("表D_Table1").DataCols("IC代码").SetFormat("0.000000")

但是统计表显示的数值和 表E 里面的不一致,请查看发上来的示例

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


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

加上代码

 

b.Decimals = 6


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