Foxtable(狐表)用户栏目专家坐堂 → 非关联表之间的数据同步问题


  共有3039人关注过本帖平板打印复制链接

主题:非关联表之间的数据同步问题

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


加好友 发短信
等级:幼狐 帖子:183 积分:1312 威望:0 精华:0 注册:2014/11/26 8:49:00
非关联表之间的数据同步问题  发帖心情 Post By:2014/12/7 1:32:00 [只看该作者]

老师好:我的设计是一个表格(区队领用表)可以完整接收其他三个表格(一队领用表、二队领用表、三队领用表)输入的数据,几个表格之间没有关联。现在我设计两个表格数据同步的时候出现了问题,参考帮助文件的跨表引用,在一队材料领用表datacolchange中输入代码如下:

'非关联表之间的数据同步(884)
Select Case e.DataCol.name
    Case "材料名称"
        Dim dr As DataRow = DataTables("区队材料领用表").Find("材料名称 = '" & e.OldValue & "'")
        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("使用地点")
            
        Else
            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

'从材料信息表中提取输入材料的单价
 Select Case e.DataCol.Name
     Case "材料名称","规格型号"
         Dim dr As DataRow = e.DataRow
         Dim pr As DataRow
         If dr.IsNull("材料名称") OrElse dr.IsNull("规格型号")  Then
             dr("单价") = Nothing
             dr("单位") = Nothing
         Else
             Dim filter As String
              filter = "材料名称 = '" & dr("材料名称") & "' And 规格型号 = '" & dr("规格型号") & "'"
             pr = DataTables("材料信息表").Find(filter)
             If pr IsNot Nothing Then
                 dr("单价") = pr("单价")
                 dr("单位") = pr("单位")
             End If
         End If
End Select
这个代码执行后,在区队材料领用表中只有材料名称、单位和数量,没有领用区队、使用地点和领用时间,但是在一队领用表中都有!
还有一个问题是同一材料输入2次以上,都显示最后一次的数据,前几次清零,我知道是第一段代码不对,但是修改了好多次,都不行,请多多指教

 回到顶部
总数 17 1 2 下一页