以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 跨表定位行 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=177895) |
-- 作者:有点灰3 -- 发布时间:2022/6/8 20:39:00 -- 跨表定位行 此主题相关图片如下:349.png 此主题相关图片如下:09.png 我想实现如下功能看那块的帮助下文件 1.在A表格 输入实际接序时间和实际完成时间后 点击接序 2、会在B表格判断是否存在相同的订单号以及工序号 3、如果有的话在该行的下面自动加一行 4、然后把A表格的信息复制过来 这块看那块文件 |
-- 作者:cd_tdh -- 发布时间:2022/6/9 7:53:00 -- 跨表引用,find的用法 |
-- 作者:有点蓝 -- 发布时间:2022/6/9 8:48:00 -- 类似:http://www.foxtable.com/webhelp/topics/1451.htm |
-- 作者:有点灰3 -- 发布时间:2022/6/9 8:53:00 -- 这个我知道 我不回的是在我找到有这行后 后在这行的下面增加一行而不是图标的最后一行增加 因为我后期想做甘特图 做原始计划跟实际计划的对比 |
-- 作者:有点蓝 -- 发布时间:2022/6/9 8:56:00 -- 查找行位置:http://www.foxtable.com/webhelp/topics/0553.htm |
-- 作者:有点灰3 -- 发布时间:2022/6/9 11:03:00 -- Select Case e.DataCol.Name Case "生产流程单_实际接序时间", "生产流程单_实际完工时间" Dim dr As DataRow = e.DataRow Dim pr As DataRow If dr("生产流程单_实际完工时间") = Not Nothing And dr("生产流程单_接序") = Not Nothing Then Dim filter As String= "订单号 = \'" & dr("生产流程单_订单编号") & "\' And 加工工序 = \'" & dr("生产流程单_工序") & "\' " pr = Tables("客户交付管理系统").FindRow(filter) If pr IsNot Nothing Then Dim r As Row = Tables("客户交付管理系统").InsertNew() r("加工工序") = dr("生产流程单_工序") + "实际" r("加工设备") = dr("生产流程单_加工设备") End If End If End Select 此主题相关图片如下:10121.png 麻烦帮着改一下 |
-- 作者:有点蓝 -- 发布时间:2022/6/9 11:51:00 -- 空值的判断:http://www.foxtable.com/webhelp/topics/1470.htm Select Case e.DataCol.Name Case "生产流程单_实际接序时间", "生产流程单_实际完工时间","生产流程单_接序" Dim dr As DataRow = e.DataRow Dim pr As integer If dr.isnull("生产流程单_实际接序时间") = false andalso dr.isnull("生产流程单_实际完工时间") = false Andalso dr("生产流程单_接序") = true Then Dim filter As String= "订单号 = \'" & dr("生产流程单_订单编号") & "\' And 加工工序 = \'" & dr("生产流程单_工序") & "\' " pr = Tables("客户交付管理系统").FindRow(filter) If pr > -1 Then Dim r As Row if Tables("客户交付管理系统").rows.count = pr +1 r = Tables("客户交付管理系统").addnew else Tables("客户交付管理系统").position = pr +1 r = Tables("客户交付管理系统").InsertNew() end if
r("加工工序") = dr("生产流程单_工序") + "实际" r("加工设备") = dr("生产流程单_加工设备") End If End If End Select [此贴子已经被作者于2022/6/9 13:33:36编辑过]
|
-- 作者:有点灰3 -- 发布时间:2022/6/9 12:25:00 -- 我改了一下 还是不对啊 是不是 Dim pr As DataRow 这句有问题 怎么老是提示相似的报警 |
-- 作者:有点灰3 -- 发布时间:2022/6/9 12:25:00 -- Select Case e.DataCol.Name Case "生产流程单_实际接序时间", "生产流程单_实际完工时间", "生产流程单_接序" Dim dr As DataRow = e.DataRow Dim pr As DataRow If dr.isnull("生产流程单_实际接序时间") = False AndAlso dr.isnull("生产流程单_实际完工时间") = False AndAlso dr("生产流程单_接序") = True Then pr = Tables("客户交付管理系统").FindRow( "订单号 = \'" & dr("生产流程单_订单编号") & "\' And 加工工序 = \'" & dr("生产流程单_工序") & "\' ") If pr IsNot Nothing Then Dim r As Row If Tables("客户交付管理系统").rows.count = pr + 1 Then r = Tables("客户交付管理系统").addnew Else Tables("客户交付管理系统").position = pr + 1 r = Tables("客户交付管理系统").InsertNew() End If r("加工工序") = dr("生产流程单_工序") + "实际" r("加工设备") = dr("生产流程单_加工设备") End If End If End Select |
-- 作者:有点蓝 -- 发布时间:2022/6/9 13:33:00 -- Dim pr As integer |