Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用VBA保存查询_Vba_Ms Access - Fatal编程技术网

使用VBA保存查询

使用VBA保存查询,vba,ms-access,Vba,Ms Access,我有一个带有多个文本框的表单,用于过滤子表单。子窗体源对象是查询。为了过滤子表单,我更新了查询SQL并将查询重新指定为子表单上的源对象 Set qdf = db.QueryDefs("MyQuery") qdf.SQL = strNewSQL mySubForm.SourceObject = "Query.MyQuery" 过滤工作正常。但是,当我关闭表单时,会收到一条消息,询问我是否要保存对查询的更改。如何避免此消息 编辑:-在@June7的评论之后,使用 DoCmd.Close acFo

我有一个带有多个文本框的表单,用于过滤子表单。子窗体源对象是查询。为了过滤子表单,我更新了查询SQL并将查询重新指定为子表单上的源对象

Set qdf = db.QueryDefs("MyQuery")
qdf.SQL = strNewSQL
mySubForm.SourceObject = "Query.MyQuery" 
过滤工作正常。但是,当我关闭表单时,会收到一条消息,询问我是否要保存对查询的更改。如何避免此消息

编辑:-在@June7的评论之后,使用

DoCmd.Close acForm, "MyForm", acSaveNo
解决了我的问题


使用嵌入式宏和设置提示符=NO./P>< P>可以使用VBA代替嵌入式宏解决您的问题,但是可以认为代码可以简化为:

CurrentDb.QueryDefs("MyQuery").SQL = strNewSQL
Me.mySubForm.SourceObject = "Query.MyQuery"

我测试了代码,没有得到提示。你的结帐单怎么样?用完整的程序编辑问题谢谢你。我正在使用一个嵌入式宏来关闭窗体。我现在已经将其更改为使用
DoCmd.Close acForm,“MyForm”,acSaveNo
,现在我没有得到提示。