Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Null в 0 / 25 сообщений из 27, страница 1 из 2
22.10.2002, 16:35
    #32060818
MaxP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null в 0
Народ я снова с этим вопросом

У Меня есть запрос
Количество Тип Филиал

Так вот при некоторых подсчетах "количество" выдает Null мне надо его заменить на 0

Я пишу в "условии отбора"

Nz([Количество],0)

И этот урод всерано не хочет дать мне 0
...
Рейтинг: 0 / 0
22.10.2002, 16:47
    #32060823
наутилус
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null в 0
так не в условии отбора ставить это...а вместо поля Колличество ставите... nz([Колличество];0)
...
Рейтинг: 0 / 0
22.10.2002, 16:50
    #32060824
mahoune
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null в 0
Ну усли у тебя ISNULL([Количество]) возвращает TRUE то должно работать!
В конце концов попробуй так
IIF(ISNULL([Количество]),"НУЛЕВОЕ","НЕ НУЛЕВОЕ")
...
Рейтинг: 0 / 0
22.10.2002, 16:51
    #32060825
klmnop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null в 0
Что-то давненько вы бьетесь с этой проблемой. Давайте подробней - версия акеса, пример данных, что мечтаете получить на выходе.
...
Рейтинг: 0 / 0
22.10.2002, 17:00
    #32060829
MaxP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null в 0
Народ я скоро раз...еб....уу...у... этот комп.
Короче она все равно не работает....
Может еше есть решения... ????
...
Рейтинг: 0 / 0
22.10.2002, 17:30
    #32060860
Maxx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null в 0
Незнаю пройдет ли ето в аксесе,но поробуй так
select isnull(field,0) from table
...
Рейтинг: 0 / 0
22.10.2002, 17:35
    #32060866
MaxP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null в 0
Аксес сразу оху...ел... от такой темы и Выслал меня... я даже не понял точно куда....
...
Рейтинг: 0 / 0
22.10.2002, 17:37
    #32060868
sFx
sFx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null в 0
Напиши текст запроса
...
Рейтинг: 0 / 0
22.10.2002, 17:43
    #32060879
MaxP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null в 0
SELECT Sum([Детали заказов (реализация)].Количество) AS VK, [Заказы(реализация)].Filials, Товар.Тип
FROM ((S_FILIAL INNER JOIN [Детали заказов (реализация)] ON S_FILIAL.[FIL ID] = [Детали заказов (реализация)].Filials) INNER JOIN [Заказы(реализация)] ON ([Заказы(реализация)].Filials = [Детали заказов (реализация)].Filials) AND ([Заказы(реализация)].[Номер заказа] = [Детали заказов (реализация)].[Номер заказа]) AND (S_FILIAL.[FIL ID] = [Заказы(реализация)].Filials)) INNER JOIN Товар ON (Товар.Filials = [Детали заказов (реализация)].Filials) AND (Товар.[Код товара] = [Детали заказов (реализация)].[Код товара]) AND (S_FILIAL.[FIL ID] = Товар.Filials)
WHERE ((([Заказы(реализация)].Форма_оплаты_Num)=3 Or ([Заказы(реализация)].Форма_оплаты_Num)=4) AND (([Заказы(реализация)].[Дата поступления])>=[Forms]![Кол-во]![StartDate] And ([Заказы(реализация)].[Дата поступления])<=[Forms]![Кол-во]![FinDate]))
GROUP BY [Заказы(реализация)].Filials, Товар.Тип
HAVING ((([Заказы(реализация)].Filials)=[Forms]![Кол-во]![FilCode]) AND ((Товар.Тип)=[Forms]![Кол-во]![Tov]));
...
Рейтинг: 0 / 0
22.10.2002, 17:57
    #32060891
am (a_mitin)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null в 0
Так пишешь?
SELECT Sum(nz([Детали заказов (реализация)].Количество;0)) AS VK
...
Рейтинг: 0 / 0
22.10.2002, 18:07
    #32060901
MaxP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null в 0
... Хм... А Ты уверен в правельности синтассиса ???
...
Рейтинг: 0 / 0
22.10.2002, 18:16
    #32060909
MaxP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null в 0
И Так всерано не хочет.......... :(.....
...
Рейтинг: 0 / 0
22.10.2002, 18:25
    #32060918
MaxP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null в 0
SELECT Sum(IIf(IsNull([Детали заказов (реализация)].[Количество]),0,[Детали заказов (реализация)].[Количество])) AS VK, [Заказы(реализация)].Filials, Товар.Тип
FROM ((S_FILIAL INNER JOIN [Детали заказов (реализация)] ON S_FILIAL.[FIL ID] = [Детали заказов (реализация)].Filials) INNER JOIN [Заказы(реализация)] ON ([Заказы(реализация)].Filials = [Детали заказов (реализация)].Filials) AND ([Заказы(реализация)].[Номер заказа] = [Детали заказов (реализация)].[Номер заказа]) AND (S_FILIAL.[FIL ID] = [Заказы(реализация)].Filials)) INNER JOIN Товар ON (Товар.Filials = [Детали заказов (реализация)].Filials) AND (Товар.[Код товара] = [Детали заказов (реализация)].[Код товара]) AND (S_FILIAL.[FIL ID] = Товар.Filials)
WHERE ((([Заказы(реализация)].Форма_оплаты_Num)=3 Or ([Заказы(реализация)].Форма_оплаты_Num)=4) AND (([Заказы(реализация)].[Дата поступления])>=[Forms]![Кол-во]![StartDate] And ([Заказы(реализация)].[Дата поступления])<=[Forms]![Кол-во]![FinDate]))
GROUP BY [Заказы(реализация)].Filials, Товар.Тип
HAVING ((([Заказы(реализация)].Filials)=[Forms]![Кол-во]![FilCode]) AND ((Товар.Тип)=[Forms]![Кол-во]![Tov]));



И Так то же не пашет....
...
Рейтинг: 0 / 0
22.10.2002, 18:57
    #32060932
BAlex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null в 0
Для начала попробуйте забрать предложения "WHERE..." и "HAVING...": будет ли у вас появляться 0 вместо NULL?
...
Рейтинг: 0 / 0
23.10.2002, 10:03
    #32061043
mahoune
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null в 0
Так он уже тренировался на коротких запросах! Говорит - не работает!
Предлогали-же уже вот такой вариант
Код: plaintext
1.
2.
3.
SELECT 
IIF(ISNULL(b.[Количество]), "НУЛЕВОЕ" , "НЕ НУЛЕВОЕ" )
FROM
[Детали заказов (реализация)] b

Говорит не работает!
...
Рейтинг: 0 / 0
23.10.2002, 11:15
    #32061084
BAlex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null в 0
В этом запросе
Код: plaintext
1.
2.
3.
SELECT 
IIF(ISNULL(b.[Количество]), "НУЛЕВОЕ" , "НЕ НУЛЕВОЕ" )
FROM
[Детали заказов (реализация)] b
не видно варианта "не работает". Постоянно выдает "НЕ НУЛЕВОЕ"?
...
Рейтинг: 0 / 0
23.10.2002, 11:51
    #32061102
MaxP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null в 0
..Я все попробывал... не хочет и все.....

Если не так то как......
...
Рейтинг: 0 / 0
23.10.2002, 12:05
    #32061103
denche
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null в 0
ты ж так и не ответил, что выдает на такой запрос:

SELECT

IIF(ISNULL(b.[Количество]),"НУЛЕВОЕ","НЕ НУЛЕВОЕ")

FROM

[Детали заказов (реализация)] b

и поле b.[Количество] точно числовое, а не текстовое??
...
Рейтинг: 0 / 0
23.10.2002, 12:33
    #32061123
mahoune
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null в 0
Так он и говорит: Всегда выдает НЕ НУЛЕВОЕ!
Так что, одно из двух!
Либо поле текстовое, хотя оно тоже, помоему, может иметь значение NULL, либо в поле значение не NULL :)

Syntax
IsNull (expression)
The required expression argument is a Variant containing a numeric expression or string expression.

-- Со String'ами работает ---

Remarks
IsNull returns True if expression is Null; otherwise, IsNull returns False. If expression consists of more than one variable, Null in any constituent variable causes True to be
returned for the entire expression.

--- Как я понял если в скобках стоит выражение а не переменная, ВСЕГДА возвращает True ---

The Null value indicates that the Variant contains no valid data. Null is not the same as Empty , which indicates that a variable has not yet been initialized. It is also not the same as a zero-length string ("") , which is sometimes referred to as a null string.

Important
Use the IsNull function to determine whether an expression contains a Null value. Expressions that you might expect to evaluate to True under some circumstances, such as If Var = Null and If Var <> Null, are always False. This is because any expression containing a Null is itself Null and, therefore, False.

--- А тут я ничего не понял :( ---
...
Рейтинг: 0 / 0
23.10.2002, 12:45
    #32061135
BAlex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null в 0
Возвращает значение типа Boolean, показывающее, является ли результатом выражения пустое значение (Null).

Синтаксис

IsNull(выражение)

Обязательный аргумент выражение представляет выражение типа Variant, содержащее числовое выражение или строковое выражение.

Дополнительные сведения

Функция IsNull возвращает True, если выражение имеет значение Null; в противном случае IsNull возвращает значение False. Если выражение содержит несколько переменных, то значение Null любой из этих переменных приводит к значению True, возвращаемому для всего выражения.

Значение Null указывает, что переменная типа Variant не содержит допустимых данных. Не следует путать значение Null со значением Empty
, указывающим, что переменная не была инициализирована. Это значение также не эквивалентно пустой строке (""), которую иногда называют строкой нулевой длины.

Внимание! Функция IsNull проверяет, содержит ли выражение значение Null. Выражения, которые могли бы при некоторых обстоятельствах иметь значение True, например, If Var = Null and If Var <> Null, всегда возвращают значение False. Еще раз подчеркнем, что любое выражение, содержащее внутри себя значение Null, всегда имеет значение Null и, следовательно, возвращает False.
...
Рейтинг: 0 / 0
23.10.2002, 12:47
    #32061138
denche
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null в 0
если поле не числовое, а текстовое, то в него могли забить пробелы.
а такой запрос не отрабатывает

select b.* from [Детали заказов (реализация)] b
where b.[Количество] is null

интерестно много таких строк?
если нету не одной, тогда можно изменить условие

where b.[Количество] = '', а потом where b.[Количество] = ' '
...
Рейтинг: 0 / 0
23.10.2002, 12:48
    #32061139
BAlex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null в 0
2MaxP:
Проверьте тип поля "Количество" функцией TypeName
...
Рейтинг: 0 / 0
23.10.2002, 13:52
    #32061192
MaxP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null в 0
...Народ... А кто Из Вас Живет в Питере....
...
Рейтинг: 0 / 0
23.10.2002, 16:22
    #32061307
sFx
sFx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null в 0
2MaxP: по моему опыту, если у всех работает а у тебя не работает, значит проблема в тебе(в твоей структуре БД, запроса и т.д.) пришли свою базу по мылу(с минимумом данных и этот запрос.) Проше самому посмотреть и показать где ошибка, чем тыкаться во все тяжкие с такой ерундовой проблемой. И вобще не понятно, где в вашем запросе функция Nz(), на всякий случай перепечатываю запрос.
Код: plaintext
1.
2.
3.
4.
SELECT Sum([Детали заказов (реализация)].Количество) AS VK, [Заказы(реализация)].Filials, Товар.Тип 
FROM ((S_FILIAL INNER JOIN [Детали заказов (реализация)] ON S_FILIAL.[FIL ID] = [Детали заказов (реализация)].Filials) INNER JOIN [Заказы(реализация)] ON ([Заказы(реализация)].Filials = [Детали заказов (реализация)].Filials) AND ([Заказы(реализация)].[Номер заказа] = [Детали заказов (реализация)].[Номер заказа]) AND (S_FILIAL.[FIL ID] = [Заказы(реализация)].Filials)) INNER JOIN Товар ON (Товар.Filials = [Детали заказов (реализация)].Filials) AND (Товар.[Код товара] = [Детали заказов (реализация)].[Код товара]) AND (S_FILIAL.[FIL ID] = Товар.Filials) 
WHERE ((([Заказы(реализация)].Форма_оплаты_Num)= 3  Or ([Заказы(реализация)].Форма_оплаты_Num)= 4 ) AND (([Заказы(реализация)].[Дата поступления])>=[Forms]![Кол-во]![StartDate] And ([Заказы(реализация)].[Дата поступления])<=[Forms]![Кол-во]![FinDate])) 
GROUP BY [Заказы(реализация)].Filials, Товар.Тип 
HAVING ((([Заказы(реализация)].Filials)=[Forms]![Кол-во]![FilCode]) AND ((Товар.Тип)=[Forms]![Кол-во]![Tov]));
...
Рейтинг: 0 / 0
23.10.2002, 16:27
    #32061310
sFx
sFx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null в 0
кстати
этот текст
Код: plaintext
(([Заказы(реализация)].[Дата поступления])>=[Forms]![Кол-во]![StartDate] And ([Заказы(реализация)].[Дата поступления])<=[Forms]![Кол-во]![FinDate]))


можно заменить на такой:

Код: plaintext
(([Заказы(реализация)].[Дата поступления]) between  [Forms]![Кол-во]![StartDate] And [Forms]![Кол-во]![FinDate]))
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Null в 0 / 25 сообщений из 27, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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