Foxtable(狐表)用户栏目专家坐堂 → [求助]模拟信息的时间填充问题(已解决)


  共有2413人关注过本帖树形打印复制链接

主题:[求助]模拟信息的时间填充问题(已解决)

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/18 0:39:00 [显示全部帖子]

 没看懂你想表达什么意思。

 

 什么情况下,什么相同


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/18 9:04:00 [显示全部帖子]

 不明白你到底想说什么,你的开始时间和结束时间根据什么得到啊,怎么可能相同?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/18 10:20:00 [显示全部帖子]

DataTables("时间记录").DataRows.Clear()
Dim jp As Integer = 0
Dim zdysj As Date = Date.Today & " " & "08" & ":" & "00" & ":" & "00" '自定义时间
For i As Integer = 1 To 5
    Dim jp1 As String = DataTables("时间记录").SQLCompute("max(节拍)")
    If jp1 = "" Then
        jp = 1
    Else
        jp = CInt(jp1) + 1
    End If
    MessageBox.Show(jp)
    Dim f As New Filler
    f.SourceTable = DataTables("模板")
    f.SourceCols = "工位,工序编号"
    f.DataTable = DataTables("时间记录")
    f.DataCols = "工位,工序编号"
    f.Filter = "产品款号 = '123'"
    f.Distinct = False
    f.Fill()
    '填充节拍产量等
    For Each dr As DataRow In DataTables("时间记录").DataRows
        If dr.IsNull("批次") Then
            dr("批次") = 1
            dr("节拍") = jp
            DataTables("时间记录").Save()
        End If
    Next
    '填充开始结束时间
    For Each gw As String In DataTables("时间记录").GetValues("工位","节拍 = '" & jp & "'")
        Dim xlfd As Double = Rand.Next(100 - 6,100 + 6) / 100 '效率浮动
        Dim jpms2 As Integer = 10 * 60 * xlfd '浮动节拍秒时
        Dim N2,h2,m2,s2 As Integer
        N2 = jpms2
        h2 = N2 \ 3600
        m2 = (N2 Mod 3600) \ 60
        s2 = N2 Mod 60
        Dim d2 As Date = Format(new Date(1,1,1,h2,m2,s2), "HH:mm:ss")
        Dim fdr = DataTables("时间记录").Find("工位 = '" & gw & "' and 开始时间 is not null", "[序号] Desc") '找出上一行
        Dim kssj As Date
        If fdr Is Nothing Then
            kssj = zdysj
        Else
            kssj = fdr("结束时间")
        End If
       
        Dim drs As List(of DataRow) = DataTables("时间记录").Select("工位 = '" & gw & "' and 节拍 = '" & jp & "'")
        For Each mr As DataRow In drs
            mr("开始时间") = kssj '第一个节拍开始时间
            mr("结束时间") = CDate(mr("开始时间")).AddSeconds(d2.Hour*3600 + d2.Minute*60 + d2.Second) '第一个节拍结束时间
        Next
       
    Next
Next
With Tables("时间记录")
    .Position = .Rows.Count - 1
End With
Tables("时间记录").AutoSizeCols()
DataTables("时间记录").Save()

 回到顶部