以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  引用(请版主看一下很急)  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=12967)

--  作者:7032175
--  发布时间:2011/9/22 13:46:00
--  引用(请版主看一下很急)

我的问题是:

   前提:现在表中《合同总览》,《合同信息》里面的公式是这样子的:合同信息为主输入口,我把相应的内容输入进去后,而后单击增加选项,会在《合同总览》里面显示相应的内容,而后对相同前提下对“重量”进行相加。

   开发问题:  当我想开发第三个表《完成情况》时我想在第三个表里面得到《合同信息》里面内容,就是《完成情况》里面的内容与《合同信息》里的内容是一样的,为什么一样我是想在往后的开发中在完成情况里面加更多的内容, 我只想得到的就是  当把《合同信息》里的复选号打上对号后,发生二种结果,第一个结果就是执行原代码,而后在执行我想开发的《完成情况》的要求, 不知道这样的代码如何实现请版主们帮帮我 我很急。谢谢您们了。

 

 

 

 

 

 

 

 

 

 

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:引用.table


--  作者:狐狸爸爸
--  发布时间:2011/9/22 14:14:00
--  
呵呵,直接点,在增加列打勾的时候,你想在完成情况表做什么动作?
--  作者:7032175
--  发布时间:2011/9/22 15:22:00
--  

合同信息里面输入信息后   打勾之后  合同完成里面就相应的出现合同信息里面的内容   和合同总览是一样性质的   只是不像合同总览里的需要总计


--  作者:7032175
--  发布时间:2011/9/22 15:36:00
--  

狐爸爸  帮助

 


--  作者:狐狸爸爸
--  发布时间:2011/9/22 15:39:00
--  

If e.DataCol.Name ="增加" Then
    Dim dr,dr1 As DataRow
    dr = e.DataRow
    If dr.isnull("计划号") Then
        MessageBox.Show("计划号不能为空!")
    Else
        Dim s As String = "计划号 = \'" & dr("计划号") & "\'and 材质 = \'" &  dr("材质") & "\'"
        dr1= DataTables("合同总览").find(s)
        If dr1 IsNot Nothing Then
            Dim val As Integer = dr("重量")
            If dr("增加") = False Then
                val = -val
            End If
            dr1("重量")+ = val
            dr1.Save()
        Else
            Dim Ls As String() = {"计划号","合同公司","订单号","材质","重量"}
            dr1 = DataTables("合同总览").AddNew()
            For Each s In Ls
                dr1(s) = dr(s)
            Next
            dr1("重量") = dr("重量")
            dr1.Save()
        End If
        dr.Save()

       

        dr1= DataTables("完成情况").find(s)
        If dr("增加") = True AndAlso dr1 Is Nothing  Then
            dr1 = DataTables("完成情况").Addnew
            For Each dc As DataCol In DataTables("完成情况").DataCols
                dr1(dc.name) = dr(dc.name)
            Next
            dr1.Save
        ElseIf dr("增加") = False AndAlso dr1 IsNot Nothing  Then
            dr1.Delete
            dr1.save
        End If
    End If
End If


--  作者:7032175
--  发布时间:2011/9/22 15:56:00
--  
狐爸爸  这个代码是对的   不过 我想要的结果是  完成情况里面  可以显示 我想要合同信息里面的任意一个列的更改内容  而不是全部复制过去      比如 完成情况里面我不想要重重 只想要其它的内容    不知道 能不能实现  我在这先谢谢狐爸爸了   让您费心了
--  作者:7032175
--  发布时间:2011/9/22 16:03:00
--  
我在合同信息里多加了三列内容项    我想要的结果就是   打上对号后   合同总览 里面 合计重量   显示相应的内容    而完成情况里面  也是 显示相应的 内容  但是没有总计的内容  不是整体复制过去  可能是我先前所说的没有明白  让狐爸爸转了很多弯  实在是不好意思
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:引用.table


--  作者:狐狸爸爸
--  发布时间:2011/9/22 16:10:00
--  

惭愧,我真的不明白你的意思,大家明白了吗?


--  作者:7032175
--  发布时间:2011/9/22 16:16:00
--  

合同信里面的列内容  我以后还会加上很多   完成情况的列内容我也会加上很多   我只想得到的就是  在完成情况里面 固定几个内容   当合同信息里面打上对号后   在完成情况里面显示 相应的列内容  我合同信息里面有  合同公司   计划号  订单号 材质  砖号  重量 生产日期等等   打上对号后  在合同完成里面  显示  我想需要显示的内容  如  我想显示 合同公司 计划号 订单号 材质  砖号   但是不显示重量 也不需要合计  实际上是和合同总览的性质是一样的  只不是不需要 对重量进行合计


--  作者:狐狸爸爸
--  发布时间:2011/9/22 16:32:00
--  
If e.DataCol.Name ="增加" Then
    Dim dr,dr1 As DataRow
    dr = e.DataRow
    If dr.isnull("计划号") Then
        MessageBox.Show("计划号不能为空!")
    Else
        Dim s As String = "计划号 = \'" & dr("计划号") & "\'and 材质 = \'" &  dr("材质") & "\'"
        dr1= DataTables("合同总览").find(s)
        If dr1 IsNot Nothing Then
            Dim val As Integer = dr("重量")
            If dr("增加") = False Then
                val = -val
            End If
            dr1("重量")+ = val
            dr1.Save()
        Else
            Dim Ls As String() = {"计划号","合同公司","订单号","材质","重量"}
            dr1 = DataTables("合同总览").AddNew()
            For Each s In Ls
                dr1(s) = dr(s)
            Next
            dr1("重量") = dr("重量")
            dr1.Save()
        End If
        dr.Save()
       
        If dr("增加") = True Then
            dr1= DataTables("完成情况").find(s)
            If  dr1 Is Nothing  Then
                dr1 = DataTables("完成情况").Addnew
            End If
            Dim nms() As String = {"计划号","合同公司","订单号","材质","砖号"}
            For Each nm As String In nms
                dr1(nm) = dr(nm)
            Next
        End If
    End
If
End If