Гость
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / ODBC. Не работает запрос / 7 сообщений из 7, страница 1 из 1
23.02.2018, 13:16
    #39606517
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC. Не работает запрос
Здравствуйте!

Есть SQL-запрос, который запускается в excel к листу через ODBC. Странно работает. Пишет "Недопустимое использование NULL". Это все из за поля [Юр лица]. Там есть и текст, и число. Но NULL в строках нету.

Запрос во вложении.

Как правильно написать запрос?
...
Рейтинг: 0 / 0
25.02.2018, 12:56
    #39606941
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC. Не работает запрос
Если в поле [Юр лицо] значение как текст, то воспринимает как Null. А если как число, то воспринимает нормально. Почему так?
...
Рейтинг: 0 / 0
25.02.2018, 13:04
    #39606942
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC. Не работает запрос
Если в исходнике в поле [Юр лицо] задать текстовый формат, то нормально работает. Как надо написать запрос так, чтобы работало независимо от того задан формат как текст или нет?
...
Рейтинг: 0 / 0
25.02.2018, 15:48
    #39606971
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC. Не работает запрос
ferzmikk, а зачем полю [Юр лицо] задавать формат, отличный от текстового? Вы их складывать или перемножать, что ли, собираетесь?
...
Рейтинг: 0 / 0
25.02.2018, 15:51
    #39606973
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC. Не работает запрос
Казанский а зачем полю [Юр лицо] задавать формат, отличный от текстового?Когда вставляешь данные в лист, то умолчанию формат "Общий".
...
Рейтинг: 0 / 0
25.02.2018, 16:42
    #39606984
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC. Не работает запрос
Вот еще пример. Соединяю две таблицы и выводит "Недопустимое использование NULL".

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
SELECT
	Т1.[Код ТТ],
	Т1.[Код номенклатуры],
	Т1.[Дата],
	Т1.[Мера1],
	IIF(ISNULL(Т2.[Дата и время начала]),0,1) AS [День блокировки]
FROM
	(SELECT
		Тв1.[Код ТТ],
		CStr(Тв1.[Код номенклатуры]) AS [Код номенклатуры],
		CDate(Тв1.[Дата]) AS [Дата],
		IIf(IsNull(Тв1.[Мера1]),Null,CDbl(Тв1.[Мера1])) AS [Мера1]
	FROM
		[ИД_Исходные данные$] Тв1) AS Т1
LEFT JOIN
	(SELECT
		CStr(Тв2.[Код номенклатуры]) AS [Код номенклатуры],
		Тв2.[Код ТТ],
		IIf(IsNull(Тв2.[Юр лицо]),Тв2.[Юр лицо],Cstr(Тв2.[Юр лицо])) AS [Юр лицо],
		CDate(Тв2.[Дата и время начала]) AS [Дата и время начала],
		CDate(Тв2.[Дата и время окончания]) AS [Дата и время окончания]
	FROM
		[ИД_Блокировка$] Тв2
) AS Т2
ON
	Т1.[Код ТТ] = Т2.[Код ТТ]
	AND
	Т1.[Код номенклатуры] = Т2.[Код номенклатуры]
	AND
	((Т1.[Дата] >= Т2.[Дата и время начала] AND Т2.[Дата и время окончания] =CDate('01.01.1900') )
	OR
	(Т1.[Дата] >= Т2.[Дата и время начала] AND Т1.[Дата] <=Т2.[Дата и время окончания]))


Поле [День блокировки] отображает, если в этот день была блокировка в соответствии таблице ИД_Блокировка, то возвращает 1, иначе 0.

Выделенную строку надо как то по другому написать, чтобы не отображал ошибку. Как правильно написать?
...
Рейтинг: 0 / 0
25.02.2018, 19:19
    #39607013
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC. Не работает запрос
Почему ошибка указывает на Null, если используется функция isnull?
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / ODBC. Не работает запрос / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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