Foxtable(狐表)用户栏目专家坐堂 → C版请进


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

主题:C版请进

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


加好友 发短信
等级:三尾狐 帖子:790 积分:5695 威望:0 精华:0 注册:2009/4/17 18:42:00
C版请进  发帖心情 Post By:2009/12/28 21:20:00 [只看该作者]

C版,您好,文件我已经做成内部表了,请帮我看看,文件-基础数据-下达计划-窗口控件下达生产计划,录入数据,点控件下达生产计划,可以执行,只有计划工序表中两个日期列没数据,需点配置栏重算表得到,还能接受。
文件-计划数据-到料排产-窗口控件到料排产录入数据,点控件到料准备生产,就出错,请帮我看看生产工艺表、生产工序表、生产目录表、日报表的表属性和填充按钮代码应该怎么改,其中计算数据都需要要,只能改代码用不同方法得出,不能少,关键问题是子父表之间相互提取数据进行计算,这又是必须的。谢谢
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目15.rar


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/12/28 21:52:00 [只看该作者]

今天我还没有时间帮你处理。

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


加好友 发短信
等级:三尾狐 帖子:790 积分:5695 威望:0 精华:0 注册:2009/4/17 18:42:00
  发帖心情 Post By:2009/12/28 21:59:00 [只看该作者]

您空了再看,很乱的,可能会耽误你很多时间,先谢谢您了。

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/12/28 22:23:00 [只看该作者]

以下是引用wqc360在2009-12-28 21:20:00的发言:
C版,您好,文件我已经做成内部表了,请帮我看看,文件-基础数据-下达计划-窗口控件下达生产计划,录入数据,点控件下达生产计划,可以执行,只有计划工序表中两个日期列没数据,需点配置栏重算表得到,还能接受。


将计划工序相关代码改成:

Dim T1 As Table = Tables("计划工序")
For n As integer = 0 to T1.count-1
    if T1.rows(n)("图号") = tables("产品目录").current("图号") And T1.rows(n).isnull("派工单号")
        T1.rows(n)("派工单号") = e.Form.Controls("(派工单号)").text
        T1.rows(n)("计划数量") = e.Form.Controls("(计划数量)").text
        T1.rows(n)("计划日期_开始") = e.Form.Controls("(计划转入日期)").Value
        T1.rows(n)("计划日期_结束") = e.Form.Controls("(计划完工日期)").Value
    End if
Next

[此贴子已经被作者于2009-12-28 22:23:48编辑过]

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/12/28 22:48:00 [只看该作者]

以下是引用wqc360在2009-12-28 21:20:00的发言:

文件-计划数据-到料排产-窗口控件到料排产录入数据,点控件到料准备生产,就出错,请帮我看看生产工艺表、生产工序表、生产目录表、日报表的表属性和填充按钮代码应该怎么改,其中计算数据都需要要,只能改代码用不同方法得出,不能少,关键问题是子父表之间相互提取数据进行计算,这又是必须的。谢谢


只是解决出错问题吗?
结果是否正确?


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


加好友 发短信
等级:三尾狐 帖子:790 积分:5695 威望:0 精华:0 注册:2009/4/17 18:42:00
  发帖心情 Post By:2009/12/28 22:53:00 [只看该作者]

狗狗没拿回来,明天我试试

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/12/28 22:57:00 [只看该作者]

出错问题我已经找到,数据正确率只能你自己测试。
我测试一下再发代码给你。

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
[求助]  发帖心情 Post By:2009/12/28 23:11:00 [只看该作者]

到料排产窗口,到料排产按钮公式改成这样:

If CurrentTable.Focus Then
    Forms("到料准备生产").Open()
Else
    MessageBox.Show("没有当前表焦点,请先选择当前表后再执行此操作!","提示",MessageBoxButtons.Ok,MessageBoxIcon.Information)
End If

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/12/28 23:12:00 [只看该作者]

到料准备生产窗口,到料准备生产按钮代码改成这样:

Dim Values As String() = {"(到料数量)","(到料日期)","(完工日期)","(派工单号)"}
Dim dd As WinForm.TextBox = e.Form.Controls("(派工单号)")
if IsNumeric(e.Form.Controls("(到料数量)").Value) = false
    MessageBox.Show("到料数据不是值型!","提示",MessageBoxButtons.Ok,MessageBoxIcon.Information)
    Return
End If
For Each Va as string In Values
    with e.form
        if .Controls(va).value Is Nothing then
            MessageBox.Show(va &" 资料不全,请录入!", "提示")
            Return
        end if
    end with
Next
Dim r As Row = CurrentTable.Current
Dim dr As DataRow
dr = DataTables("生产目录").Find("[图号] = '" & r("图号") & "' and [派工单号] =  '" & dd.text & "'")
If dr Is Nothing Then
    dim f As New Filler
    f.SourceTable = DataTables("计划目录") '指定数据来源
    f.SourceCols = "客户,机型,所属部分,图号,名称,材料_材质,材料_重量Kg,材料_成品单价元,材料成本_单价元,材料成本_报废元,加工费_公司结算元,备注,照片,材料_废品单价元,批量,计划转入日期,计划完工日期,计划数量,计划周期" '指定数据来源列
    f.DataTable = DataTables("生产目录") '指定数据接收表
    f.DataCols = "客户,机型,所属部分,图号,名称,材料_材质,材料_重量Kg,材料_成品单价元,材料成本_单价元,材料成本_报废元,加工费_公司结算元,备注,照片,材料_废品单价元,批量,计划转入日期,计划完工日期,计划数量,计划周期" '指定数据接收列
    f.Filter = "[图号] =  '" & r("图号") & "'"
    f.Fill() '填充数据
end if
dr = DataTables("生产工艺").Find("[图号] = '" & r("图号") & "'and [派工单号] =  '" & dd.text & "'")
If dr Is Nothing Then
    dim f As New Filler
    f.SourceTable = DataTables("计划工序") '指定数据来源
    f.SourceCols = "图号,名称,工序_序号,工序_简要提示,备注,照片,计划数量,工序_班组,状态" '指定数据来源列
    f.DataTable = DataTables("生产工序") '指定数据接收表
    f.DataCols = "图号,名称,工序_序号,工序_简要提示,备注,照片,计划数量,工序_班组,状态" '指定数据接收列
    f.Filter = "[图号] =  '" & r("图号") & "'"
    f.Fill() '填充数据
end if
dr = DataTables("生产工艺").Find("[图号] = '" & r("图号") & "'and [派工单号] =  '" & dd.text & "'")
If dr Is Nothing Then
    dim f As New Filler
    f.SourceTable = DataTables("计划工艺") '指定数据来源
    f.SourceCols = "图号,名称,工艺_序号,工艺_加工提示,备注,准结工时_装校工装,准结工时_装刀,加工工时_机动,加工工时_装夹,加工工时_周期,标准_工时,准结工时_试切,准结工时_拆工装,标准_产量,标准_难度系数,难度情况_材质,难度情况_精度,难度情况_切削,难度情况_批量,难度情况_装夹,难度系数_精度,难度系数_材质,难度系数_切削,难度系数_批量,难度系数_疲劳,难度系数_装夹,工序_序号,准结工时_备刀,难度情况_钢性,难度情况_重量,难度系数_重量,难度系数_钢性,工艺_工作中心组,照片,工艺_加工费单价元,工艺_工资单价元,难度情况_疲劳,工序_班组,状态,计划数量" '指定数据来源列
    f.DataTable = DataTables("生产工艺") '指定数据接收表
    f.DataCols = "图号,名称,工艺_序号,工艺_加工提示,备注,准结工时_装校工装,准结工时_装刀,加工工时_机动,加工工时_装夹,加工工时_周期,标准_工时,准结工时_试切,准结工时_拆工装,标准_产量,标准_难度系数,难度情况_材质,难度情况_精度,难度情况_切削,难度情况_批量,难度情况_装夹,难度系数_精度,难度系数_材质,难度系数_切削,难度系数_批量,难度系数_疲劳,难度系数_装夹,工序_序号,准结工时_备刀,难度情况_钢性,难度情况_重量,难度系数_重量,难度系数_钢性,工艺_工作中心组,照片,工艺_加工费单价元,工艺_工资单价元,难度情况_疲劳,工序_班组,状态,计划数量" '指定数据接收列
    f.Filter = "[图号] =  '" & r("图号") & "'"
    f.Fill() '填充数据
end if
Dim T1 As Table = Tables("生产工艺")
Dim T2 As Table = Tables("生产工序")
Dim T3 As Table = Tables("生产目录")
for n as integer = 0 to T1.count-1
    if T1.rows(n)("图号") = tables("计划目录").current("图号")
        T1.rows(n)("派工单号") = e.Form.Controls("(派工单号)").text
    end if
next
for n as integer = 0 to T2.count-1
    if T2.rows(n)("图号") = tables("计划目录").current("图号")
        T2.rows(n)("派工单号") = e.Form.Controls("(派工单号)").text
    end if
next
for n as integer = 0 to T3.count-1
    if T3.rows(n)("图号") = tables("计划目录").current("图号")
        T3.rows(n)("订单号") = e.Form.Controls("(订单号)").text
        T3.rows(n)("首批数量") = e.Form.Controls("(到料数量)").text
        T3.rows(n)("派工单号") = e.Form.Controls("(派工单号)").text
        T3.rows(n)("到料日期") = e.Form.Controls("(到料日期)").text
        T3.rows(n)("完工日期") = e.Form.Controls("(完工日期)").text
    end if
next

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


加好友 发短信
等级:三尾狐 帖子:790 积分:5695 威望:0 精华:0 注册:2009/4/17 18:42:00
  发帖心情 Post By:2009/12/28 23:24:00 [只看该作者]

原来的计算结果都对,用手工录入数据进行的测试,逻辑也对。

 回到顶部
总数 35 1 2 3 4 下一页