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_Batch File_Window - Fatal编程技术网

Vba 隐藏后台访问主窗口时显示查询结果

Vba 隐藏后台访问主窗口时显示查询结果,vba,ms-access,batch-file,window,Vba,Ms Access,Batch File,Window,我正在使用Access 2007进行Access 2003 MDB项目,在尝试显示查询结果时遇到了一些问题。这里没什么特别的: DoCmd.OpenQuery“myQuery”,acViewNormal 简单来说,它非常有效。但是,我使用以下代码隐藏后台访问窗口: Private声明函数apiShellExecute Lib“shell32.dll”别名“ShellExecuteA”(ByVal hwnd为长,ByVal lpOperation为字符串,ByVal lpFile为字符串,ByV

我正在使用Access 2007进行Access 2003 MDB项目,在尝试显示查询结果时遇到了一些问题。这里没什么特别的:

DoCmd.OpenQuery“myQuery”,acViewNormal
简单来说,它非常有效。但是,我使用以下代码隐藏后台访问窗口:

Private声明函数apiShellExecute Lib“shell32.dll”别名“ShellExecuteA”(ByVal hwnd为长,ByVal lpOperation为字符串,ByVal lpFile为字符串,ByVal lpParameters为字符串,ByVal lpDirectory为字符串,ByVal nShowCmd为长)为长
全局常量SW_HIDE=0
全局常数SW_SHOWNORMAL=1
全局常数SW_=2
全局常数SW_showmized=3
函数fSetAccessWindow(nCmdShow As Long)
暗淡的loX和长的loX一样
形如形
出错时继续下一步
设置loForm=Screen.ActiveForm
如果错误为0,则
loX=apiShowWindow(hWndAccessApp、nCmdShow)
呃,明白了
如果结束
如果nCmdShow=SW_show最小化且loForm.Modal=True,则
MsgBox“无法使用最小化访问”_
&(loForm.Caption+“”)_
&“屏幕上的表单”
ElseIf nCmdShow=SW_HIDE And loForm.PopUp则为True
MsgBox“无法隐藏对的访问”_
&(loForm.Caption+“”)_
&“屏幕上的表单”
其他的
loX=apiShowWindow(hWndAccessApp、nCmdShow)
如果结束
fSetAccessWindow=(loX 0)
端函数
显然,我可以调用fSetAccessWindow(1)来返回完整的接口,但我想在这里只显示查询结果,而不是Access的完整接口。可能吗?某些用户使用批处理文件运行数据库(不确定是否会产生任何影响):


另外,因为我的所有表单都是modals(必须在没有界面的情况下工作,或者窗口不显示),所以查询结果显示在后台,没有任何方式设置焦点(用户必须关闭活动应用程序窗口才能设置焦点).

似乎除了构建一个将查询用作其记录源的表单之外,没有其他解决方案。

构建一个将myQuery用作其记录源的表单。然后,打开表单,而不是
DoCmd.OpenQuery“myQuery”
。这应该在应用程序窗口隐藏的情况下工作。是的,它应该。我只是想知道是否有其他方法可以节省我一些时间,但我想为它构建一个表单不会太长。我不认为有其他方法,因为你不能直接打开一个查询并让它成为模态。我认为,当Access应用程序窗口被隐藏时,非模态应用程序片段无法显示。
start msaccess /runtime "myFile.mdb"