Autohotkey
February 11, 2023
Как создать SQL-запрос в Access
🌰 Создаём новый запрос сразу в режиме SQL с помощью скрипта на AHK
Если Вы решили создать новый запрос в Access, то нажимаете «Создание», «Конструктор запросов», Закрываете окошко с выбором таблиц, и только потом кнопку «SQL». Как можно ускорить этот процесс, чтобы сразу перейти к вводу SQL-кода? Нам поможет следующий скрипт на AutoHotKey, основанный на макросе со StackOverflow:
#Requires AutoHotkey v2+ #HotIf WinActive("ahk_class OMain") ; Когда активно окно Access ^sc31:: AccessNewQuery() ; Новый SQL-запрос по ctrl+N AccessNewQuery(*) { QUERY_NAME := "NewQuery" ; имя нового запроса try { app := ComObjActive("Access.Application") ; берём access... } Catch { Tooltip('AccessNewQuery FAIL: ComObjActive("Access.Application")') SetTimer(()=>Tooltip(), 1000) Return } db := app.CurrentDb qdf := "" found := false For qdf In db.QueryDefs { ; Переберём запросы, может, уже есть с таким именем If (qdf.Name = QUERY_NAME) { found := true Break } } If !found { ; Создаём новый запрос qdf := db.CreateQueryDef(QUERY_NAME) qdf.SQL := "SELECT Date() AS Today;" ; Текст запроса — на Ваш вкус qdf.Close() } app.DoCmd.OpenQuery QUERY_NAME, 1 ; 1 = открыть запрос на редактирование app.DoCmd.RunCommand 184 ; 184 = acCmdSQLView (переключить на SQL-режим) app := "" }
Скачать готовый скрипт
Сканкод sc31 соответствует клавише N и теперь при нажатии на Ctrl+N будет открываться редактор запросов с текстом SELECT Date() AS Today
.
Разумеется, горячую клавишу можно задать любую другую.