powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / ODBC. Не работает запрос
7 сообщений из 7, страница 1 из 1
ODBC. Не работает запрос
    #39606517
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

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

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

Как правильно написать запрос?
...
Рейтинг: 0 / 0
ODBC. Не работает запрос
    #39606941
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в поле [Юр лицо] значение как текст, то воспринимает как Null. А если как число, то воспринимает нормально. Почему так?
...
Рейтинг: 0 / 0
ODBC. Не работает запрос
    #39606942
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в исходнике в поле [Юр лицо] задать текстовый формат, то нормально работает. Как надо написать запрос так, чтобы работало независимо от того задан формат как текст или нет?
...
Рейтинг: 0 / 0
ODBC. Не работает запрос
    #39606971
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ferzmikk, а зачем полю [Юр лицо] задавать формат, отличный от текстового? Вы их складывать или перемножать, что ли, собираетесь?
...
Рейтинг: 0 / 0
ODBC. Не работает запрос
    #39606973
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Казанский а зачем полю [Юр лицо] задавать формат, отличный от текстового?Когда вставляешь данные в лист, то умолчанию формат "Общий".
...
Рейтинг: 0 / 0
ODBC. Не работает запрос
    #39606984
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот еще пример. Соединяю две таблицы и выводит "Недопустимое использование 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
ODBC. Не работает запрос
    #39607013
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему ошибка указывает на Null, если используется функция isnull?
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / ODBC. Не работает запрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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