以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- C版请进 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=5682) |
||||
-- 作者:wqc360 -- 发布时间:2009/12/28 21:20:00 -- C版请进 C版,您好,文件我已经做成内部表了,请帮我看看,文件-基础数据-下达计划-窗口控件下达生产计划,录入数据,点控件下达生产计划,可以执行,只有计划工序表中两个日期列没数据,需点配置栏重算表得到,还能接受。 文件-计划数据-到料排产-窗口控件到料排产录入数据,点控件到料准备生产,就出错,请帮我看看生产工艺表、生产工序表、生产目录表、日报表的表属性和填充按钮代码应该怎么改,其中计算数据都需要要,只能改代码用不同方法得出,不能少,关键问题是子父表之间相互提取数据进行计算,这又是必须的。谢谢
|
||||
-- 作者:czy -- 发布时间:2009/12/28 21:52:00 -- 今天我还没有时间帮你处理。 |
||||
-- 作者:wqc360 -- 发布时间:2009/12/28 21:59:00 -- 您空了再看,很乱的,可能会耽误你很多时间,先谢谢您了。 |
||||
-- 作者:czy -- 发布时间:2009/12/28 22:23:00 -- 以下是引用wqc360在2009-12-28 21:20:00的发言:
C版,您好,文件我已经做成内部表了,请帮我看看,文件-基础数据-下达计划-窗口控件下达生产计划,录入数据,点控件下达生产计划,可以执行,只有计划工序表中两个日期列没数据,需点配置栏重算表得到,还能接受。
[此贴子已经被作者于2009-12-28 22:23:48编辑过]
|
||||
-- 作者:czy -- 发布时间:2009/12/28 22:48:00 -- 以下是引用wqc360在2009-12-28 21:20:00的发言:
文件-计划数据-到料排产-窗口控件到料排产录入数据,点控件到料准备生产,就出错,请帮我看看生产工艺表、生产工序表、生产目录表、日报表的表属性和填充按钮代码应该怎么改,其中计算数据都需要要,只能改代码用不同方法得出,不能少,关键问题是子父表之间相互提取数据进行计算,这又是必须的。谢谢
|
||||
-- 作者:wqc360 -- 发布时间:2009/12/28 22:53:00 -- 狗狗没拿回来,明天我试试 |
||||
-- 作者:czy -- 发布时间:2009/12/28 22:57:00 -- 出错问题我已经找到,数据正确率只能你自己测试。 我测试一下再发代码给你。 |
||||
-- 作者:czy -- 发布时间:2009/12/28 23:11:00 -- [求助] 到料排产窗口,到料排产按钮公式改成这样: If CurrentTable.Focus Then Forms("到料准备生产").Open() Else MessageBox.Show("没有当前表焦点,请先选择当前表后再执行此操作!","提示",MessageBoxButtons.Ok,MessageBoxIcon.Information) End If |
||||
-- 作者:czy -- 发布时间: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 -- 发布时间:2009/12/28 23:24:00 -- 原来的计算结果都对,用手工录入数据进行的测试,逻辑也对。 |