2009-09-02 2 views
1

Я пытаюсь отобразить сумму поля в текстовом поле в нижнем колонтитуле формы. Поле не рассчитывается каким-либо образом.SUM() на нижнем колонтитуле формы, в результате чего #Error

Вот несколько вещей, которые я пробовал:

=Sum([txtWeldInches]) 
=Sum([WeldInches]) 
=Sum(CDbl([txtWeldInches])) 
=Sum(CDbl([WeldInches])) 

... ну вы поняли идею. Каждая итерация, которую я использовал, приводит к отображению текстового поля #Error Without exception.

Я использовал аналогичные конструкции в разных формах в одном проекте, поэтому я не уверен, в чем проблема.

Кто-нибудь сталкивался с этим раньше?

EDIT: Я закончил тем, что написал процедуру VBA, чтобы обновлять поля, когда было возможно, что они будут изменены, а не пытаться заставить функцию bound sum() работать.

ответ

2

Это поле "WeldInches", существующее в источнике данных для этой формы?
Каким типом данных является поле «WeldInches»?

EDIT: Я просмотрел все ваши комментарии. Если это не работает с привязкой данных, попробуйте использовать неограниченный способ. Во время выполнения получите значение WeldInches с помощью DSUM и установите значение текстового поля нижнего колонтитула при загрузке формы.

Также не забудьте обновить его в местах, где, по вашему мнению, SUM может измениться.

+0

WeldInches - это числовой тип данных (в частности, плавающий SQL Server), и в наборе данных нет нулей. Он также определенно существует в форме. Это то, что заполняет txtWeldInches. – Rister

+0

Попробуйте «= Sum (NZ ([WeldInches], 0)) – shahkalpesh

+0

Я знаю, что в наборе данных нет нулей, чтобы сделать лизать разницу, но я все равно попробовал, но он все еще не работает. m начинать задаваться вопросом, не следует ли мне пытаться найти обходной путь. – Rister

1

Вы хотите просуммировать по имени столбца в источнике записи: SUM ([WeldInches])

Убедитесь, что нет никаких других Textboxes с WeldInches именем.

+0

Нет никаких других элементов управления, которые даже приблизились. Ближайшим является тот, который я пытаюсь присвоить значению, и это называется txtSumWeldInches. – Rister

+0

I с тех пор как версия 2000 обнаружила, что формы доступа ненадежны при попытке ссылаться на поля в базовом наборе записей, а решение часто создает скрытое текстовое поле со значением, которое вы пытаетесь агрегировать (если предположить, что еще нет элемента управления, отображающего это данные) .Если у вас есть элемент управления, называемый txtWeldInches, попробуйте сделать ControlSource txtSumWeldInches = Sum ([txtWeldInches]). –

+0

Это на самом деле то, что я пробовал в первую очередь. Я был удивлен, когда он g ave я ошибка, и я попробовал удачу с Google, прежде чем отправлять здесь. – Rister

3

http://support.microsoft.com/kb/199355

Все функции домена основаны на том же запросе (над основной набор записей). Если одна из связанных функций в форме имеет ошибку привязки, все функции в форме возвращают ошибку.

Другими словами ... Убедитесь, что все элементы управления нижнего колонтитула правильно разрешены и не имеют никаких нулей.

Если вы используете SUM или AVG, то убедитесь, что вы также с помощью функции Nz ...

ControlSource = «= SUM (NZ ([Область], 0))

0

Я имел такая же проблема, как Rister. Исходный код формы был базовым запросом. У меня было связанное текстовое поле с именем txtQty в этой форме. Источник управления был Qty (на основе базового запроса формы). Я создал несвязанный текстовое поле и введите = SUM ([txtQty]) и получили ошибку. Я пробовал различные способы найти решение и был очень отчаянным. Затем я удалил запрос на добавление и создание нового с использованием того же имени и полей, что и раньше. Затем я ввел = SUM ([Qty]) в несвязанное текстовое поле на форме и альтах, это сработало. Обратите внимание, что я не ввел имя связанного текстового поля (txtQty) в выражение, но это источник управления (Qty). Я не знаю почему, но это сработало для меня.

0

Я знаю, что вы сказали «Форма», но для тех, кто имеет проблемы с формулой Sum в Access «Report», формула должна находиться в нижнем колонтитуле «Отчет», а не «Нижний колонтитул страницы».Потребовалось некоторое время, чтобы понять, как Access по умолчанию показывает только нижний колонтитул страницы.

Смежные вопросы