Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Заменить пустую ячейку на 0
 
 автор: alex3005   (20.01.2010 в 15:18)   личное сообщение
 
 

Помогите пожалуйста, у меня в запросе в столбце есть пустые ячейки, как их можно заменить на 0, т.е. если в столбце пустая ячейка то в нее 0, а если не пустое то оставить
Заранее спасибо

  Ответить  
 
 автор: kot_k_k   (20.01.2010 в 15:21)   личное сообщение
 
 

и только функция Nz() поможет вам!!!

да святится код её.

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

Синтаксис

Nz(variant[, представление])

  Ответить  
 
 автор: alex3005   (20.01.2010 в 15:30)   личное сообщение
 
 

Че то не получилось, у меня поле [Стоимость], нужно все пустые ячейки преобразовать в 0, как записать функцию?
Nz([Стоимость];0) - так не прошло

  Ответить  
 
 автор: kot_k_k   (20.01.2010 в 15:57)   личное сообщение
 
 

если преобразовать то
запрос:
"update имя_таблицы set стоимость=0 where Nz([Стоимость],0)=0"

либо, если DAO

CurrentDb.execute ("update имя_таблицы set стоимость=0 where Nz([Стоимость],0)=0")

там точка_с_запятой и просто запятая могут меняться для VB - "," для запроса - ";"
(хотя если запрос представить SQL строкой будет запятая)

мысль в догонку - а не пробел ли там

при создании числового поля оно пишет автоматом значение 0, тогда почему стоимость не 0, если поле Стоимость - текст - то нужно проверить что в нем в действительности находится.

  Ответить  
 
 автор: Explorer   (20.01.2010 в 16:13)   личное сообщение
 
 

UPDATE youtTableNameSET Стоимость = 0
WHERE yourTableName.Стоимость Is Null

и установить Стоиомость в таблице

Default Value = 0
Validation Rule = Is Not Null
Validation Text = "поле Стоимость должно быть заполнено"

по хорошему нужно еще проверять на отрицательные значения поля, но это уже по вкусу

  Ответить  
 
 автор: Seryoga204   (20.02.2010 в 14:16)   личное сообщение
9 Кб.
 
 

Здравствуйте. Подскажите пожалуйста на моем примере, как пустые ячейки заполнить значением "0",а то перепробывал никак не получается. Пример выкладываю (Поле 2 в запросе). Заранее спасибо.

  Ответить  
 
 автор: ShadowOfSun   (20.02.2010 в 14:48)   личное сообщение
9 Кб.
 
 

  Ответить  
 
 автор: satan   (14.12.2010 в 13:33)   личное сообщение
 
 

Помогите пожалуйста.
У меня возникла такая проблема:
Суммирую 2 столбца из двух разных запросов, но в одном из полей одного столбца есть пустое поле, из-за котороко в сумме тоже получается пустое поле. Подсажите, пожалуйста, как преобразоватьэто поле в 0. Уже дня 4 парюсь, никак не получается. Пробовал использовать Nz, не получается, но у меня есть такое предположение, что не там его пишу.
Вот код запроса:
SELECT [Средства на счетах(В)].REGN, [Средства на счетах(В)].NAME_B, [Средства на счетах(В)].[Sum-ITOGO], [Денежные средства(В)].[Sum-ITOGO], [Денежные средства(В)].[Sum-ITOGO]+[Средства на счетах(В)].[Sum-ITOGO] AS Наличность
FROM [Средства на счетах(В)] LEFT JOIN [Денежные средства(В)] ON [Средства на счетах(В)].REGN=[Денежные средства(В)].REGN
GROUP BY [Средства на счетах(В)].REGN, [Средства на счетах(В)].NAME_B, [Средства на счетах(В)].[Sum-ITOGO], [Денежные средства(В)].[Sum-ITOGO];

  Ответить  
 
 автор: snipe   (14.12.2010 в 14:14)   личное сообщение
 
 

по идее должно быть так(или как-то так)
Nz([имя поля1];0)+Nz([имя поля2];0)

  Ответить  
 
 автор: satan   (14.12.2010 в 14:18)   личное сообщение
 
 

Не получается(((
Пишет, что ошибка синтаксиса.

  Ответить  
 
 автор: snipe   (14.12.2010 в 14:23)   личное сообщение
 
 

выложите кусок базы с левыми данными и запросом
предварительно сожмите а потом заархивируйте

  Ответить  
 
 автор: satan   (14.12.2010 в 14:30)   личное сообщение
 
 

Вот:
http://zalil.ru/30139758
Запрос "Налисность(В)*"

  Ответить  
 
 автор: snipe   (14.12.2010 в 14:44)   личное сообщение
 
 

SELECT [Средства на счетах(В)].REGN, [Средства на счетах(В)].NAME_B, [Средства на счетах(В)].[Sum-ITOGO], [Денежные средства(В)].[Sum-ITOGO], NZ([Денежные средства(В)].[Sum-ITOGO],0)+Nz([Средства на счетах(В)].[Sum-ITOGO],0) AS Наличность
FROM [Средства на счетах(В)] LEFT JOIN [Денежные средства(В)] ON [Средства на счетах(В)].REGN = [Денежные средства(В)].REGN
GROUP BY [Средства на счетах(В)].REGN, [Средства на счетах(В)].NAME_B, [Средства на счетах(В)].[Sum-ITOGO], [Денежные средства(В)].[Sum-ITOGO];

  Ответить  
 
 автор: snipe   (14.12.2010 в 14:44)   личное сообщение
 
 

задвоилось

  Ответить  
 
 автор: satan   (14.12.2010 в 14:48)   личное сообщение
 
 

Спасибо большое!
Я так же, вроде, писал, не получалось(

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList