以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]代码求助,内详  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=81793)

--  作者:狐作非为
--  发布时间:2016/3/6 11:06:00
--  [求助]代码求助,内详
代码求助,内详
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目5.zip


--  作者:狐作非为
--  发布时间:2016/3/6 11:31:00
--  
有神在吗?
--  作者:yinyb36
--  发布时间:2016/3/6 11:35:00
--  
数据库结构不合理,哪有这样建数据库的
--  作者:狐作非为
--  发布时间:2016/3/6 11:38:00
--  
只是内部表,
--  作者:狐作非为
--  发布时间:2016/3/6 11:52:00
--  
大红袍老师帮下吧
--  作者:狐作非为
--  发布时间:2016/3/6 12:27:00
--  
无解吗?图片点击可在新窗口打开查看
--  作者:大红袍
--  发布时间:2016/3/6 12:47:00
--  

Select Case e.DataCol.name
    Case  "工程名称","工程编码","合计","短缺数","缺口日期","总短缺数"
    Case Else
        Dim hj1 As Integer = 0
        Dim hj2 As Integer = 0
       
        For Each dc As Col In Tables("工程表").Cols
            If dc.Index>6 And e.DataRow.IsNull(dc.Name)=False Then
                hj1 += e.DataRow(dc.Name)
                If hj1 > e.DataRow("当前库存") Then
                    e.DataRow("缺口日期")= dc.Name
                    hj2 = hj1
                End If
            End If
        Next
       
        If hj2 > e.DataRow("当前库存") Then
            e.DataRow("短缺数")=hj2 - e.DataRow("当前库存")
            e.DataRow("总短缺数")=hj1-hj2+e.DataRow("短缺数")
        Else
            e.DataRow("缺口日期")=Nothing
            e.DataRow("短缺数")=0
            e.DataRow("总短缺数")=0
        End If
       
        e.DataRow("合计")=hj1
End Select


--  作者:狐作非为
--  发布时间:2016/3/6 13:06:00
--  
谢谢,我试试
--  作者:yinyb36
--  发布时间:2016/3/6 14:02:00
--  
Select Case e.DataCol.name
    Case  "工程名称","工程编码","合计","短缺数","缺口日期","总短缺数"
    Case Else
        Dim hj1 As Integer = 0
        Dim hj2 As Integer = 0
        Dim b As Boolean = True
        For Each dc As Col In Tables("工程表").Cols
            If dc.Index>6 And e.DataRow.IsNull(dc.Name)=False Then
                hj1 += e.DataRow(dc.Name)
                If b Then
                    If hj1 > e.DataRow("当前库存") Then
                        e.DataRow("缺口日期")= dc.Name
                        e.DataRow("短缺数")=hj1 - e.DataRow("当前库存")
                        hj2 = e.DataRow("短缺数")
                        b = False
                    End If
                Else
                    hj2 += e.DataRow(dc.Name)
                End If
            End If
        Next
        
        If hj2 > 0 Then
            e.DataRow("总短缺数")=hj2
        Else
            e.DataRow("缺口日期")=Nothing
            e.DataRow("短缺数")=0
            e.DataRow("总短缺数")=0
        End If
        
        e.DataRow("合计")=hj1
End Select