Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: Alex
Думаю, что Вас спасет вот это:
Ситуация обычная:
В подчиненной форме создаем скрытое поле [MyTotal], источником данных которого является что то вроде:
=Sum([Всего])
теперь создаем поле в главной форме с источником данных:
=[Название Объекта Подчиненной формы].[Form]![MyTotal]
и все замечательно - при условии что в ПОДЧИНЕННОЙ ФОРМЕ ЕСТЬ ДАННЫЕ
а если их нет - то в поле будет #Ошибка
Приведенная ниже функция как раз и служит для устранения данной неприятности
Пишем в источнике данных:
=FData([Название Объекта Подчиненной формы].[Form]![MyTotal])
и при отсутствии данных в поле будет просто 0 (ноль)

В глобальном модуле создаем функцию:

' Устраняет #Ошибка при отсутствии данных
Function FData(anyVal As Variant) As Currency
On Error GoTo FDataErr
FData = CCur(anyVal)
Exit Function
FDataErr:
FData = 0
Err.Clear
End Function

Пример использования:

Поле1=FData([Поле2])*[Поле3]
Поле4=FData([Поле5])*[Поле6]
Поле5=Поле1+Поле4

Если не использовать эту функцию, то при отсутствии данных в Поле1 или Поле4, Поле5 будет содержать #Ошибка

Пользовательские варианты:

Function FDataDate(anyVal As Variant) As Date
On Error GoTo FDataDateErr
FDataDate = CCur(anyVal)
Exit Function
FDataDateErr:
FDataDate = 0
Err.Clear
End Function

Function FDataLong(anyVal As Variant) As Long
On Error GoTo FDataLongErr
FDataLong = CCur(anyVal)
Exit Function
FDataLongErr:
FDataLong = 0
Err.Clear
End Function

Function FDataDouble(anyVal As Variant) As Double
On Error GoTo FDataDoubleErr
FDataDouble = CCur(anyVal)
Exit Function
FDataDoubleErr:
FDataDouble = 0
Err.Clear
End Function

Function FDataC(anyVal As Variant) As Currency
On Error GoTo FDataCErr
FDataC = CCur(anyVal)
Exit Function
FDataCErr:
FDataC = 0
Err.Clear
End Function


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.