以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  筛选后找到最后日期的记录赋值给新增行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=122413)

--  作者:snaker114
--  发布时间:2018/7/25 0:33:00
--  筛选后找到最后日期的记录赋值给新增行

老师,如下代码怎么实现不了下表要求呢?请帮助

 

If e.DataTable.DataRows.Count = 0 Then \'如果是一个空表
    Return \'那么返回
End If
If Tables("注塑日报").Current.DataRow.RowState = DataRowState.Added Then
    If e.DataCol.Name ="机台号码" Then
        With DataTables("注塑日报")
            Dim dr As DataRow = DataTables("注塑日报").find("机台号码 = " & "\'" & e.DataRow("机台号码") & "\'","生产日期 DESC,_identify desc" )
           
            If dr IsNot Nothing\'如果找到,则设置各列内容
                e.DataRow("接班模数")= dr("交班模数")
                e.DataRow("交班结存")= dr("本班结存")
            End If
        End With
    End If
End If

 

生产日期 机器编号 接班模数 交班模数 要求
2018.07.21 1 10 20
2018.07.21 2 10 22
2018.07.21 3 11 30
2018.07.21 4 13 20
2018.07.22 1 20 30
2018.07.22 2 22 40
2018.07.22 3 30 55
2018.07.22 4 20 30
2018.07.23 1 30 当输入机器编号1时,接班模数自动找到最近的日期的交班模数并赋值给它
2018.07.23 2 40
2018.07.23 3 55
2018.07.23 4 30

 


--  作者:有点甜
--  发布时间:2018/7/25 8:59:00
--  

DataColChanged事件

 

msgbox(1)

If e.DataRow.RowState = DataRowState.Added Then

msgbox(e.datacol.name)
    If e.DataCol.Name ="机台号码" Then
            Dim dr As DataRow = DataTables("注塑日报").find("机台号码 = \'" & e.DataRow("机台号码") & "\' and _Identify <> " & e.datarow("_Identify"),"生产日期 DESC,_identify desc" )
msgbox(2)           
            If dr IsNot Nothing\'如果找到,则设置各列内容

msgbox(3)
                e.DataRow("接班模数")= dr("交班模数")
                e.DataRow("交班结存")= dr("本班结存")
            End If
    End If
End If


--  作者:鱼葱葱
--  发布时间:2018/11/16 10:17:00
--  
看看