【问题标题】:Cannot close and reopen Form in Access (OLE Connetion)无法在 Access 中关闭并重新打开表单(OLE 连接)
【发布时间】:2015-09-22 16:05:16
【问题描述】:

我是 VBA 菜鸟,但也许你可以帮忙:

我想刷新我的主表单“FinalForm”上的所有表单(子表单)和查询。但是,我使用 Access 作为 SQL Server 的前端。显然,通常的按钮(使用向导创建,如刷新、新记录等)将不起作用。

我通过关闭并重新打开表单创建了一个(愚蠢的)解决方法:

Private Sub Befehl71_Click()
    DoCmd.Close acForm, "FinalForm"
    DoCmd.OpenForm FormName:="FinalForm"
End Sub

这在 vba 编辑器中工作正常,但如果由按钮触发则失败(关于 ole 通信错误)。

我该如何解决这个问题?

【问题讨论】:

  • “关于 ole 通信错误的一些事情”——也许实际的错误消息可能会有所帮助。
  • 我真的不知道为什么,但突然它起作用了:现在的代码是:Private Sub Befehl77_Click() DoCmd.Close acForm, "FinalForm" DoCmd.OpenForm FormName:="FinalForm" End Sub跨度>
  • 也很抱歉这个可怕的毁容线程......

标签: ms-access vba


【解决方案1】:

标准的VBA程序是

Me.Requery

仅适用于子表单

Me.PUT_SUBFORM_NAME_HERE.Form.Requery

【讨论】:

  • 来自 OP:同样的错误:与 OLE 服务器或 ActiveX 元素的通信错误...但是 me.requery 甚至在编辑器中都不起作用(编译错误,禁止使用关键字 me)为什么这么难……?
  • 试试 FormName.Requery 其中 FormName 是表单的名称
  • 我试过了,还是没有成功(同样的错误)。您更新的代码也没有成功。
  • Me.WHATEVER 只有在处于调试模式时才能在编辑器中使用。您尝试时是否处于调试模式?但我为你感到高兴,它现在可以工作了。
  • 谢谢,顺便说一句。你知道为什么像“新记录”这样的标准按钮命令在 odbc/sql 场景中不起作用吗?
猜你喜欢
  • 2014-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-02
  • 2018-11-25
  • 1970-01-01
  • 2023-01-23
  • 1970-01-01
相关资源
最近更新 更多