重新查询ComboBox的基础数据的问题

时间:2016-02-23 18:53:44

标签: vba ms-access access-vba

我在刷新名为“Site”的表单中的组合框下面的查询时出现问题。我试图让用户能够以“员工”的形式输入员工,然后保存“员工”退出,用户被带回“站点”并拥有最近的输入的数据可在组合框中获得,该组合将基于通过“工作人员”收到的信息通过查询通知。

到目前为止,一切都有效,除非我无法正确刷新“网站”或受影响的特定控件; Site.OfficeContactId。我正在使用宏,但我转换为VBA进行发布。

    Function Macro2()
On Error GoTo Macro2_Err

    With CodeContextObject
        On Error Resume Next
        DoCmd.RunCommand acCmdSaveRecord
        If (.MacroError <> 0) Then
            Beep
            MsgBox .MacroError.Description, vbOKOnly, ""
        End If
        DoCmd.Close acForm, "Staff"
        DoCmd.Requery "Forms!Site.Controls!OfficeContactId"
    End With


Macro2_Exit:
    Exit Function

Macro2_Err:
    MsgBox Error$
    Resume Macro2_Exit

End Function

据我了解Do.CmdRequery "Forms!Site.Controls!OfficeContactId"应该做的伎俩,但它不适合我。

有什么建议吗?

由于

1 个答案:

答案 0 :(得分:0)

删除了禁止调试的辅助代码。截断为3个命令

DoCmd.RunCommand acCmdSave Record
DoCmd.Close acForm "Staff"
DoCmd.Requery "Forms!Site.Controls!OfficeContactId"

现在正在努力解决一个已知问题,即requery命令不能以不可见的形式运行,调试代码以在执行requery之前调用表单。