Foxtable(狐表)用户栏目专家坐堂 → 哪个参数没有指定呢?


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

主题:哪个参数没有指定呢?

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


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
哪个参数没有指定呢?  发帖心情 Post By:2014/7/15 21:36:00 [只看该作者]

With e.Form.Controls("日期")
    If .Value Is Nothing Then
        Return
    End If
End With
Tables("材料月报2_Table1").StopRedraw
Dim Filter As String
Dim curD As Date=e.Form.Controls("日期").Value '当前日期
Dim lastD As Date = curD.AddMonths(-1) '上一个月的日期
Dim lastD2 As New Date(lastD.Year, lastD.Month, Date.DaysInMonth(lastD.Year,lastD.Month)) '上个月的最后一天
Filter = Filter &  "日期 > #" & lastD2 & "#" & " And 日期  <= #" & curD & "#"

Dim jb As new SQLJoinTableBuilder("查询表2","计划排产")
jb.C
jb.Filter = Filter
jb.AddTable("计划排产","板料编码","材料","板料编码")
jb.AddCols("日期","实剪","{材料}.板料编码","{材料}.板料规格","宽","厚","长")
jb.AddExp("实重", "[实剪] * 7.85 * 0.9 * [厚] * [宽] * [长] / 1000000000")
jb.Build()

Dim bd1 As New GroupTableBuilder("统计表5", jb.BuildSQL,"服务器")
Dim dt1 As fxDataSource
Bd1.Groups.AddDef("日期",DateGroupEnum.Year,"年") '添加日期列用于分组,并用"年"代替原名称
bd1.Groups.AddDef("日期","月") '添加日期列用于分组,并用"月"代替原名称
bd1.Groups.AddDef("板料编码") '根据型号分组
bd1.Groups.AddDef("板料规格") '根据型号分组
bd1.Totals.AddDef("实剪","耗用_数量") '对数量进行统计
bd1.Totals.AddDef("实重","耗用_重量") '对金额进行统计
bd1.Filter = Filter
dt1 = bd1.BuildDataSource()

Dim bd2 As New SQLGroupTableBuilder("统计表6","材料入库")
Bd2.C
Dim dt2  As fxDataSource
Bd2.Groups.AddDef("日期",DateGroupEnum.Year,"年") '添加日期列用于分组,并用"年"代替原名称
bd2.Groups.AddDef("日期","月") '添加日期列用于分组,并用"月"代替原名称
bd2.Groups.AddDef("板料编码") '根据型号分组
Bd2.Groups.AddDef("板料规格") '根据型号分组
Bd2.Totals.AddDef("张数","入库_数量") '对数量进行统计
bd2.Totals.AddDef("重量","入库_重量") '对重量进行统计
bd2.Totals.AddDef("金额","入库_金额") '对重量进行统计
bd2.Filter = Filter
dt2 = bd2.BuildDataSource()
Dim nms As String() = {"年","月","板料编码","板料规格"} '指定连接列
dt2.Combine(nms,dt1,nms)
Tables("材料月报2_Table1").DataSource = dt2 '将统计结果绑定到Table

 

以上部分没有问题

生成如下统计表

 

 

后面的哪个参数没有指定?

 

With DataTables("材料月报2_Table1").DataCols  '用表达式列计算库存数据  
    .Add("期初_数量",Gettype(Double),"","期初_数量")
    .Add("期初_重量",Gettype(Double),"","期初_重量")
    .Add("期初_金额",Gettype(Double),"","期初_金额")
End With
Filter = "日期 <=  #" & lastD2 & "#"
Dim dt_rk As DataTable
Dim dt_hy As DataTable
Dim cmd As new SQLCommand
Cmd. C
cmd.CommandText = "select * from {材料入库} where " & Filter
dt_rk = cmd.ExecuteReader
cmd.CommandText = "select {计划排产}.板料编码,{计划排产}.板料规格,日期,实剪 as 数量, 实剪 * 长 * 宽 * 厚 * 7.85 * 0.9 / 1000000000 AS 重量 FROM {计划排产} INNER JOIN {材料} ON {计划排产}.板料编码 = {材料}.板料编码  & Filter"
dt_hy = cmd.ExecuteReader

For Each r As Row In Tables("材料月报2_Table1").Rows
    Filter = "板料编码 = '" & r("板料编码") & "'"
    r("期初_数量") = dt_rk.Compute("sum(入库_数量)", filter) - dt_hy.Compute("sum(耗用_数量)", filter)
    r("期初_重量") = dt_rk.Compute("sum(入库_重量)", filter) - dt_hy.Compute("sum(耗用_重量)", filter)
   DataTables("材料月报2_Table1").DataCols.Add("加权平均单价", Gettype(Double), "(期初_金额+入库_金额)/(期初_重量+入库_重量)")
Next
With DataTables("材料月报2_Table1").DataCols  '用表达式列计算库存数据
    .Add("库存_数量",Gettype(Double), "IsNull([期初_数量],0) + IsNull([入库_数量,0) - ISNULL([耗用_数量],0)", "库存_数量")
    .Add("库存_重量",Gettype(Double), "IsNull([期初_重量],0) + IsNull([入库_重量],0) - ISNULL([耗用_重量],0) ", "库存_重量")
   
    .Add("库存_金额",Gettype(Double), "加权平均单价 * 库存_重量", "库存_金额")
   
End With
Tables("材料月报2_Table1").SetColVisibleWidth("年|30|月|30|板料编码|120|板料规格|120|加权平均单价|80|期初_数量|80|期初_重量|80|期初_金额|80|入库_数量|80|入库_重量|80|入库_金额|80|耗用_数量|80|耗用_重量|80|库存_数量|80|库存_重量|80|库存_金额|80")
Tables("材料月报2_Table1").DefaultRowHeight = 35
DataTables("材料月报2_Table1").DataCols("加权平均单价").SetFormat("#,###.00")
DataTables("材料月报2_Table1").DataCols("期初_数量").SetFormat("#,###.")
DataTables("材料月报2_Table1").DataCols("期初_重量").SetFormat("#,###.00")
DataTables("材料月报2_Table1").DataCols("期初_金额").SetFormat("#,###.00")
DataTables("材料月报2_Table1").DataCols("入库_数量").SetFormat("#,###.00")
DataTables("材料月报2_Table1").DataCols("入库_重量").SetFormat("#,###.00")
DataTables("材料月报2_Table1").DataCols("入库_金额").SetFormat("#,###.00")
DataTables("材料月报2_Table1").DataCols("耗用_数量").SetFormat("#,###.00")
DataTables("材料月报2_Table1").DataCols("耗用_重量").SetFormat("#,###.00")
DataTables("材料月报2_Table1").DataCols("库存_数量").SetFormat("#,###.00")
DataTables("材料月报2_Table1").DataCols("库存_重量").SetFormat("#,###.00")
DataTables("材料月报2_Table1").DataCols("库存_金额").SetFormat("#,###.00")
Tables("材料月报2_Table1").ResumeRedraw



图片点击可在新窗口打开查看此主题相关图片如下:tjb.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2014/7/15 21:37:00 [只看该作者]

dt_rk = cmd.ExecuteReader
cmd.CommandText = "select {计划排产}.板料编码,{计划排产}.板料规格,日期,实剪 as 数量, 实剪 * 长 * 宽 * 厚 * 7.85 * 0.9 / 1000000000 AS 重量 FROM {计划排产} INNER JOIN {材料} ON {计划排产}.板料编码 = {材料}.板料编码  & Filter"
dt_hy = cmd.ExecuteReader

 

耗用表:

 


图片点击可在新窗口打开查看此主题相关图片如下:zx2.png
图片点击可在新窗口打开查看

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


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

不理解你的意思,例子发上来。

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


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2014/7/15 21:41:00 [只看该作者]

做的项目,比较杂,怎么发呢

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


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2014/7/15 21:42:00 [只看该作者]

等我另外做个例子再发吧

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


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

以下是引用石四在2014-7-15 21:41:00的发言:
做的项目,比较杂,怎么发呢

 

那你是什么地方出错?执行2楼的sql语句出错?


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


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

 如果是2楼的错误,你单独拷贝代码去测试是否正确,直到测试正确为止。

 

 http://www.foxtable.com/help/topics/1484.htm

 

 

 

[此贴子已经被作者于2014-7-15 21:45:53编辑过]

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


加好友 发短信
等级:版主 帖子:1693 积分:12135 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2014/7/15 21:51:00 [只看该作者]

以下是引用石四在2014-7-15 21:37:00的发言:

dt_rk = cmd.ExecuteReader
cmd.CommandText = "select {计划排产}.板料编码,{计划排产}.板料规格,日期,实剪 as 数量, 实剪 * 长 * 宽 * 厚 * 7.85 * 0.9 / 1000000000 AS 重量 FROM {计划排产} INNER JOIN {材料} ON {计划排产}.板料编码 = {材料}.板料编码  & Filter"
dt_hy = cmd.ExecuteReader

 

这里?

 

 

Filter    一般是合成的语句


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


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2014/7/15 22:20:00 [只看该作者]

例子来了。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:事例.foxdb

 

没有压缩工具,数据库传不上


 

[此贴子已经被作者于2014-7-15 22:22:46编辑过]

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


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

 看楼上。

 

cmd.CommandText = "select {计划排产}.板料编码,{计划排产}.板料规格,日期,实剪 as 数量, 实剪 * 长 * 宽 * 厚 * 7.85 * 0.9 / 1000000000 AS 重量 FROM {计划排产} INNER JOIN {材料} ON {计划排产}.板料编码 = {材料}.板料编码 where "  & Filter

[此贴子已经被作者于2014-7-15 22:24:25编辑过]

 回到顶部
总数 54 1 2 3 4 5 6 下一页