MS Access. Альтернативный SQL-редактор
Запись от amd48 размещена 30.06.2020 в 11:37
Показов 2122
Комментарии 1
Метки ms access
|
Здесь SQL-редактор я размышлял вслух и спрашивал всякие советы об этом своём творении. Решил сухой остаток перенести в блог. Он-то уже никуда не уплывёт. Кратко, что это такое и зачем. В MSA встроенный редактор запросов имеет много ограничений в использовании и интерфейс, не превосходящий возможностей notepad.exe. А после работы в серьёзных средах (PL/SQL Developer для Oracle или MS SQL Server Management Studio) MSA просто удручает. И вот, под этим впечатлением сделана попытка воспроизвести нечто подобное. В редакторе используется RTF-форматирование, которое стало доступно в MSA 2010. В 2003 и более ранних версиях он работать не будет. В приведённой теме можно найти его ещё не-RTF-версию. Редактор может быть полезен тем, кто предпочитает писать запросы руками, а не мышкой в конструкторе. Особенно это касается вложенных запросов, с использованием UNION и прочих, где конструктор не годится. Редактор состоит из MSA-формы fSQLEditor и модуля mSQLEditor. Их можно импортировать в любую вашу базу и работать с её таблицами и запросами. В приложенной базе есть форма frmExportForm, позволяющая одним кликом экспортировать редактор в вашу БД. Редактор будет доступен даже mde-базах, где стандартная среда разработки отключена. Возможности: - зарезервированные SQL-слова переводятся к верхнему регистру и окрашиваются в синий цвет - зарезервированные VBA-слова переводятся к Регистру и окрашиваются в бирюзовый цвет. И те и другие слова перечислены в массивах sSQL и sVBA в процедуре ColorRTF модуля mSQLEditor. Я перечислил там всё, что смог вспомнить. Можете дополнить своими при желании - текстовые строки внутри кавычек и апострофов, а так же числа окрашиваются в красный цвет - строки, начинающиеся на "--" считаются комментариями и окрашиваются в зелёный цвет. По задумке эти строки перед выполнением отбрасываются. Не всегда срабатывает ![]() - исполнять можно весь текст запроса целиком (курсор ничего не выделяет) или только выделенный фрагмент. Клавишами Shift+F7. - подстановка имён таблиц и запросов текущей БД. Вызывается кликом ПКМ: - подстановка имён полей после точки. Вызывается кликом ПКМ: После выполнения запроса: - в нижней части формы выводится таблица с результатом запроса, если это SELECT. - на вкладке "интерпретатор" выводится отформатированный самим MSA запрос, если он синтаксически корректен. Это текст запроса "qTemp", который создаётся каждый раз при выполнении запроса из редактора Навигатор по сохранённым запросам БД (кнопка "запросы БД" на форме): - Тип запроса отмечается соответствующей буквой: s - select t - TRANSFORM d - delete u - update i - insert c - create ↀ - union - в навигаторе можно сохранить интерпретированный запрос, добавив к нему текстовое описание, которое задаётся через свойства запроса. - можно открыть встроенный редактор запросов, если он доступен - любой текст, набранный в редакторе, можно сохранить на диск в текстовый файл с расширением sql (см. кнопки слева вверху формы). А потом открыть в редакторе. При этом файл может содержать несколько запросов и комментарии. Выполнять его содержимое вы, всё равно, будете только выделенными фрагментами Обновления 20.07.2020 Попытка сделать из редактора надстройку не удалась. Не видит она чужие источники данных (т.е. текущей БД). Из другого аналогичного редактора позаимствовал обработку ошибок. Теперь ошибки синтаксиса и прочие при попытке исполнения SQL-кода выводятся на вкладку интерпретатора |
Метки ms access
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 1
Комментарии
-
Доброй ночи. Какая хорошая идея и ее реализация. Браво! Но вот вопрос, тормозит при вводе кода жутко. Так и должно быть?Запись от Varyag13 размещена 21.02.2021 в 21:33



