访问VBA拼写检查子窗体的一个字段

时间:2015-03-26 14:05:18

标签: vba ms-access spell-checking subform

我试图让备忘录字段在离开字段时被拼写检查,并且当它将子表单留给主表单时。我想在没有点击按钮的情况下自动完成此操作,因为我需要数据尽可能准确无误。

在主要表单中,我使用此代码在您离开现场时拼写检查标题字段。

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%的时间从此字段移动到主窗体中的另一个字段。当我在子窗体上使用时,即使我使用on exit字段事件和on exit子窗体事件,这也不起作用。它似乎工作,但如果你点击它实际上会给出一个错误。我没有足够的智慧来记录错误,我已经删除了代码。

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

欢迎任何建议或提示。我刚刚了解了Do.Cmd.RunCommand acCmdSpelling,但似乎缺少关于子表单的内容。感谢。

1 个答案:

答案 0 :(得分:0)

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

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

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

另一方面,此代码会产生无法离开控件的问题,因为您将始终再次对其进行设置。

这有帮助吗?