Office中国论坛/Access中国论坛

标题: 求助:执行查询后,记录一闪而过(已解决) [打印本页]

作者: cocopig    时间: 2012-8-20 11:32
标题: 求助:执行查询后,记录一闪而过(已解决)
本帖最后由 cocopig 于 2012-8-20 15:46 编辑

设有列表框“me.cmbReverson”,里有三个选项“全部”、“未回复”、“已回复”。编写代码如下:
    if not IsNull(me.xxx) then
           strWhere=strWhere & ........
       ...........
    If Not IsNull(Me.cmbReversion) Then
        Select Case Me.cmbReversion
            Case "全部"
                strWhere = strWhere
               
            Case "未回复"
                strWhere = strWhere & "([Reversion] = '是' AND [FinishedDate] is Null) and "
               
            Case "已回复"
                strWhere = strWhere & "([Reversion] = '是' AND [FinishedDate] Is not Null) and "
            
            Case Default
                MsgboxShow "非法输入,请从下拉列表中选择!", "错误"
                Exit Sub
        End Select
    End If

        If Len(strWhere) > 0 Then
        strWhere = Left(strWhere, Len(strWhere) - 5)
    End If
           
    Me.fmSubSupervisalPaperList.Form.Filter = strWhere
    Me.fmSubSupervisalPaperList.Form.FilterOn = True
     “已回复”和“未回复”选项执行正常。执行过“已回复”或“未回复”选项后,再执行“全部”,记录集就一闪而过,先出现,立即消失。这是什么原因?如何解决?


作者: todaynew    时间: 2012-8-20 13:44
If Not IsNull(Me.cmbReversion) Then
       Select Case Me.cmbReversion
            Case "全部"
                strWhere = "True"
               
            Case "未回复"
                strWhere = strWhere & " and ([Reversion] = '是' AND [FinishedDate] is Null)"
               
            Case "已回复"
                strWhere = strWhere & " and ([Reversion] = '是' AND [FinishedDate] Is not Null)"
            
            Case Default
                MsgboxShow "非法输入,请从下拉列表中选择!", "错误"
                Exit Sub
        End Select
End If
me.子窗体.form.filter=strwhere
me.子窗体.form.filteron=true




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