Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel и SQL / 13 сообщений из 13, страница 1 из 1
22.01.2008, 12:01:11
    #35078257
Dryn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel и SQL
Доброе время суток.
Есть запрос к базе MSSQL2005 из файла Excel.
Если в тексте запроса я объявляю переменную скажем

DECLARE @DATE1 datetime
SET @DATE1=(convert(char(8),getdate()-10,112)) -- Дата свыше 10 дней

то запрос не возвращает в Excel ничего... хотя данные в Microsoft Query возвращает.

Вопрос собственно в следующем - как можно использовать переменные в завросе, может какие есть особенности для Excel (просто вычисление переменной в теле запроса увеличивает время отработки запроса в двое...)
...
Рейтинг: 0 / 0
22.01.2008, 12:49:50
    #35078484
LETME
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel и SQL
...чота не понял я ничего, честно говоря :)
Во-первых, никогда не встречался с ситуацией, когда в MS Query данные есть, а в Excel они не попадают.
Во-вторых, непонятно - если вы и увиличиваете время выполнения запроса за счет дополнительных условий, то при чем тут Excel? Как только выполнится запрос на сервере - Excel сразу же получит результат и вернет его.
Или я ошибаюсь?
...
Рейтинг: 0 / 0
22.01.2008, 12:54:17
    #35078510
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel и SQL
расчитайте ее в екселе и подставьте в запрос

Код: plaintext
strSql = "Select * from MyTable Where Somedate <= '" & Cstr(Now() -  10 ) & "' "

ЗЫЖ CStr надо еще обернуть Format для приведения в правильный вид


I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
22.01.2008, 13:20:41
    #35078612
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel и SQL
А про формат есть FAQ
...
Рейтинг: 0 / 0
22.01.2008, 13:34:24
    #35078673
Dryn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel и SQL
LETME...чота не понял я ничего, честно говоря :)
Во-первых, никогда не встречался с ситуацией, когда в MS Query данные есть, а в Excel они не попадают.
Во-вторых, непонятно - если вы и увиличиваете время выполнения запроса за счет дополнительных условий, то при чем тут Excel? Как только выполнится запрос на сервере - Excel сразу же получит результат и вернет его.
Или я ошибаюсь?

Вопрос собственно в следующем был...
коретно ли в запросе MS Query писать конструкции типа

DECLARE @DATE1 datetime
SET @DATE1=..............

SELECT ......

Если без DECLARE то запрос отрабатывает (в MS Query он в любом случае отрабатывает) и данные в Excel возвращает, а ежели поставить DECLARE то данные не возвращаются....
...
Рейтинг: 0 / 0
22.01.2008, 13:40:53
    #35078697
Dryn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel и SQL
Просто недавно обнаржул такую возможность - чтобы не экспортировать результаты запроса в Excel, а напрямую из него получать данные. Очень удобно... но вот проблема - не все запросы возвращают данные в Excel (я пользуюсь - Данные-Импорт внешних данных-Создать запрос и уже там пишу скприпт запроса (предваритеьно отладив его в SQL Manager Studio)
...
Рейтинг: 0 / 0
22.01.2008, 13:54:20
    #35078756
LETME
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel и SQL
DrynПросто недавно обнаржул такую возможность - чтобы не экспортировать результаты запроса в Excel, а напрямую из него получать данные. Очень удобно... но вот проблема - не все запросы возвращают данные в Excel (я пользуюсь - Данные-Импорт внешних данных-Создать запрос и уже там пишу скприпт запроса (предваритеьно отладив его в SQL Manager Studio)

Круууто!
А я и не знал что в MS Query можно еще и переменные объявлять!
...
Рейтинг: 0 / 0
22.01.2008, 14:03:34
    #35078802
Dryn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel и SQL
LETME DrynПросто недавно обнаржул такую возможность - чтобы не экспортировать результаты запроса в Excel, а напрямую из него получать данные. Очень удобно... но вот проблема - не все запросы возвращают данные в Excel (я пользуюсь - Данные-Импорт внешних данных-Создать запрос и уже там пишу скприпт запроса (предваритеьно отладив его в SQL Manager Studio)

Круууто!
А я и не знал что в MS Query можно еще и переменные объявлять!

я не утверждаю а спрашиваю...
Если в MS Query нельзя объявлять переменные то так и скажите и тема закрыта.
...
Рейтинг: 0 / 0
22.01.2008, 14:30:11
    #35078882
LETME
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel и SQL
Dryn
я не утверждаю а спрашиваю...
Если в MS Query нельзя объявлять переменные то так и скажите и тема закрыта.

А я утверждаю, что можно. Последовал Вашему примеру и к моему великому удивлению все работает. Спасибо за мысль! Может тоже пригодится...
...
Рейтинг: 0 / 0
22.01.2008, 14:31:21
    #35078886
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel и SQL
Возможно это нужно
...
Рейтинг: 0 / 0
22.01.2008, 15:06:10
    #35079033
Dryn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel и SQL
vkodorВозможно это нужно
как вариант, но параметр у меня просто объявляется в запросе и определяется тамже.

Всем спасибо.
...
Рейтинг: 0 / 0
22.01.2008, 15:43:45
    #35079177
Nitrolis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel и SQL
DrynДоброе время суток.
Есть запрос к базе MSSQL2005 из файла Excel.
Если в тексте запроса я объявляю переменную скажем

DECLARE @DATE1 datetime
SET @DATE1=(convert(char(8),getdate()-10,112)) -- Дата свыше 10 дней

то запрос не возвращает в Excel ничего... хотя данные в Microsoft Query возвращает.

Вопрос собственно в следующем - как можно использовать переменные в завросе, может какие есть особенности для Excel (просто вычисление переменной в теле запроса увеличивает время отработки запроса в двое...)

действительно... возвращает пустоту((( только через параметры.
вот еще обсуждение...
/topic/467501&hl=
...
Рейтинг: 0 / 0
22.01.2008, 15:51:19
    #35079210
Nitrolis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel и SQL
DrynДоброе время суток.
Есть запрос к базе MSSQL2005 из файла Excel.
Если в тексте запроса я объявляю переменную скажем

DECLARE @DATE1 datetime
SET @DATE1=(convert(char(8),getdate()-10,112)) -- Дата свыше 10 дней

то запрос не возвращает в Excel ничего... хотя данные в Microsoft Query возвращает.

Вопрос собственно в следующем - как можно использовать переменные в завросе, может какие есть особенности для Excel (просто вычисление переменной в теле запроса увеличивает время отработки запроса в двое...)

действительно... возвращает пустоту((( только через параметры.
вот еще обсуждение...
/topic/467501&hl=
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel и SQL / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]