Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2010, 20:41   #1
Dobriak-ru
 
Регистрация: 24.03.2010
Сообщений: 3
По умолчанию null + число

Добрый вечер.
Недавно начал изучение Access, поэтому задаю, быть может, банальные вопросы.
Поскольку null + число дает null. Решил использовать функцию IIf. Но к сожалению использовать ее удачно у меня не получилось даже на примере проверки числа.
Цитата:
Проверка Null: IIf([Test]![Товар 1]<>"";[Test]![Товар 1];0)
То есть, возникает ошибка при условии true. Для условия false, происходит замена.
Есть ли какой-то способ сделать это по другому, так как для большого числа слагаемых, это весьма не удобно.

Также, буду благодарен, если ответите, на вопрос как лучше представить таблицу следующего вида.
Фамилия Сумма
.......................
Итого Сумма.
Собственно вопрос в том как добавить "итого". В запрос, как я понимаю это добавить не получится. В отчет, который у меня получился, довольно коряво добавились имена. Попытался добавить через инструмент "Поле" – Итого. Но работающую функцию суммы у меня написать, к сожалению не получилось.
Заранее спасибо.
Вложения
Тип файла: rar Test.rar (21.2 Кб, 12 просмотров)
Dobriak-ru вне форума Ответить с цитированием
Старый 24.03.2010, 22:14   #2
VistaSV30
Форумчанин
 
Аватар для VistaSV30
 
Регистрация: 08.12.2009
Сообщений: 136
По умолчанию

Если переменная имеет значение Null, то это можно проверить функцией IsNull()

Функция IsNull возвращает значение Истина, если аргумент Выражение имеет значение Null. В противном случае функция IsNull возвращает значение Ложь. Если Выражение содержит несколько переменных и хотя бы одна из этих переменных имеет значение Null, возвращается значение Истина для всего выражения.
VistaSV30 вне форума Ответить с цитированием
Старый 24.03.2010, 22:21   #3
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Dobriak-ru.
"бороться" со значением NULL, т.е. с отсутствием какого либо значения можно при помощи:
1. Амперсанд (&), результатом конкатенации (текстового "сложения") NULL со строкой нулевой длины является строка нулевой длины : NULL & "" = ""
2. Интегрированной в MS Access функции Nz, она возвращает строку нулевой длины или любое заданное значение, в случае если передаваемый ей аргумент является NULL,
синтаксис выглядит так:
Nz(<проверяемое значение>,[значение заменяющее NULL])

Ваш "образец" я не смотрел (ввиду отсутствия А2007) и наверное потому вопрос "..как лучше представить таблицу.." мне не совсем понятен.

Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 24.03.2010, 23:58   #4
Dobriak-ru
 
Регистрация: 24.03.2010
Сообщений: 3
По умолчанию

Спасибо за ответы.
Цитата:
VistaSV30
Проверка на null выполнялась не плохо и с IIf, то есть там где стоял null - значение менялось на ноль. Проблема провидимому возникала с этой строкой [Test]![Товар 1] Мне не понятно как менять это значение.

Цитата:
1. Амперсанд (&), результатом конкатенации (текстового "сложения") NULL со строкой нулевой длины является строка нулевой длины : NULL & "" = ""
В общем случае слагаемых несколько, видно я не удачно выписал частный случай. Поэтому сложение текстовое не подходит.
Цитата:
Nz(<проверяемое значение>,[значение заменяющее NULL])
Этот способ помог, спасибо большое.
Надеюсь поможете с изменением выражения в форме. Ибо по итогам мое выражение выдает ошибку. Изменил базу на совместимую 2000
Вложения
Тип файла: rar Test.rar (12.7 Кб, 21 просмотров)

Последний раз редактировалось Dobriak-ru; 25.03.2010 в 00:03.
Dobriak-ru вне форума Ответить с цитированием
Старый 25.03.2010, 08:27   #5
Abrakadabra
Форумчанин
 
Регистрация: 26.04.2008
Сообщений: 487
По умолчанию

Вам же уважаемый Евгений Все разжевал.. Ну да ладно, раз уж хотите все-таки свою конструкцию применить:

Проверка Null: IIf(nz([Test]![Товар 1];"")<>"";[Test]![Товар 1];0)

Хотя это не правильно.. Попробуйте сами понять, что здесь лишнее?, и как использовать только NZ?

Последний раз редактировалось Abrakadabra; 25.03.2010 в 08:30.
Abrakadabra вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Странное поведение null Vitalyk JavaScript, Ajax 6 13.02.2010 15:22
пробел и NULL Николай Сергеевич Общие вопросы C/C++ 14 22.12.2009 08:48
нет декларации ‘NULL’ Роман Радер Общие вопросы C/C++ 4 22.07.2009 16:40
Delphi 2007 и NULL nemaster21 Общие вопросы Delphi 14 23.04.2008 16:59
вопрос time(NULL) Ceprey Общие вопросы C/C++ 5 07.03.2008 11:30