以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于同步问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=39221)

--  作者:雪泪紫嫣
--  发布时间:2013/8/19 9:01:00
--  关于同步问题
如例程管理项目1所示,是否可以在机加车间排工输入数据之后,工时结算与车间排工列名相同的数据可以根据车间排工的 生产调度令号和所内任务号 两列同步生成。急求
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


--  作者:Bin
--  发布时间:2013/8/19 9:29:00
--  
.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1 (1).foxdb


--  作者:雪泪紫嫣
--  发布时间:2013/8/19 10:41:00
--  
这个好像不行啊,我是想将生产调度令号与所内任务号组成一个唯一的主键,也就是说,我的所内任务号和生产调度令号都有可能重复,但是两列的组合是不会重复的
--  作者:Bin
--  发布时间:2013/8/19 10:47:00
--  
这样啊.稍微修改一些即可

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1 (1).foxdb



--  作者:雪泪紫嫣
--  发布时间:2013/8/19 11:15:00
--  

这个存在一个问题,就是当一不小心输错了,再改一下的时候,工时结算表会新增加一行


--  作者:Bin
--  发布时间:2013/8/19 11:16:00
--  
1.你可以再判断一下,如果是修改根据OLdValUE同步修改
2.整个按钮.每点击一次重新生成一次.

--  作者:雪泪紫嫣
--  发布时间:2013/8/19 11:22:00
--  

如果生产调度令号唯一,我的代码如下,没有问题


Select Case e.DataCol.name
Case "生产调度令号"
Dim dr As DataRow = DataTables("订单核价").Find("生产调度令号 = \'" & e.NewValue & "\'")
If dr Is Nothing Then
             dr = DataTables("订单核价").AddNew()            
             dr("接单日期") = e.DataRow("接单日期")
             dr("生产调度令号") = e.DataRow("生产调度令号")
             dr("单位或部门") = e.DataRow("单位或部门")
             dr("任务名称") = e.DataRow("任务名称")
             dr("计划开始日期") = e.DataRow("计划开始日期")
             dr("计划完工日期") = e.DataRow("计划完工日期")
             dr("计划工期按天计算") = e.DataRow("计划工期按天计算")
             dr("所需人数") = e.DataRow("所需人数")
             dr("联系人") = e.DataRow("联系人")
             dr("联系电话") = e.DataRow("联系电话")
             dr("派工姓名") = e.DataRow("派工姓名")
             dr("所内任务号") = e.DataRow("所内任务号")
End If

If  dr("生产调度令号") = Nothing  Then
dr.Delete
End If
 
   Dim dj As DataRow = DataTables("订单核价").Find("生产调度令号 = \'" & e.OldValue & "\'")
   If  dj IsNot Nothing Then
    dj.Delete                       \'  dr("生产调度令号") = e.DataRow("生产调度令号")
   End If
   Case "生产调度令号","接单日期","单位或部门","任务名称","计划开始日期","计划完工日期","计划工期按天计算","所需人数","联系人","联系电话","派工姓名","所内任务号" 
         Dim dr As DataRow = DataTables("订单核价").Find("生产调度令号 = \'" & e.DataRow("生产调度令号") & "\'")
         If dr IsNot Nothing Then
             dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
         End If
   End Select

 

 

 

但是两列组合,我弄了好久都没弄出来,麻烦您能帮我看一下吗


--  作者:Bin
--  发布时间:2013/8/19 11:25:00
--  
多加一个条件判断即可.参考我里面的代码吧
--  作者:雪泪紫嫣
--  发布时间:2013/8/19 11:28:00
--  
嗯,好的,我试试,如果实在写不出啦再请教您
--  作者:雪泪紫嫣
--  发布时间:2013/8/26 18:43:00
--  

请教一下,如果表内除了生产调度令号和所内任务号,还有一列名为 价格(两表都有)的,怎么使价格以生产调度令号和所内任务号为依据同步生成到工时结算中,急求,谢谢