Сбросить порядок столбцов запросов Microsoft Access, чтобы они соответствовали SQL после того, как они были переупорядочены в представлении таблицы? - PullRequest
0 голосов
/ 13 марта 2020

В представлении таблицы запроса Microsoft Access, если столбцы переупорядочиваются путем их перетаскивания, они больше не следуют порядку, определенному в SQL. Если порядок столбцов снова изменяется в SQL, порядок в Таблице больше не следует. Даже если ордер перетащен назад, чтобы соответствовать SQL, он все равно не начнет повторяться после SQL. Порядок столбцов таблицы данных по существу застрял в «ручном режиме».

Как это можно сбросить, чтобы порядок столбцов начинался после SQL снова?

Я искал StackOverflow и Google для ответа на этот вопрос, но не нашел ни одного.

Примечание: я очень хорошо владею Access VBA, поэтому, если кто-то знает о stati c или переходном свойстве для этого, скрытого глубоко в коллекции свойств запрос, я могу работать с этим. Спасибо.

1 Ответ

0 голосов
/ 13 марта 2020

Для каждого поля в QueryDef установите значение поля .Properties("ColumnOrder").Value = 0

. Вот пример в окне «Немедленно». Я вручную переместил первый столбец в последнюю позицию на листе данных и сохранил запрос с этим макетом.

? CurrentDb.QueryDefs("qryBase").Fields.Count
 3 

for i = 0 to 2 : ? CurrentDb.QueryDefs("qryBase").Fields(i).Properties("ColumnOrder").Value : next
 3 
 1 
 2 

Изменение ColumnOrder на 0 приводит к тому, что Access использует опцию querydef SQL чтобы определить порядок столбцов для представления таблицы:

for i = 0 to 2 : CurrentDb.QueryDefs("qryBase").Fields(i).Properties("ColumnOrder").Value = 0 : next

for i = 0 to 2 : ? CurrentDb.QueryDefs("qryBase").Fields(i).Properties("ColumnOrder").Value : next
 0 
 0 
 0 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...