Foxtable(狐表)用户栏目专家坐堂 → 请教日期列的筛选


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

主题:请教日期列的筛选

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


加好友 发短信
等级:幼狐 帖子:183 积分:1602 威望:0 精华:0 注册:2013/11/14 10:30:00
请教日期列的筛选  发帖心情 Post By:2014/6/12 9:37:00 [只看该作者]

有一日期列,如[结账日期],有的未结账是空的,有的已结账的有日期,请问如何筛选 某日期前已结账和未结账?

 

 


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


加好友 发短信
等级:幼狐 帖子:183 积分:1602 威望:0 精华:0 注册:2013/11/14 10:30:00
  发帖心情 Post By:2014/6/12 9:39:00 [只看该作者]

代码如下:

With e.Form.Controls("结束日期")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "(结账日期 <= #" & .Value & "# and 结账日期 is  null)"
    End If
End With


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/12 9:39:00 [只看该作者]

 呃,只有一列日期列吗?那怎么查?数据为空的时候,怎么知道日期值?

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


加好友 发短信
等级:幼狐 帖子:183 积分:1602 威望:0 精华:0 注册:2013/11/14 10:30:00
  发帖心情 Post By:2014/6/12 9:43:00 [只看该作者]

不是只有一列,上面的代码是其中一段,红色部分不会表达

比如筛选 2014年5月31日前 未结账的,在6月份结账的不要包括在内,因为数据是动态的

[此贴子已经被作者于2014-6-12 9:43:44编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/6/12 9:51:00 [只看该作者]

楼主重新描述问题,估计没有人看懂你的问题。

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


加好友 发短信
等级:幼狐 帖子:183 积分:1602 威望:0 精华:0 注册:2013/11/14 10:30:00
  发帖心情 Post By:2014/6/12 9:58:00 [只看该作者]

Dim Filter As String
With e.Form.Controls("领取单位1")
    If .Value IsNot Nothing Then
        Filter = "领取单位 = '" & .Value & "'"
    End If
End With
With e.Form.Controls("制品名称1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "制品名称 like '*" & .Value & "*'"
    End If
End With
With e.Form.Controls("起始日期1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "出库日期 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("结束日期1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "出库日期 <= #" & .Value & "#"
    End If
End With

With e.Form.Controls("结束日期1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "结账日期 <= #" & .Value & "#"  ' and 结账日期 is  null)"
    End If
End With

If Filter > "" Then
    Tables("财务管理_外欠明细").Filter = Filter
End If

Tables("财务管理_外欠明细").Sort = "编号,出库日期"

 

因为有对账的需要,所以需要查询 截止到 <结束时间>的外欠明细,但数据是动态的,可能需要查询时在<结束时间>后又有结账的,但在<结束时间>后结账的在查询时间段内仍属于未结账的,需要筛选出在<结束时间>前未结账的行

 

呵呵,不知道表达清楚没有


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/6/12 10:08:00 [只看该作者]

1、正本的表,筛选之后,新增行不受筛选条件的影响,不管是否符合筛选条件,新增行都会显示,除非你重新筛选。

2、或者你用副本,副本新增行受筛选条件的影响,如果不符合已经设定的筛选条件,新增行不会显示。


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


加好友 发短信
等级:幼狐 帖子:183 积分:1602 威望:0 精华:0 注册:2013/11/14 10:30:00
  发帖心情 Post By:2014/6/12 10:21:00 [只看该作者]

噢,不是新增行的问题,原有的行(一般是欠款出库,[结账日期]列为空),结账后在[结账日期]列填上结账日期的
[此贴子已经被作者于2014-6-12 10:22:17编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/6/12 10:24:00 [只看该作者]

已经筛选出来的行,更加不受影响。

要不你用副本吧


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/12 10:39:00 [只看该作者]

是不是这个意思?

 

With e.Form.Controls("结束日期")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "(结账日期 <= #" & .Value & "# or 结账日期 is  null)"
    End If
End With


 回到顶部
总数 11 1 2 下一页