Страницы: 1
RSS
Excel 2010 + SQL запрос - порядок столбцов
 
При импорте данных из SQL Server 2008 R2 в Excel 2010, порядок столбцов не соответствует порядку в SQL запросе.
1) Например, есть запрос :
SELECT [Pole3],[Pole6] FROM [BUG]

В Excel 2010 в таблице столбцы выглядит так:
[Pole3] [Pole6]

2) Добавил в запрос еще одно поле для вывода, и поставил его в первую очередь.
SELECT [Pole1],[Pole3],[Pole6] FROM [BUG]

А В Excel 2010 в таблице столбцы выглядит так:
[Pole3] [Pole6] [Pole1]

Столбы пробовал перетащить, так он не хочет вставить между столбцами, перетаскиваемый столбец, а пытается заменить существующий на месте перетаскивания.
:(
Не могу победить его.
 
Через что запрос выполняете? Возможно именно такое указание полей(с квадратными скобками) не влияет на их расположение в результате. Не получиться так сделать?
Код
SELECT Pole1,Pole3,Pole6 FROM BUG

или так и делаете, а скобки нам для визуализации?

Скрытый текст
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Скобки я пишу, т.к. в именах полей если будут пробелы или тире, то запрос не понимает имя поля.
В Excel 2010 Данные --> Из других источников --> Из SQL Сервера.
Свойства подключения:
Подключение:
Код
Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;User ID=***;Initial Catalog=****;Data Source=****;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=****;Use Encryption for Data=False;Tag with column collation when possible=false

Тип Команды:
SQL

Текст команды:
Код
SELECT [ID_cash],[Unit_name].[Unit_name] AS [UNIT],[Unit_name1].[Unit_name] AS [Region], [Ключ5]  FROM [Temp-CASH-ALL]  INNER JOIN [Unit_name] ON [Unit_name].[ID_Unit]=[Unit_Uchet]  INNER JOIN [Unit_name] AS [Unit_name1] ON [Unit_name1].[ID_Unit]=[Region_name]  where [DATA] between  '01-04-2013' AND '30-04-2013'


[ID_cash] добавлено позже в запрос, стоит в запросе на первом месте, а в Экселе получается в последнем столбце.

Пока я писал ответ, коллега нашел решение :)

Решение:
Выбираем таблицу.
Выбираем закладку Конструктор.
Данные из внешней таблицы --> Свойства
Формат и разметка данных --> сохранить сведения о сортировке .... (Убираем галочку)
Обновляем данные.

Все работает, потом сами можем снова настроить все форматы полей, и включить если надо эту галочку обратно.
 
Цитата
Marchuk пишет:
[Unit_name].[Unit_name]
Я так понял - таблица и столбец имеют одинаковые названия?
Цитата
Marchuk пишет:
Текст команды:
Код
INNER JOIN [Unit_name] ON [Unit_name].[ID_Unit]=[Unit_Uchet]
А где указание столбца у Unit_Uchet? По какому столбцу идёт выборка?
There is no knowledge that is not power
 
Johny, это не таблица - это поле. Т.е. соответствует.
Код
[Unit_name].[ID_Unit]=[Temp-CASH-ALL].[Unit_Uchet]
[Unit_name1].[ID_Unit]=[Temp-CASH-ALL].[Region_name]
2008-й это позволяет - это всё же не Jet :)
Страницы: 1
Наверх