Форум программистов, компьютерный форум, киберфорум
amd48
Войти
Регистрация
Восстановить пароль
Рейтинг: 5.00. Голосов: 1.

MS Access. Альтернативный SQL-редактор

Запись от amd48 размещена 30.06.2020 в 11:37
Обновил(-а) amd48 24.07.2020 в 14:26
Метки ms access

Здесь SQL-редактор я размышлял вслух и спрашивал всякие советы об этом своём творении. Решил сухой остаток перенести в блог. Он-то уже никуда не уплывёт.

Кратко, что это такое и зачем.
В MSA встроенный редактор запросов имеет много ограничений в использовании и интерфейс, не превосходящий возможностей notepad.exe. А после работы в серьёзных средах (PL/SQL Developer для Oracle или MS SQL Server Management Studio) MSA просто удручает. И вот, под этим впечатлением сделана попытка воспроизвести нечто подобное. В редакторе используется RTF-форматирование, которое стало доступно в MSA 2010. В 2003 и более ранних версиях он работать не будет. В приведённой теме можно найти его ещё не-RTF-версию.
Нажмите на изображение для увеличения
Название: Безымянный.png
Просмотров: 490
Размер:	24.3 Кб
ID:	6320
Редактор может быть полезен тем, кто предпочитает писать запросы руками, а не мышкой в конструкторе. Особенно это касается вложенных запросов, с использованием UNION и прочих, где конструктор не годится.
Редактор состоит из MSA-формы fSQLEditor и модуля mSQLEditor. Их можно импортировать в любую вашу базу и работать с её таблицами и запросами. В приложенной базе есть форма frmExportForm, позволяющая одним кликом экспортировать редактор в вашу БД. Редактор будет доступен даже mde-базах, где стандартная среда разработки отключена.
Возможности:
- зарезервированные SQL-слова переводятся к верхнему регистру и окрашиваются в синий цвет
- зарезервированные VBA-слова переводятся к Регистру и окрашиваются в бирюзовый цвет. И те и другие слова перечислены в массивах sSQL и sVBA в процедуре ColorRTF модуля mSQLEditor. Я перечислил там всё, что смог вспомнить. Можете дополнить своими при желании
- текстовые строки внутри кавычек и апострофов, а так же числа окрашиваются в красный цвет
- строки, начинающиеся на "--" считаются комментариями и окрашиваются в зелёный цвет. По задумке эти строки перед выполнением отбрасываются. Не всегда срабатывает
- исполнять можно весь текст запроса целиком (курсор ничего не выделяет) или только выделенный фрагмент. Клавишами Shift+F7.
- подстановка имён таблиц и запросов текущей БД. Вызывается кликом ПКМ:
Нажмите на изображение для увеличения
Название: Безымянный1.png
Просмотров: 439
Размер:	24.6 Кб
ID:	6321
- подстановка имён полей после точки. Вызывается кликом ПКМ:
Нажмите на изображение для увеличения
Название: Безымянный2.png
Просмотров: 427
Размер:	26.2 Кб
ID:	6322

После выполнения запроса:
- в нижней части формы выводится таблица с результатом запроса, если это SELECT.
- на вкладке "интерпретатор" выводится отформатированный самим MSA запрос, если он синтаксически корректен. Это текст запроса "qTemp", который создаётся каждый раз при выполнении запроса из редактора

Навигатор по сохранённым запросам БД (кнопка "запросы БД" на форме):
Нажмите на изображение для увеличения
Название: Безымянный3.png
Просмотров: 433
Размер:	19.1 Кб
ID:	6323
- Тип запроса отмечается соответствующей буквой:
s - select
t - TRANSFORM
d - delete
u - update
i - insert
c - create
ↀ - union
- в навигаторе можно сохранить интерпретированный запрос, добавив к нему текстовое описание, которое задаётся через свойства запроса.
- можно открыть встроенный редактор запросов, если он доступен
- любой текст, набранный в редакторе, можно сохранить на диск в текстовый файл с расширением sql (см. кнопки слева вверху формы). А потом открыть в редакторе. При этом файл может содержать несколько запросов и комментарии. Выполнять его содержимое вы, всё равно, будете только выделенными фрагментами


Обновления
20.07.2020
Попытка сделать из редактора надстройку не удалась. Не видит она чужие источники данных (т.е. текущей БД).
Из другого аналогичного редактора позаимствовал обработку ошибок. Теперь ошибки синтаксиса и прочие при попытке исполнения SQL-кода выводятся на вкладку интерпретатора
Вложения
Тип файла: zip sql_editorRTF.zip (294.7 Кб, 222 просмотров)
Размещено в Без категории
Показов 1522 Комментарии 1
Всего комментариев 1
Комментарии
  1. Старый комментарий
    Доброй ночи. Какая хорошая идея и ее реализация. Браво! Но вот вопрос, тормозит при вводе кода жутко. Так и должно быть?
    Запись от Varyag13 размещена 21.02.2021 в 21:33 Varyag13 вне форума
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru