Как редактор запросов Access решает, отменить ли мое форматирование? - PullRequest
6 голосов
/ 08 ноября 2011

Как и многие разработчики, которым не безразличен синтаксис SQL, я разочаровываюсь при работе с редактором запросов Access.Я говорю о необработанном представлении Синтаксис SQL , очевидно.

Одним из многих раздражающих свойств является то, что при сохранении он отбрасывает мой макет / форматирование.При повторном открытии запроса все, что я вижу, это набор неформатированного SQL.

Однако, если мой синтаксис достаточно длинный и / или достаточно сложный, я заметил, что Access сохранит мое форматирование и компоновкуи, о, радость, запрос остается ясным и читабельным.Сейчас я смотрю на пример со страницей SQL, содержащей пару UNIONs, все из которых были хорошо выложены несколько дней назад.

В какой момент Access переворачивается, чтобы позволить пользователю сохранить егособственное форматирование?Это длина?Сложность?И есть ли, может быть, даже тривиальное структурное редактирование (если тривиальное структурное не оксюморон), которое я могу сделать для всех моих запросов, которые заставят Access оставить мой макет на месте?

Ответы [ 4 ]

3 голосов
/ 08 ноября 2011

Есть некоторые вещи, которые редактор запросов Access не может отображать в режиме разработки.
Запросы с UNION - единственное, что приходит мне в голову на данный момент, но, вероятно, их больше.

По моему опыту, Access всегда меняет макет, пока он способен отображать запрос в режиме разработки.
Как только вы помещаете в запрос что-то, что Access не может отображаться в режиме конструктора (например, UNION), Access оставляет ваш макет и форматирование без изменений.

2 голосов
/ 29 октября 2012

Я не мог понять, почему Access продолжал изменять мой формат в запросе объединения (но не для каждого включенного запроса или таблицы).

Я просто создал другой запрос SELECT на основе запроса объединения и исправил всев представлении дизайна.Это намного проще.

Когда я создал запрос SELET на основе запроса UNION, я включил таблицы или запросы, которые я использовал в качестве таблиц поиска, и отформатировал поле для выбора второго столбца из записи в поиске.поле, которое запрос ubion анонимно преобразовал обратно в первое поле в выбранной записи (обычно это номер ID записи).

Например, я мог бы найти имя учетной записи в записи в таблице выплат наличными, которая должна отображать «Расходные материалы для офиса», но запрос объединения преобразует хотя бы один из запросов или таблиц, которые я объединил в объединениизапрос к номеру счета, первой записи в таблице поиска, которая изначально была скрыта в поле поиска.

1 голос
/ 16 ноября 2011

Просто чтобы добавить ответ Кристиана, я провел еще несколько тестов и обнаружил, что запросы UNION и DDL остаются одними только для Access.

Если мы добавим Пропустить через запросы к этому списку, то это будет соответствовать запросам, которые считаются Специфичными для SQL в меню:

enter image description here

Так что, похоже, это три особых случая.

0 голосов
/ 26 апреля 2016

Перед сохранением просто введите слово union перед ;.

После открытия Access в следующий раз, удалите слово union и начните работать. Если вы хотите сохранить, сначала наберите union.

...