Foxtable(狐表)用户栏目专家坐堂 → 代码提示错误,请指一点一下问题出在哪个,,,急......


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

主题:代码提示错误,请指一点一下问题出在哪个,,,急......

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


加好友 发短信
等级:婴狐 帖子:79 积分:850 威望:0 精华:0 注册:2011/5/21 20:19:00
代码提示错误,请指一点一下问题出在哪个,,,急......  发帖心情 Post By:2011/8/1 20:10:00 [只看该作者]

 Dim t1,t2,t3 As Table
Dim i,n As Integer
t1 =Tables("入库单")
n =t1.Cols("入库总数").Index


Dim jb As New SQLJoinTableBuilder("查询表1","入库单")
jb.AddCols("{入库单}.*")
jb.Addexp("入库总数","0.1-0.1")
jb.build


t2 =Tables("查询表1")
t2.StopRedraw
t2.Cols("入库总数").Move(n)
For Each r As Row In t2.Rows
    r("入库总数") = t1.Rows(i)("入库总数")
    i+=1
  r("入库总数") = DataTables("入库单明细").Compute("sum(数量)","入库单号='" & r("入库单号") & "'")
Next
t2.ResumeRedraw

 

t3=Tables("销售订单")
Dim sk As New SQLJoinTableBuilder("查询表2","t2")
sk.AddTable("t2","订单号","t3","订单号")
sk.AddCols("t3.*")
sk.build

 

 

 

 


此主题相关图片如下:tt.jpg
按此在新窗口浏览图片

 回到顶部
帅哥,在线噢!
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/1 21:49:00 [只看该作者]

你这是外部表,没有指定数据源?

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


加好友 发短信
等级:婴狐 帖子:79 积分:850 威望:0 精华:0 注册:2011/5/21 20:19:00
  发帖心情 Post By:2011/8/1 22:37:00 [只看该作者]

我现在的目的是这样的,

       父                           子                             孙

销售订单的进度情况-----------从入库单提取(使用交叉统计)------------入库明细单提取入库总数

                          一对多关系                            多对多关系                     

 

 

1、销售订单的订单总数,从销售订单明细中提取各明细的数量

代码    

Dim t1,t2 As Table
Dim i,n As Integer
t1 =Tables("销售订单")
n =t1.Cols("订单总数").Index


Dim jb As New SQLJoinTableBuilder("查询表1","销售订单")
jb.AddCols("{销售订单}.*")
jb.Addexp("订单总数","0.1-0.1")
jb.build


t2 =Tables("查询表1")
t2.StopRedraw
t2.Cols("订单总数").Move(n)
For Each r As Row In t2.Rows
    r("订单总数") = t1.Rows(i)("订单总数")
    i+=1
  r("订单总数") = DataTables("销售订单明细").Compute("sum(数量)","订单号='" & r("订单号") & "'")
Next
t2.MainTable = t2ResumeRedraw

 

 

 

2、计算入库单总数,从入库单明细提取

 代码    Dim s1,s2 As Table
Dim i,f As Integer
s1 =Tables("入库单")
f =s1.Cols("入库总数").Index


Dim cb As New SQLJoinTableBuilder("查询表2","入库单")
jc.AddCols("{入库单}.*")
jc.Addexp("入库总数","0.1-0.1")
jc.build


s2 =Tables("查询表2")
s2.StopRedraw
s2.Cols("入库总数").Move(f)
For Each r As Row In s2.Rows
    r("入库总数") = t1.Rows(i)("入库总数")
    i+=1
  r("入库总数") = DataTables("入库单明细").Compute("sum(数量)","入库单号='" & r("入库单号") & "'")
Next
s2.ResumeRedraw
MainTable = s2

 

3、t2 (销售订单) 和  s2(入库单)进行交叉统计

CrossTableBuilder

 

 

 

这样能在一个命令窗口中写代码吗,,,怎么写,,,,我对这个不太明白,,,谢谢

[此贴子已经被作者于2011-8-1 22:38:47编辑过]

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/8/2 8:38:00 [只看该作者]

这个是临时表产生的,我碰到过,应该看得见此表的存在,删除就可.或者项目关掉再开应该可以.

 回到顶部
帅哥,在线噢!
狐狸爸爸
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/2 8:43:00 [只看该作者]

查询表不能作为SQLJoinTableBuilder的数据来源表,表达式列也不可以的。

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


加好友 发短信
等级:婴狐 帖子:79 积分:850 威望:0 精华:0 注册:2011/5/21 20:19:00
  发帖心情 Post By:2011/8/2 20:02:00 [只看该作者]

狐爸,,,,,那像我这个问题有没有什么方案可以解决??

 回到顶部
帅哥,在线噢!
狐狸爸爸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/3 8:33:00 [只看该作者]

SQLJoinTableBuilder本身可以来自多个数据表,本身也可以使用表达式,本身可以组合多个SQLJoinTableBuilder的查询结果。

还可以作为GroupTableBuilder或者CrossTableBuilder的数据来源。

多看一下帮助,实在搞不定,再做好表上来,输入一点测试数据,说说需要得到的结果。


 回到顶部