Foxtable(狐表)用户栏目专家坐堂 → 求和代码优化


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

主题:求和代码优化

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


加好友 发短信
等级:超级版主 帖子:105938 积分:538759 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/24 22:33:00 [只看该作者]

Dim b As New sqlGroupTableBuilder("统计表1", "工序跟踪表")
b.C
改为
Dim sql As String = "Select * from 工序跟踪表 as a where exists(select * from 窗口表对应的后台表 as b where 查询出每个月1号和最后一天之间的明细的条件放进这里 and a.成本编码=b.成本编码 and a.毛坯编码=b.毛坯编码)"
Dim b As New GroupTableBuilder("统计表1",sql, "数据源名称")

 回到顶部
美女呀,离线,留言给我吧!
nuoyan89
  32楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:409 积分:2850 威望:0 精华:0 注册:2020/10/9 8:45:00
  发帖心情 Post By:2022/11/24 22:48:00 [只看该作者]

老师,提示超出界了,头一回弄这么复杂的代码,给老师添麻烦了。

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

Dim sql As String = "Sel ect * from 工序跟踪表 as a where exists(sel ect * from 条码基础数据 as b where 成本总明细_明细查询 and a.成本编码 = b.成本编码 and a.毛坯编码 = b.毛坯编码)"
Dim b As New GroupTableBuilder("统计表1", sql, "条码扫描系统数据库")

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


加好友 发短信
等级:超级版主 帖子:105938 积分:538759 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/24 22:59:00 [只看该作者]

t * from 条码基础数据 as b where 这里放查询条件,不是表名,就是查询出每个月1号和最后一天之间的明细的条件放进这里 and a.成本编码 = b.成本编

另外请贴出改后的完整代码

 回到顶部
美女呀,离线,留言给我吧!
nuoyan89
  34楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:409 积分:2850 威望:0 精华:0 注册:2020/10/9 8:45:00
  发帖心情 Post By:2022/11/24 23:05:00 [只看该作者]

Dim sql As String = "Sele ct * from 工序跟踪表 as a where exists(sele ct * from 条码基础数据 as b where a.成本编码 = b.成本编码 And a.毛坯编码 = b.毛坯编码)"
Dim b As New GroupTableBuilder("统计表1", sql, "条码扫描系统数据库")
b.Groups.AddDef("成品编码") '根据产品分组
b.Groups.AddDef("毛坯编码") '根据产品分组
b.Totals.AddDef("循环时间") '对数量进行统计
b.Totals.AddDef("加工单价") '对数量进行统计
b.Totals.AddDef("直接材料_刀具费用") '对数量进行统计
b.Totals.AddDef("直接材料_配件成本") '对数量进行统计
b.Totals.AddDef("直接工资_社保基数") '对数量进行统计
b.Totals.AddDef("直接工资_社保费") '对数量进行统计
b.Totals.AddDef("制造费用_油料费") '对数量进行统计
b.Totals.AddDef("制造费用_量检具费") '对数量进行统计
b.Totals.AddDef("制造费用_运输费") '对数量进行统计
b.Totals.AddDef("制造费用_工装费用") '对数量进行统计
b.Totals.AddDef("制造费用_设备折旧") '对数量进行统计
b.Totals.AddDef("制造费用_外协费用") '对数量进行统计
b.Totals.AddDef("制造费用_水费") '对数量进行统计
b.Totals.AddDef("制造费用_电费") '对数量进行统计
b.Totals.AddDef("直接工资_福利") '对数量进行统计
b.Totals.AddDef("制造费用_工资") '对数量进行统计
b.Totals.AddDef("制造费用_福利") '对数量进行统计
b.Totals.AddDef("制造费用_保险") '对数量进行统计
b.Totals.AddDef("制造费用_修理费") '对数量进行统计
b.Totals.AddDef("制造费用_基础设施费") '对数量进行统计
b.Totals.AddDef("制造费用_其他折旧") '对数量进行统计
b.Totals.AddDef("管理费用_工资") '对数量进行统计
b.Totals.AddDef("管理费用_保险") '对数量进行统计
b.Totals.AddDef("管理费用_福利") '对数量进行统计
b.Totals.AddDef("管理费用_其他管理费") '对数量进行统计
b.Totals.AddDef("制造费用_刀具修磨") '对数量进行统计
b.Totals.AddDef("制造费用_低值易耗") '对数量进行统计
b.Totals.AddDef("直接工资_工时补助") '对数量进行统计
Dim dt As DataTable = b.Build(True)
dim dr as datarow = dt.datarows(0)
For Each dr3 As Row In Tables("成本总明细_明细查询").Rows
    dr = dt.find("成品编码 = '" & dr3("成品编码") & "' and 毛坯编码 = '" & dr3("毛坯编码") & "'")
    If dr IsNot Nothing Then
        dr3("工时") = dr("循环时间")
        dr3("直接材料_配件费用") = dr("直接材料_配件成本")
        dr3("直接工资_直接人工") = dr("加工单价")
        dr3("直接工资_社保费") = dr("直接工资_社保费")
        dr3("直接工资_福利费") = dr("直接工资_福利")
        dr3("直接工资_工时补助") = dr("直接工资_工时补助")
        dr3("制造费用_工资") = dr("制造费用_工资")
        dr3("制造费用_保险") = dr("制造费用_保险")
        dr3("制造费用_福利") = dr("制造费用_福利")
        dr3("制造费用_外协费用") = dr("制造费用_外协费用")
        dr3("制造费用_水费") = dr("制造费用_水费")
        dr3("制造费用_电费") = dr("制造费用_电费")
        dr3("制造费用_运输费") = dr("制造费用_运输费")
        dr3("制造费用_修理费") = dr("制造费用_修理费")
        dr3("制造费用_油料费") = dr("制造费用_油料费")
        dr3("制造费用_低值易耗") = dr("制造费用_低值易耗")
        dr3("制造费用_设备折旧") = dr("制造费用_设备折旧")
        dr3("制造费用_刀具修磨") = dr("制造费用_刀具修磨")
        dr3("制造费用_量检具费") = dr("制造费用_量检具费")
        dr3("制造费用_工装费用") = dr("制造费用_工装费用")
        dr3("管理费用_工资") = dr("管理费用_工资")
        dr3("直接材料_刀具费用") = dr("直接材料_刀具费用")
        dr3("管理费用_保险") = dr("管理费用_保险")
        dr3("管理费用_福利") = dr("管理费用_福利")
        dr3("管理费用_其他管理费") = dr("管理费用_其他管理费")
        dr3("制造费用_其他折旧") = dr("制造费用_其他折旧")
        dr3("制造费用_基础设施费") = dr("制造费用_基础设施费")
    End If
Next

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


加好友 发短信
等级:超级版主 帖子:105938 积分:538759 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/24 23:08:00 [只看该作者]

操作方法:点击查询按钮,查询出每个月1号和最后一天之间的明细

查询按钮的代码是什么?

 回到顶部
美女呀,离线,留言给我吧!
nuoyan89
  36楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:409 积分:2850 威望:0 精华:0 注册:2020/10/9 8:45:00
  发帖心情 Post By:2022/11/24 23:10:00 [只看该作者]

我这个是放在另外一个按钮上的
Dim Filter As String
With e.Form.Controls("成品编码1")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "成品编码 = '" & .Value & "'"
    End If
End With
With e.Form.Controls("使用状态1")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "当前状态 = '" & .Value & "'"
    End If
End With
With e.Form.Controls("毛坯编码1")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "毛坯编码 = '" & .Value & "'"
    End If
End With
With e.Form.Controls("成品描述1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "成品描述 like '%" & .Value & "%'"
    End If
End With
With e.Form.Controls("单据日期1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "投产日期>= '" & .Value & "'"
    End If
End With
With e.Form.Controls("单据日期2")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "投产日期 <= '" & .Value & "'"
    End If
End With
If Filter > "" Then
    e.Form.controls("明细查询").Table.DataTable.LoadPage = 0
    e.Form.controls("明细查询").Table.DataTable.LoadFilter = Filter
    e.Form.controls("明细查询").Table.DataTable.Load
End If
Tables("成本总明细_明细查询").Sort = "投产日期 DESC"
With Tables("成本总明细_明细查询")
    .Select(.RowSel, .Cols("投产日期").Index)
End With

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


加好友 发短信
等级:超级版主 帖子:105938 积分:538759 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/24 23:17:00 [只看该作者]

Dim sql As String = "Select * from 工序跟踪表 as a where exists(sele ct * from 条码基础数据 as b where " & e.Form.controls("明细查询").Table.DataTable.LoadFilter & " and a.成本编码 = b.成本编码 And a.毛坯编码 = b.毛坯编码)"

dim dr as datarow = dt.datarows(0)
改为
dim dr as datarow

 回到顶部
美女呀,离线,留言给我吧!
nuoyan89
  38楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:409 积分:2850 威望:0 精华:0 注册:2020/10/9 8:45:00
  发帖心情 Post By:2022/11/24 23:29:00 [只看该作者]

谢谢老师,效率一下就提升好多好多倍。

 回到顶部
总数 38 上一页 1 2 3 4