以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教一下我怎么样才能避开为0的日期。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=81093)

--  作者:XuanYuan
--  发布时间:2016/2/18 14:26:00
--  请教一下我怎么样才能避开为0的日期。

我现在是无法判断=O后,我要减去几天!请大师帮忙!

Dim dcs As new List(of String)
Dim dn As DataRow = DataTables("工序提前期").DataRows(0)
Dim dm As DataRow = DataTables("日历表").DataRows(0)
For Each dc As DataCol In DataTables("日历表").DataCols
    dcs.Add(dc.Name)
Next

For Each t As Row In Tables("开工单").Rows
    Dim d  As Integer = t("需求上线时间").AddDays(-dn("工序一")).day
    If dm(dcs(d-1)) = 1 Then
        t("工序一上线时间") = t("需求上线时间").AddDays(-dn("工序一"))
    ElseIf  dm(dcs(d-1)) = 0   Then
        t("工序一上线时间") = t("需求上线时间").AddDays(-dn("工序一")-1)
    End If
    Output.Show(d)
Next

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


--  作者:大红袍
--  发布时间:2016/2/18 14:47:00
--  

 没看懂你什么意思,为0的上面的代码可以判断啊。

 

 或者你直接说明具体逻辑。


--  作者:XuanYuan
--  发布时间:2016/2/18 15:33:00
--  

袍哥:

     新年好!我的具体逻辑是这样的:

         我的开工单中有我需要时间要上线生产。但是有些工序是需要提前生产。我就减去了提前期后要判断我的日历表那一天是不是“1” 或者 “0 ” 。。如果是“1” 就是当时的日期,是“0”我就要继续往后推移至出现“1”的那天为止。我现在就是无法判断我要向后移多少。


--  作者:大红袍
--  发布时间:2016/2/18 15:49:00
--  

Dim dcs As new List(of String)
Dim dn As DataRow = DataTables("工序提前期").DataRows(0)
Dim dm As Row = Tables("日历表").Rows(0)

For Each t As Row In Tables("开工单").Rows
    Dim d  As Date = t("需求上线时间").AddDays(-dn("工序一"))
   
    For i As Integer = d.day-1 To 30
        If dm(i) > 0 Then
            t("工序一上线时间") = d.AddDays(i-d.day+1)
            Exit For
        End If
    Next
Next