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

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

Запись от amd48 размещена 30.06.2020 в 11:37
Показов 2233 Комментарии 1
Метки ms access

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

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

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

Навигатор по сохранённым запросам БД (кнопка "запросы БД" на форме):
Нажмите на изображение для увеличения
Название: Безымянный3.png
Просмотров: 708
Размер:	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 Кб, 374 просмотров)
Метки ms access
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 1
Комментарии
  1. Старый комментарий
    Доброй ночи. Какая хорошая идея и ее реализация. Браво! Но вот вопрос, тормозит при вводе кода жутко. Так и должно быть?
    Запись от Varyag13 размещена 21.02.2021 в 21:33 Varyag13 вне форума
 
Новые блоги и статьи
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru