MS Access 中的拼写检查 VBA 子程序已停止工作
Posted
技术标签:
【中文标题】MS Access 中的拼写检查 VBA 子程序已停止工作【英文标题】:Spell checking VBA sub in MS Access has stopped working 【发布时间】:2020-11-16 10:35:08 【问题描述】:我有一个子程序几个月来一直运行良好,但现在,代码没有任何变化,它突然开始出错。这是用于拼写检查文本框内容的 VBA 代码。代码如下:
Sub SpellCheck(ByRef YourTB As TextBox)
With YourTB
.SetFocus
.SelStart = 0
.SelLength = Len(YourTB)
DoCmd.RunCommand acCmdSpelling
.SetFocus
.SelStart = 0
.SelLength = 0
End With
End Sub
我得到的错误是: 错误 2046 - 命令或操作“拼写”现在不可用。
正如我所说,它以前运行良好,但现在突然停止为数据库的所有用户工作。我的 Google 搜索只找到了一些关于此的报告,没有找到我能找到的解决方案。
仅供参考,此访问通过 Microsoft 365 E3 订阅,Win10 上的所有 PC。
有什么想法吗?提前致谢!
【问题讨论】:
【参考方案1】:好的,我已经弄清楚出了什么问题,所以在这里发帖以防其他人有所帮助。
发现表单记录源(查询)已被修改,并且是只读的。似乎拥有只读记录源将不允许运行拼写检查(因为您可能无法更改数据)。
查询并不意味着是只读的,但由于表单上正在修改的数据未链接到查询,因此并未发现它是一个问题。
调整查询使其不是只读的,允许再次运行拼写检查。
【讨论】:
以上是关于MS Access 中的拼写检查 VBA 子程序已停止工作的主要内容,如果未能解决你的问题,请参考以下文章
MS Access 2013:通过 VBA 使用 MS Word 的语法检查
从 Excel VBA 的 MS Access 表单中获取价值