Foxtable(狐表)用户栏目专家坐堂 → 如何求3个表中日期列的最大值?


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

主题:如何求3个表中日期列的最大值?

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


加好友 发短信
等级:童狐 帖子:253 积分:2573 威望:0 精华:0 注册:2016/8/8 9:50:00
如何求3个表中日期列的最大值?  发帖心情 Post By:2017/4/7 21:16:00 [只看该作者]

老师,

我想从三个子表——表B、C、D中的日期列中找出最大值(最近日期)填入父表——表A的末次订购日期,代码如下:
        Dim dr As DataRow
        dr = DataTables("表A").Find("[编号] = '" & e.DataRow("编号") & "'" )
        Dim drs1 = DataTables("表B").Select("[编号] = '" & e.DataRow("编号") & "'","日期 DESC")
        Dim drs2 = DataTables("表C").Select("[编号] = '" & e.DataRow("编号") & "'","日期 DESC")
        Dim drs3 = DataTables("表D").Select("[编号] = '" & e.DataRow("编号") & "'","日期 DESC")
        If dr Is Nothing Then
            Return
        Else
          If drs1.count > 0 Andalso drs2.count > 0 Andalso drs3.count > 0 Then
                dr("末次订购日期") = 最大值(三者中)
            End If
End if

请问,三者中最大值如何写代码?
[此贴子已经被作者于2017/4/7 21:16:58编辑过]

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


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/7 21:54:00 [只看该作者]

表A,DataColChanged事件

Select Case e.DataCol.Name
    Case "编号"
        If e.NewValue > "" Then
            Dim d As Date = new Date()
            Dim ns() As String = {"表B","表C","表D"}
            For Each n As String In ns
                Dim d1 As Date = DataTables(n).Compute("Max(日期)","[编号] = '" & e.NewValue & "'")
                If d1 > d Then d = d1
            Next
            dr("末次订购日期") = d
        End If
End Select

 回到顶部