Здравствуйте!
Есть форма - в ней 3 субформы, все подчинены главной (между собой не связаны). Сделал сумму по одному столбцу в каждой субформе (делал как написано - создал поле в примечании субформ, потом вывел 3 поля в главной форме со ссылкой на суммирующие поля в субформе и т.д.). А теперь надо сложить в главной форме - все три суммы - сделал поле, написал, что оно равно поле1+поле2+поле3. Складывает когда есть значения во всех трех полях. Если два есть, а одного нет - не складывает, а надо!!! Наверное это происходит из-за пустого значения (isNull) в одном из полей. Пытался поставить "0" по умолчанию в каждое поле в форме - 0 не появляется. Что делать???
Вообще суммирование в поле надо делать через внешнюю функцию(и), которая и будет обрабатывать пустой (NULL) вариант. Тип переменной внутри функции не определяют. Например, так можно обработать значение, даже если оно пустое.
Public Function funValue(value) As Double On Error GoTo 999 funValue = Value Exit Function 999: Err.Clear funSum = 0 End Function
Извините... а funSum = 0 (предпоследняя строка) это имеется ввиду funValue=0???? если да, то я не пойму куда это прицепить в суммирующих полях нету обработок событий?
Да, Правильно будет funValue. Прежде чем суммировать, определяем поле. Пример. Sum(Me.Поле1) - это типичный вариант с ошибкой при пустом значении. Надо писать так. Sum(funValue(Me.Поле1) )
Public Function funValue(value) As Double On Error GoTo 999 funValue = Value Exit Function 999: Err.Clear funValue = 0 End Function
Вы безумно умный, СПАСИБО!!!