更改表单过滤器时访问崩溃

Posted

技术标签:

【中文标题】更改表单过滤器时访问崩溃【英文标题】:access crash when changing form filter 【发布时间】:2012-10-26 14:19:51 【问题描述】:

这是我的表格。

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

    搜索 2012 年 然后搜索提案编号 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

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

谢谢

【问题讨论】:

这是一个 SQL Server 后端是不是?您是否尝试过使用 where 语句设置记录源? 是的,它是一个 SQL Server 后端。我现在将尝试使用记录源。 哇,没有崩溃...那我什么时候应该使用过滤器? 显然过滤器和 SQL Server 可能存在一些问题,但我对这个主题还不够了解。您可能还想在这里查看 Allen Browne 的笔记:pcreview.co.uk/forums/… 我会记住这一点。谢谢你。你能写你的cmets作为答案吗? 【参考方案1】:

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

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

【讨论】:

以上是关于更改表单过滤器时访问崩溃的主要内容,如果未能解决你的问题,请参考以下文章

访问表单:在文本框中捕获日期更改

访问表单 - 查询表达式中的语法错误(缺少运算符)

使用带有数值的组合框访问过滤器表单

在子窗体中设置过滤器

PHP 表单更改以强制公开的视图过滤器以fllow过滤器选项

访问数据库后更改 DOM