更改表单筛选器时访问崩溃

时间:2012-10-26 14:19:51

标签: ms-access ms-access-2010

这是我的表格。

enter image description here

如果我执行以下步骤,访问始终会崩溃:

  1. 搜索2012年
  2. 然后搜索提案号12-100(存在)
  3. 无论如何,如果我进行年度搜索,则搜索提案编号,反之亦然。它会崩溃。崩溃,我的意思是访问停止工作,必须重新启动。

    如果我在关闭表单之前完成第二个表单,它们都可以工作。

    这是我的查找和清除按钮的代码(这几乎是我表单的所有代码)。

     Private Sub btnFind_Click()
        If (Not IsNull(txtResearch) And txtResearch <> "") Then
            Me.Filter = "ProposalNo = '" & txtResearch & "'"
            Me.FilterOn = True
        ElseIf (Not IsNull(txtYear) And txtYear <> "") Then
            Me.Filter = "pyear = " & txtYear
            Me.FilterOn = True
        Else
            Me.Filter = ""
            Me.FilterOn = False
        End If
    
    End Sub
    
    
    
    Private Sub btnClear_Click()
        txtResearch = ""
        txtYear = ""
        Me.Filter = ""
        Me.FilterOn = False
    End Sub
    

    问题在于我设置过滤器的方式?我不确定Me.FilterOn

    另外,我确实尝试压缩和修复但没有运气

    谢谢

1 个答案:

答案 0 :(得分:1)

显然,过滤器和SQL Server可能存在一些问题,但我对这个问题还不够了。您可能还想看看Allen Browne的笔记:http://www.pcreview.co.uk/forums/access-crashes-remove-filter-sub-form-t2772609.html

您可能希望考虑使用where语句设置recordsource而不是使用过滤器。