如何在Microsoft Access中快速输入SQL?

如何在Microsoft Access中快速输入SQL?,sql,ms-access,ide,Sql,Ms Access,Ide,在Microsoft Access 2016中,我想单击某个地方并立即开始键入新查询的SQL。但到目前为止,我发现开始键入SQL的最短方法是: 选择菜单创建>查询设计。 在“显示表格”窗口中,按“关闭”按钮。 切换到SQL视图。 开始键入SQL。 太麻烦了。上述步骤1-3是否可以简化为较短的程序?我是否忽略了一些命令 我能做的最快的事情就是将步骤1和步骤3的命令放到快速访问工具栏上,然后我可以执行Alt+5、Esc、Alt+6等操作。但这仍然只执行步骤1-3。在等待更好的答案时,我创建了一个解决

在Microsoft Access 2016中,我想单击某个地方并立即开始键入新查询的SQL。但到目前为止,我发现开始键入SQL的最短方法是:

选择菜单创建>查询设计。 在“显示表格”窗口中,按“关闭”按钮。 切换到SQL视图。 开始键入SQL。 太麻烦了。上述步骤1-3是否可以简化为较短的程序?我是否忽略了一些命令


我能做的最快的事情就是将步骤1和步骤3的命令放到快速访问工具栏上,然后我可以执行Alt+5、Esc、Alt+6等操作。但这仍然只执行步骤1-3。

在等待更好的答案时,我创建了一个解决方案–一个仅限于Access的键盘快捷键,用于在英文版Microsoft Access 2016中执行上述步骤:

发送模式输入;//选择发送按键的模式 IfWinActive,ahk_类OMain ahk_exe MSACCESS.exe;//仅在MS Access应用程序的范围内 +^n::;/Ctrl+Shift+N的例程启动 邮寄cqd;//运行查询设计菜单命令 WinWaitActive,显示表ahk_类32770;//等待显示表格窗口 发送{Esc}!jqwq{End}{Left}{Space};//把剩下的钥匙送来 回来 IfWinActive;//IfWinActive段的结尾 按下Ctrl+Shift+N并等待一点*,SQL视图中会打开一个新的查询窗口,我可以开始键入SQL


*有时,MS Access在访问功能区的键盘快捷键和从查询设计视图切换到SQL视图时速度非常慢。

选项1:处理它

默认情况下,Access不支持任何比此更快的操作

选项2:在Access数据库中创建宏以自动执行任务,并将其绑定到密钥组合

您可以编写一个宏来自动执行命令栏操作,以及。我目前没有时间查找所需的命令,但我确信这是可能的

选项3:购买插件

有一些插件可以立即转到SQL视图,支持将SQL和结果放在同一个窗格中,并具有语法突出显示等功能

这种插件的一个例子是我没有任何附属关系

选项4:创建自己的

编写比Access默认提供的更好的SQL编辑器非常简单,因为Access默认提供的很少


您可以从一个带有接受SQL的文本框的表单开始,一个保存按钮、一个执行按钮需要一点VBA,以及一个显示查询结果的子表单。然后,您已经有了一些东西,可以打开它并立即开始键入。

下面的函数创建或更改一个简单的占位符查询,在“设计”视图中打开它,切换到突出显示文本的SQL视图,然后删除文本

将该函数用作宏的运行码操作,并将宏添加到快速访问工具栏。然后,您可以单击该图标并开始键入SQL

公共函数NewQuery Const cstrQueryName As String=USysQuery0 Dim数据库作为DAO.Database 将qdf设置为DAO.QueryDef 作为字符串的Dim strSql strSql=选择日期为今天; Set db=CurrentDb 对于db.querydfs中的每个qdf 如果qdf.Name=cstrQueryName,则 退出 如果结束 下一个 如果qdf什么都不是,那么 设置qdf=db.CreateQueryDefcstrQueryName 如果结束 qdf.SQL=strSql 关闭 DoCmd.OpenQuery cstrQueryName,acViewDesign DoCmd.RunCommand acCmdSQLView DoCmd.RunCommand acCmdDelete 端函数
第1步:尝试ALT+C,然后尝试ALT+CD我知道跳过第2步的唯一方法是按ESC键。@JonTout–我正在这样做,问题已更新。但这仍然要经历同样的3个动作,就是这样。采用不会改变/改进。@Gustav-不会。AHK仍然是一个解决方案:但也许有人找到了一些没有它的捷径。你知道,VBA并没有死。顺便说一句,你是微软公司的吗?你知道上面的方法是最短的,不会改变/改进。?谢谢。多年来,在这里委婉地命名为“用户之声”的文章中,有人提出了改进SQL查询编辑器的建议。到目前为止,他们都充耳不闻,尽管得到了大量MVP和其他接入光照派的支持——祝你好运。我喜欢这种方式!谢谢你添加这个答案,我喜欢。我会考虑这一个数据库已经有一些代码库,所以可以添加到那里。与MS Outlook不同的是,Access不可能在数据库之外有一些VBA代码,对吗?如果我们不算插件。同时,我发现我以前创建的AHK代码适合于没有代码库的新数据库。未来会证明我会坚持哪一条在我看来,如果您的数据库没有VBA代码模块,您也不会想要宏。所以,虽然不是suitab
对于你来说,这对我的数据库来说很方便,我很高兴你问了这个问题-我意识到这些解决方案是相辅相成的。每个部署都依赖于数据库:单个数据库,但多台计算机和多个用户。我的是依赖计算机的:一台计算机,通常是一个Windows用户,但有多个数据库。因此,他们为读者提供了适合其情景的备选方案。