以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]表输入  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=135511)

--  作者:5301zsz
--  发布时间:2019/5/28 15:00:00
--  [求助]表输入
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:生产记录表.rar

老师好附件的生产记录表在DataColChanged如何设置
1:当表金工生产记录表选择下单情况_料号及生产计划_工序列选1时,生产计划_内容。生产计划_内容生产计划_机台、生产计划_车间定额、生产计划_允废率、生产计划_准备工时自动从表产品加工工序的工序1的工序1_内容、工序1_机台、工序1_准备工时、工序1_定额、工序1_允废率的信息转过来。
2:当表金工生产记录表选择下单情况_料号及生产计划_工序列选2时,生产计划_内容。生产计划_内容生产计划_机台、生产计划_车间定额、生产计划_允废率、生产计划_准备工时自动从表产品加工工序的工序1的工序2_内容、工序2_机台、工序2_准备工时、工序2_定额、工序2_允废率的信息转过来。
3:当表金工生产记录表选择下单情况_料号及生产计划_工序列选3时,生产计划_内容。生产计划_内容生产计划_机台、生产计划_车间定额、生产计划_允废率、生产计划_准备工时自动从表产品加工工序的工序1的工序3_内容、工序3_机台、工序3_准备工时、工序3_定额、工序3_允废率的信息转过来。依次类推到9.

--  作者:有点甜
--  发布时间:2019/5/28 15:13:00
--  

根据你的选择,动态得到列名即可,如

 

Dim gx = e.datarow("工序")

msgbox(gx)

Dim fdr As DataRow = DataTables("某表").find("条件")

e.datarow("允废率") = fdr("工序" & gx & "_允废率")

e.datarow("内容") = fdr("工序" & gx & "_内容")


--  作者:5301zsz
--  发布时间:2019/5/28 15:37:00
--  
收到,谢谢老师,我试试,有问题在请教!
--  作者:5301zsz
--  发布时间:2019/5/28 22:19:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试2.foxdb

老师好,麻烦帮我测试一下,谢谢!

--  作者:有点蓝
--  发布时间:2019/5/28 22:49:00
--  
不要只会抄代码,我们给的一般都是处理问题的思路,不一定是完整的代码,学会在理解的基础上使用。

先不管上面的功能怎么实现,先学会datacolchanged事件应该怎么用



稍候我再给出具体的代码

--  作者:有点蓝
--  发布时间:2019/5/28 23:09:00
--  
Select Case e.DataCol.Name
    Case "下单情况_料号","生产计划_工序号"
        If e.DataRow.IsNull("下单情况_料号") OrElse e.DataRow.IsNull("生产计划_工序号")
            e.DataRow("生产计划_允废率") = Nothing
            \'剩下自己补充完整
        Else
            Dim gx = e.DataRow("生产计划_工序号")
            Dim fdr As DataRow = DataTables("产品加工工序").find("物料料号 = \'" & e.DataRow("下单情况_料号") & "\'")
            If fdr IsNot Nothing
                e.DataRow("生产计划_允废率") = fdr("工序" & gx & "_允废率")
                e.DataRow("生产计划_内容") = fdr("工序" & gx & "_内容")
                e.DataRow("生产计划_机台") = fdr("工序" & gx & "_机台")
                e.DataRow("生产计划_定额") = fdr("工序" & gx & "_定额")
                e.DataRow("生产计划_准备工时") = fdr("工序" & gx & "_准备工时")
            End If
        End If
End Select

--  作者:5301zsz
--  发布时间:2019/5/29 5:01:00
--  
谢谢蓝老师的指导!这么晚了又及时回复,辛苦了!
--  作者:5301zsz
--  发布时间:2019/5/30 23:01:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试2.foxdb

蓝老师好,我用您的代码输入后测试还是不行。

--  作者:有点甜
--  发布时间:2019/5/30 23:33:00
--  

我测试没问题。

 

输入 生产计划_工序号 2

 

输入 下单情况_料号 14B1101


--  作者:5301zsz
--  发布时间:2019/5/30 23:41:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试-5-30.rar

老师好,请看附件截图,输入后不会自动导入各工序内容。