Office中国论坛/Access中国论坛

标题: 【已解决】子窗体无法正确刷新,请帮检查附件 [打印本页]

作者: 紫风    时间: 2014-2-28 11:55
标题: 【已解决】子窗体无法正确刷新,请帮检查附件
本帖最后由 紫风 于 2014-3-5 17:03 编辑

如题,第一次选择了“开始日期”、“结束日期”、"cbo查询类型"和"cbo客户名称"后,查询结果正确,但如果查询结果出来后删除“cbo客户名称”并修改查询的日期段再刷新,查询的结果却无法显示正确日期段内的记录,求帮看下问题在哪,谢谢!

cmd刷新:
    If Me.cbo查询类型 = "入库" Then
            If Not IsNull(Me.cbo客户名称) Then
                Me.frm日常查询child.Form.Filter = "[客户名称] = '" & Me.cbo客户名称 & "'"
                Me.frm日常查询child.Form.FilterOn = True
            ElseIf IsNull(Me.cbo客户名称) Then
                Me.frm日常查询child.Form.Filter = ""
                Me.frm日常查询child.Form.FilterOn = True
            End If
            Me.frm日常查询child.Requery
        End If
    End If

难道cbo客户名称删除后不是Null ?? 还是代码有问题?mdb请见附件,谢谢!

说明:
输入日期,查询类型选择“入库”,客户名称随便选一个,点刷新,返回结果正确
这个时候删除客户名称,日期改一下,再点刷新,返回结果不正确(时间段不对)


作者: 盗梦    时间: 2014-2-28 13:40
用nz(Me.cbo客户名称) 好一些 。 你删了之后,就不是null,而是空字符串
作者: 紫风    时间: 2014-2-28 14:07
盗梦 发表于 2014-2-28 13:40
用nz(Me.cbo客户名称) 好一些 。 你删了之后,就不是null,而是空字符串

谢谢帮忙,可是还不行啊。
你试一下:
输入日期,查询类型选择“入库”,客户名称随便选一个,点刷新,返回结果正确
这个时候删除客户名称,日期改一下,再点刷新,返回结果不正确(时间段不对)

作者: cgsilicone    时间: 2014-2-28 17:05
将 Me.frm日常查询入库child.Form.Filter = "" 修改为  Me.frm日常查询入库child.Form.Filter = "[公司名称] IS NOT NULL"
作者: tzh1600    时间: 2014-3-4 17:59
这样可以吧
作者: todaynew    时间: 2014-3-5 14:45
本帖最后由 todaynew 于 2014-3-5 14:53 编辑

你的刷新代码没有涉及日期范围的筛选
dim wh as string
wh="true"
if isnull(me.开始日期.value)=false then
   wh=wh & " and 日期>=#" & me.开始日期.value & "#"
end if
if isnull(me.结束日期.value)=false then
   wh=wh & " and 日期<=#" & me.结束日期.value & "#"
end if
if isnull(me.cbo客户名称.value)=false then
   wh=wh & " and 公司名称 = '" & me.cbo客户名称.value & "'"
end if
Me.frm日常查询child.Form.Filter = wh
Me.frm日常查询child.Form.FilterOn = True


作者: 紫风    时间: 2014-3-5 17:02
感谢以上各位帮忙,frmchild.form.filter=[公司名称] is not null 解决了!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3