访问 VBA 拼写检查子表单的一个字段

Posted

技术标签:

【中文标题】访问 VBA 拼写检查子表单的一个字段【英文标题】:Access VBA Spell Check One Field of a Subform 【发布时间】:2015-03-26 14:05:17 【问题描述】:

我试图让备忘录字段在离开字段时进行拼写检查,并在它离开子表单到主表单时进行拼写检查。我希望无需单击按钮即可自动完成此操作,因为我需要数据尽可能准确且无错误。

在主表单中,一旦您离开该字段,我已使用此代码对标题字段进行拼写检查。

Private Sub DetailedTitle_Exit(Cancel As Integer)

'This code works to spellcheck the title after leaving.

With Me!DetailedTitle
    If Len(.Value) > 0 Then
        DoCmd.SetWarnings False
        .SelStart = 1
        .SelLength = Len(.Value)
        DoCmd.RunCommand acCmdSpelling
        .SelLength = 0
        DoCmd.SetWarnings True
    End If
End With

End Sub

这很有效,因为用户将有 99% 的时间从主表单中的该字段移动到另一个字段。当我在子表单上使用时,即使我使用退出字段事件和退出子表单事件,这也不起作用。它似乎工作,但如果你点击它实际上会给出一个错误。我不够聪明,没有注意到错误,因此我删除了代码。

如果我可以让它循环考虑子表单,我也不会反对,因为它是一个连续的表单,但只有一个字段。

欢迎任何建议或提示。我最近才知道 Do.Cmd.RunCommand acCmdSpelling,但似乎缺少关于子表单的内容。谢谢。

【问题讨论】:

【参考方案1】:

我做了一些研究:http://www.pcreview.co.uk/threads/run-the-spell-check-through-code.1636292/

一位用户提到您要检查的控件必须处于焦点位置。

Sub subformMemo_OnExit()
  Me.subformMemo.setfocus
  DoCmd.RunCommand acCmdSpelling
End Sub

另一方面,此代码会产生无法离开控件的问题,因为您总是会再次对其设置焦点。

这有帮助吗?

【讨论】:

以上是关于访问 VBA 拼写检查子表单的一个字段的主要内容,如果未能解决你的问题,请参考以下文章

MS Access 中的拼写检查 VBA 子程序已停止工作

MS Access 2013:通过 VBA 使用 MS Word 的语法检查

禁用对 HTML 文本字段的拼写检查

表单元素内容禁用拼写检查

如何在 JavaScript 中访问 Chrome 拼写检查建议

我可以在我的表单元素上配置拼写检查属性使用的字典语言吗?