Foxtable(狐表)用户栏目专家坐堂 → 查找最大值问题


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

主题:查找最大值问题

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


加好友 发短信
等级:七尾狐 帖子:1553 积分:10082 威望:0 精华:0 注册:2014/12/18 16:12:00
查找最大值问题  发帖心情 Post By:2022/6/18 8:14:00 [只看该作者]

If e.DataCol.Name = "供应商代号" OrElse e.DataCol.Name = "物料编号" Then
    If e.DataRow.Isnull("供应商代号") = False AndAlso e.DataRow.Isnull("物料编号") = False AndAlso e.DataRow.Isnull("出入库日期") = False Then
        Dim dr As DataRow = DataTables("出入库B").Find("供应商代号 = '" & e.DataRow("供应商代号") & "' and 物料编号 = '" & e.DataRow("物料编号") & "' and 出入库日期 <> '" & e.DataRow("出入库日期") & "'","出入库日期 Desc")
        If dr IsNot Nothing Then
            e.DataRow("入库批次") = 1
        Else
            If dr("检验频率代号") = dr("入库批次") Then
                e.DataRow("入库批次") = 1
            Else
                e.DataRow("入库批次") = dr("入库批次") + 1
            End If
        End If
    End If
End If

图片点击可在新窗口打开查看此主题相关图片如下:图片28.jpg
图片点击可在新窗口打开查看

上面的代码我希望查找前面数据行“入库批次”的最大值,然后决定本行应该得出什么入库批次,但是执行之后“入库批次”总是1,不会发生变化。请问是哪里的问题呢?同供应商代号、同物料编号、不同出入库日期时,“入库批次”应该依次递增的。谢谢。


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


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/18 8:57:00 [只看该作者]

查找的时候排除当前行

Dim dr As DataRow = DataTables("出入库B").Find("供应商代号 = '" & e.DataRow("供应商代号") & "' and 物料编号 = '" & e.DataRow("物料编号") & "' and 出入库日期 <> '" & e.DataRow("出入库日期") & "' and _identify <>" & 
e.DataRow("_identify"),"出入库日期 Desc")

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


加好友 发短信
等级:七尾狐 帖子:1553 积分:10082 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2022/6/18 12:54:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:箱号问题.rar

好像还是不行。这是测试项目。

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


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/18 13:57:00 [只看该作者]

If dr IsNot Nothing Then
改为
If dr Is Nothing Then

 回到顶部