Foxtable(狐表)用户栏目专家坐堂 → 请教SQLJoinTableBuilder统计问题


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

主题:请教SQLJoinTableBuilder统计问题

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


加好友 发短信
等级:小狐 帖子:300 积分:2307 威望:0 精华:0 注册:2012/11/14 11:25:00
请教SQLJoinTableBuilder统计问题  发帖心情 Post By:2013/10/15 9:04:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:库存管理_(1).table

使用SQLJoinTableBuilder统计入库和出库数量时出现数据错误,同时希望同一物资编码的物资能够只显示一次,规格型号或单位有不全
的情况请教如何处理?


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/10/15 9:24:00 [只看该作者]

你还是说说你想怎么统计吧,还不如重新帮你写.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/10/15 10:10:00 [只看该作者]

.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:库存管理_(1).table


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


加好友 发短信
等级:小狐 帖子:300 积分:2307 威望:0 精华:0 注册:2012/11/14 11:25:00
  发帖心情 Post By:2013/10/15 20:53:00 [只看该作者]

我感觉自己设计的代码就是一个筛选条件不对,一天了都没有做好,
上面代码是BIN老师给提供了一个思路,我想通过SQLGroupTableBuilder或SQLJoinTableBuilder完善自己的代码   麻烦各位老师帮忙指导一下

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


加好友 发短信
等级:小狐 帖子:300 积分:2307 威望:0 精华:0 注册:2012/11/14 11:25:00
  发帖心情 Post By:2013/10/15 21:03:00 [只看该作者]

 Dim dt As Date = Date.Today
    Dim dt1 As Date = New Date(dt.AddYears(-1).Year,12,26)
    Dim dt2 As Date = New Date(dt.Year,12,25)
    Dim Filter As String
    Dim dc As DataCol=DataTables("蒸发入库").DataCols("物资编码")
    Dim dr As DataRow
    Dim drs As List(of DataRow)= DataTables("蒸发入库").Select(" ")
    For i As Integer = 0 To drs.Count - 1
        Filter = "{蒸发入库}.日期 >= #" & dt1 & "# And {蒸发入库}.日期 <= #" & dt2 & "# And {蒸发入库}.物资编码 = '" & drs(i)(dc.name) & "'"
这样写筛选条件,每次只执行第一行,请教大师指导。

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


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

  看了很久,发觉sqlGroupTableBuilde等实现不了这样库存的统计的,方向错了。楼主别纠结了。

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


加好友 发短信
等级:小狐 帖子:300 积分:2307 威望:0 精华:0 注册:2012/11/14 11:25:00
  发帖心情 Post By:2013/10/15 21:26:00 [只看该作者]

我原来使用sqlGroupTableBuilder设计,代码放在窗口栏中,感觉行不通改用SQLJoinTableBuilder,代码放在MainTableChanged中,执行结果显示很好,后来仔细一看结果不正确,我感觉自己设计的代码筛选条件不对,一天了都没有做好,
Dim dt As Date = Date.Today
    Dim dt1 As Date = New Date(dt.AddYears(-1).Year,12,26)
    Dim dt2 As Date = New Date(dt.Year,12,25)
    Dim Filter As String
    Dim dc As DataCol=DataTables("蒸发入库").DataCols("物资编码")
    Dim dr As DataRow
    Dim drs As List(of DataRow)= DataTables("蒸发入库").Select(" ")
    For i As Integer = 0 To drs.Count - 1
        Filter = "{蒸发入库}.日期 >= #" & dt1 & "# And {蒸发入库}.日期 <= #" & dt2 & "# And {蒸发入库}.物资编码 = '" & drs(i)(dc.name) & "'"
这样写筛选条件,每次只执行第一行,请教大师指导。

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


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

 对于复杂的分组连接查询,sqljointablebuilder也是力不从心的,与其额外加多很多代码去让其执行正确,还不如自己写一条sql语句来得合算。

 sqljointablebuilder本来就是想让问题简单的,不要因此搞得复杂。

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


加好友 发短信
等级:小狐 帖子:300 积分:2307 威望:0 精华:0 注册:2012/11/14 11:25:00
  发帖心情 Post By:2013/10/15 21:48:00 [只看该作者]

自己接触FOXTABLE刚快一年,还在全面熟悉提高阶段,对SQL更是无任何基础,BIN老师提供了一个SQL代码,我自己看不明白,更完善不了,麻烦老师对我的筛选代码指导一下,现在是运行时只生成一行数据,即只执行了一次“物资编码”的筛选条件,如果筛选条件达到要求后还是实现不了,我可以暂时使用以前的关联方法,然后再慢慢完善,非常感谢老师的指导。

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


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

 再看了下你的项目,这个无关筛选的问题。各表有多行重复的数据,连接以后,表也是多行的,如果你的数据是正确的,你最后筛选一次就行。

 这里的filter,指的是要加入去统计的数据,肯定是只执行一次的,无关最后生成的结果。

 回到顶部