Combobox.requery在另一个表单的子表单中不起作用

问题描述 投票:-1回答:2

我以前问了相关问题,但没有解决问题。所以,我将再次发布更多细节。

我有一个形式frmMain,其中包含一个子表单frmSubfrmSub包含一个combobox subCombo。在subCombo的Not_in_List事件中,我有以下代码:

If msgbox ("Do you want to add this data in list?", vbYesNo) = VbYes then
   DoCmd.OpenForm "frmList", acNormal,,, acFormAdd, acDialog, NewData &";"
Response = acDataErrContinue
DoCmd.CancelEvent
Me.ActiveControl.Undo

End if

这将打开frmList,我成功添加了这个新数据,在那里的保存按钮中,我有代码来更新subCombo的行源:

DoCmd.Save
Me.Refresh

'make new data available in subCombo on frmMain
Forms!frmMain.frmSub.form.subCombo.Requery

但是最后一行代码不起作用。因此,subCombo不受影响。我不确定是什么导致了这个问题。如果你能提供帮助,我将不胜感激。

ms-access access-vba
2个回答
0
投票

Refer to Form and Subform properties and controls

你需要

Forms!frmMain!frmSub.Form!subCombo.Requery

请注意额外的.Form


0
投票

好吧,问题终于解决了!

事实证明,我不需要从subCombo重新查询frmList,因为它是以acDailog模式打开的,并且暂停了Not_in_List subCombo事件的前一个代码。相反,我把me.subCombo.Requery放在End If线之前的Not_in_List线上,它就像一个魅力。最终代码如下:

`If msgbox ("Do you want to add this data in list?", vbYesNo) = VbYes then`
`DoCmd.OpenForm "frmList", acNormal,,, acFormAdd, acDialog, NewData &";"`
`Response = acDataErrContinue`
`DoCmd.CancelEvent`
`Me.ActiveControl.Undo`

`End if`
© www.soinside.com 2019 - 2024. All rights reserved.