以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]条件加载  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=105750)

--  作者:lgj716330
--  发布时间:2017/8/25 12:58:00
--  [求助]条件加载
If User.Group = "总部" Then
    DataTables("销售日报").LoadFilter = "" 
Else
    DataTables("销售日报").LoadFilter = ("公司 = \'" & User.Group & "\'") 
End If
DataTables("销售日报").Load()

我想改成,如果是总部,则加载销售日报中最大日期所有公司的数据,否则就加载各自公司销售日报中最大日期的数据,但可能每家公司的最大日期是不一样的,求助

--  作者:有点甜
--  发布时间:2017/8/25 14:38:00
--  
If User.Group = "总部" Then
    Dim filter As String = "1=2"
    For Each gs As String In DataTables("销售日报").SQLGetValues("公司")
        Dim maxd As Date = DataTables("销售日报").SQLCompute("max(日期)", "公司 = \'" & gs & "\'")
        filter &= " or " & "日期 = \'" & maxd & "\' and 公司 = \'" & gs & "\'"
    Next
    DataTables("销售日报").LoadFilter = filter
Else
    Dim maxd As Date = DataTables("销售日报").SQLCompute("max(日期)", "公司 = \'" & User.Group & "\'")
    DataTables("销售日报").LoadFilter = "日期 = \'" & maxd & "\' and 公司 = \'" & User.Group & "\'"
End If
DataTables("销售日报").Load()