|
45 Кб. |
|
| День добрый! Выходит вот такая ошибка при вычислении Остатка когда Расход или Приход пустой. Подскажите пожалуйста как обнулить значение когда оно отсутствует. | |
|
| |
|
|
|
| Остаток=nz(Приход,0)-nz(Расход,0)
а лучше в таблице всво-вах Приход, Расход поставить Значение по умолчанию 0 | |
|
| |
|
|
|
| Что то не получается с nz. На кнопке Вычислить остаток пишу
Me.Itogo = Nz(SubPrihodOstatok!sumprihod, 0) - Nz(SubRashodOstatok!sumrashod, 0)
все равно такая же ошибка, попробовал значение по умолчанию в sumprihod и sumrashod в 0 тоже не помогает.
Да может это имеет значение: подформы формируются на основе запросов | |
|
| |
|
|
|
| me!SubPrihodOstatok.form!sumprihod | |
|
| |
|
|
|
|
Me.Itogo = Nz(SubPrihodOstatok!sumprihod, 0) - Nz(SubRashodOstatok!sumrashod, 0)
|
SubPrihodOstatok!sumprihod - что это.
если SubPrihodOstatok - форма то forms!SubPrihodOstatok!sumprihod
если вложенная то
forms!Главная_Форма!SubPrihodOstatok!sumprihod | |
|
| |
|
|
|
| Главная форма - Ostatok
Подчиненая форма Приход - SubPrihodOstatok
Подчиненная форма Расход -SubRashodOstatok
Сумма прихода в поле sumprihod формы SubPrihodOstatok ( код Sum=("Kolichestvo")
Сумма расхода в поле sumrashod формы SubRashodOstatok (код Sum=("Kolichestvo")
Поле itogo на форме Ostatok
Нажатие кнопки Вычислить остаток Me.Itogo = Nz(SubPrihodOstatok!sumprihod, 0) - Nz(SubRashodOstatok!sumrashod, 0)
Это все работает,но если в приходе или расходе пусто - то ошибка. Спасибо за ответы!
Да и на рисунке поле Сумма это не Сумма приходов или расходов! | |
|
| |
|
12 Кб. |
|
| посмотри сделал похоже (Форма1) пока на поле4 было =Sum([kol]) при одном из пустых выдавало пустоту
сделал =Nz(Sum([kol]);0) - результат выдает всегда | |
|
| |
|
|
|
| Спасибо еще раз за ответы!
Да так работает, но дело в том что у меня в свойствах формы=данные=разрешить изменение, удаление,добавление стоит в нет. | |
|
| |
|
|
|
| Me.Itogo = Nz(Forms!ostatok!SubPrihodOstatok!sump rihod, 0) - Nz(Forms!ostatok!SubRashodOstatok!sumr ashod, 0)
Все равно такая же ошибка при пустом расходе или приходе | |
|
| |
|
|
|
| Причина в том, что в субформах запрещено добавление записей. Когда нет записей - нет и полей, т.е. "sumprihod" и/или "sumrashod" недоступны.
Если это делается в процедуре, то можно так:
On Error Resume Next
v1 = Me![SubPrihodOstatok].Form![sumprihod]: If Err <> 0 Then Err.Clear: v1=0
v2 = Me![SubPrihodOstatok].Form![sumrashod]: If Err <> 0 Then Err.Clear: v2=0
Me![Itogo] = v1 - v2
В вычисляемом поле можно попробовать так:
=IIf(IsError(SubPrihodOstatok!sumprihod); 0; SubPrihodOstatok!sumprihod) - IIf(IsError(SubRashodOstatok!sumrashod); 0; SubRashodOstatok!sumrashod) | |
|
| |
|
|
|
| Сейчас пойду пробовать! Спасибо! | |
|
| |
|
|
|
| Большое Всем Спасибо! Особенно Анатолию!
У меня заработало! Вот это на кнопке Вычислить остаток:
On Error Resume Next
v1 = Forms![ostatok]![SubPrihodOstatok]![sumprihod]: If Err <> 0 Then Err.Clear: v1 = 0
v2 = Forms![ostatok]![SubRashodOstatok]![sumrashod]: If Err <> 0 Then Err.Clear: v2 = 0
Me![Itogo] = v1 - v2 | |
|
| |