1

这是我的表格。

在此处输入图像描述

如果我执行以下步骤,访问总是崩溃:

  1. 搜索 2012 年
  2. 然后搜索提案编号 12-100(存在)

无论如何,如果我进行年份搜索,则搜索提案编号,反之亦然。它会崩溃。通过崩溃,我的意思是访问停止工作并且必须重新启动。

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

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

 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

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

谢谢

4

1 回答 1

1

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

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

于 2012-10-26T14:47:11.850 回答