Foxtable(狐表)用户栏目专家坐堂 → [求助]关于窗口调用重复代码


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

主题:[求助]关于窗口调用重复代码

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


加好友 发短信
等级:六尾狐 帖子:1327 积分:10268 威望:0 精华:0 注册:2013/11/8 15:27:00
[求助]关于窗口调用重复代码  发帖心情 Post By:2022/8/4 9:29:00 [只看该作者]

窗口按钮做了个筛选条件

Dim Filter As String = "1=1"

With e.Form.Controls("NF") 
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "年份 = '" & .value & "'"
    End If
End With
With e.Form.Controls("YF1") 
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "月份 >= '" & .value & "'"
    End If
End With
With e.Form.Controls("YF2") 
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "月份 <= '" & .value & "'"
    End If
End With

然后在另一个按钮代码中引用,发现条件没起作用,是在同一个窗口中。不能这样操作吗

e.Form.Controls("gtcxtj").PerformClick() '工资汇总分析

Dim bd1 As New SQLGroupTableBuilder("出勤率基础表", "出勤率")
bd1.C
bd1.Groups.AddDef("年份") 
bd1.Groups.AddDef("月份")
bd1.Groups.AddDef("组别")
bd1.Totals.AddDef("小组人数")
bd1.Filter = "(" & filter & ")" 
bd1.Build
[此贴子已经被作者于2022/8/4 9:29:41编辑过]

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


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

在按钮事件里定义的变量只能在这个事件里使用。考虑使用全局变量

按钮1
……
With e.Form.Controls("YF2") 
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "月份 <= '" & .value & "'"
    End If
End With
vars("Filter") = Filter 

按钮2
……
bd1.Filter = vars("Filter")

 回到顶部