|
Null в 0
|
|||
---|---|---|---|
#18+
Народ я снова с этим вопросом У Меня есть запрос Количество Тип Филиал Так вот при некоторых подсчетах "количество" выдает Null мне надо его заменить на 0 Я пишу в "условии отбора" Nz([Количество],0) И этот урод всерано не хочет дать мне 0 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2002, 16:35 |
|
Null в 0
|
|||
---|---|---|---|
#18+
так не в условии отбора ставить это...а вместо поля Колличество ставите... nz([Колличество];0) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2002, 16:47 |
|
Null в 0
|
|||
---|---|---|---|
#18+
Ну усли у тебя ISNULL([Количество]) возвращает TRUE то должно работать! В конце концов попробуй так IIF(ISNULL([Количество]),"НУЛЕВОЕ","НЕ НУЛЕВОЕ") ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2002, 16:50 |
|
Null в 0
|
|||
---|---|---|---|
#18+
Что-то давненько вы бьетесь с этой проблемой. Давайте подробней - версия акеса, пример данных, что мечтаете получить на выходе. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2002, 16:51 |
|
Null в 0
|
|||
---|---|---|---|
#18+
Народ я скоро раз...еб....уу...у... этот комп. Короче она все равно не работает.... Может еше есть решения... ???? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2002, 17:00 |
|
Null в 0
|
|||
---|---|---|---|
#18+
Незнаю пройдет ли ето в аксесе,но поробуй так select isnull(field,0) from table ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2002, 17:30 |
|
Null в 0
|
|||
---|---|---|---|
#18+
Аксес сразу оху...ел... от такой темы и Выслал меня... я даже не понял точно куда.... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2002, 17:35 |
|
Null в 0
|
|||
---|---|---|---|
#18+
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])); ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2002, 17:43 |
|
Null в 0
|
|||
---|---|---|---|
#18+
Так пишешь? SELECT Sum(nz([Детали заказов (реализация)].Количество;0)) AS VK ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2002, 17:57 |
|
Null в 0
|
|||
---|---|---|---|
#18+
... Хм... А Ты уверен в правельности синтассиса ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2002, 18:07 |
|
Null в 0
|
|||
---|---|---|---|
#18+
И Так всерано не хочет.......... :(..... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2002, 18:16 |
|
Null в 0
|
|||
---|---|---|---|
#18+
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])); И Так то же не пашет.... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2002, 18:25 |
|
Null в 0
|
|||
---|---|---|---|
#18+
Для начала попробуйте забрать предложения "WHERE..." и "HAVING...": будет ли у вас появляться 0 вместо NULL? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2002, 18:57 |
|
Null в 0
|
|||
---|---|---|---|
#18+
Так он уже тренировался на коротких запросах! Говорит - не работает! Предлогали-же уже вот такой вариант Код: plaintext 1. 2. 3.
Говорит не работает! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2002, 10:03 |
|
Null в 0
|
|||
---|---|---|---|
#18+
В этом запросе Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2002, 11:15 |
|
Null в 0
|
|||
---|---|---|---|
#18+
..Я все попробывал... не хочет и все..... Если не так то как...... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2002, 11:51 |
|
Null в 0
|
|||
---|---|---|---|
#18+
ты ж так и не ответил, что выдает на такой запрос: SELECT IIF(ISNULL(b.[Количество]),"НУЛЕВОЕ","НЕ НУЛЕВОЕ") FROM [Детали заказов (реализация)] b и поле b.[Количество] точно числовое, а не текстовое?? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2002, 12:05 |
|
Null в 0
|
|||
---|---|---|---|
#18+
Так он и говорит: Всегда выдает НЕ НУЛЕВОЕ! Так что, одно из двух! Либо поле текстовое, хотя оно тоже, помоему, может иметь значение 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. --- А тут я ничего не понял :( --- ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2002, 12:33 |
|
Null в 0
|
|||
---|---|---|---|
#18+
Возвращает значение типа 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. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2002, 12:45 |
|
Null в 0
|
|||
---|---|---|---|
#18+
если поле не числовое, а текстовое, то в него могли забить пробелы. а такой запрос не отрабатывает select b.* from [Детали заказов (реализация)] b where b.[Количество] is null интерестно много таких строк? если нету не одной, тогда можно изменить условие where b.[Количество] = '', а потом where b.[Количество] = ' ' ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2002, 12:47 |
|
Null в 0
|
|||
---|---|---|---|
#18+
2MaxP: Проверьте тип поля "Количество" функцией TypeName ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2002, 12:48 |
|
Null в 0
|
|||
---|---|---|---|
#18+
...Народ... А кто Из Вас Живет в Питере.... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2002, 13:52 |
|
Null в 0
|
|||
---|---|---|---|
#18+
2MaxP: по моему опыту, если у всех работает а у тебя не работает, значит проблема в тебе(в твоей структуре БД, запроса и т.д.) пришли свою базу по мылу(с минимумом данных и этот запрос.) Проше самому посмотреть и показать где ошибка, чем тыкаться во все тяжкие с такой ерундовой проблемой. И вобще не понятно, где в вашем запросе функция Nz(), на всякий случай перепечатываю запрос. Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2002, 16:22 |
|
Null в 0
|
|||
---|---|---|---|
#18+
кстати этот текст Код: plaintext
можно заменить на такой: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2002, 16:27 |
|
|
start [/forum/topic.php?fid=45&msg=32060823&tid=1683088]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
156ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 269ms |
0 / 0 |