访问 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 2013:通过 VBA 使用 MS Word 的语法检查