以文本方式查看主题

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

--  作者:沪上游客
--  发布时间:2018/1/5 16:40:00
--  [求助]
老师你好!
我的项目中有一个“工程合同基础数据”主表,其中有一列为“所属年份”为整数型数据列,下图:

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20180105162616.png
图片点击可在新窗口打开查看

我在项目事件LoadUserSetting中设置了以下代码,按用户所在部门加载数据及只加载“合同状态”=“执行中”或空白的记录:

Dim Filter As String = "(合同状态 = \'执行中\' or 合同状态 is null)" 
If User.Type = UserTypeEnum.Administrator Or UserTypeEnum.Developer Then
    DataTables("工程合同基础数据").LoadFilter = ""
Else If User.Group = "总公司" Then
    DataTables("工程合同基础数据").LoadFilter = "" & filter
Else If User.Group Like "*区域" OrElse user.group Like "*直属" Then
    DataTables("工程合同基础数据").LoadFilter = "所属区域公司 = \'" & User.Group & "\' And " & filter
Else If User.Group Like "*分公司" Then
    DataTables("工程合同基础数据").LoadFilter = "分公司 = \'" & User.Group & "\' And " & filter
End If
DataTables("工程合同基础数据").Load()

因数据太多启动时速度很慢,我想按照年份(近三年)默认加载数据,代码怎么写?是不是“所属年份”列也要设置为日期列(原为整数型),那么怎么让它只显示四位年份?
请老师指教,谢谢!

--  作者:有点甜
--  发布时间:2018/1/5 17:46:00
--  

Dim Filter As String = "(合同状态 = \'执行中\' or 合同状态 is null)" 

 

改成

 

Dim Filter As String = "(合同状态 = \'执行中\' or 合同状态 is null) and 年份 >= \'" & Date.Today.Year-3 & "\'"