У меня есть следующий код на событие OnCurrent в подчиненной:Access Runtime Ошибка 2448
Private Sub Form_Current()
Me.Parent![QUOT_TOTAL] = DSum(" Q_SUB ", "DSUM_Q_SUB")
Me.Parent![QUOT_TOTAL].Requery
Me.Parent![QUOT_DISC] = (Me.Parent![QUOT_TOTAL] * Me.Parent![DISCOUNT_PERCENT])/-100
Me.Parent![QUOT_DISC].Requery
End Sub
Как только я открываю форму, я получаю ошибку 2448 не может присвоить значение этого объекта. Когда я закрываю предупреждение, форма работает нормально.
Событие OnCurrent присваивается подформе родительской формы и полям, которые я хочу обновить (как показано выше) [QUOT_TOTAL] и [QUOT_DISC] находятся в родительской форме. Они отображаются в виде столбцов таблицы, но я хочу, чтобы форма обновляла их, как только появятся изменения в подформате.
Просьба помочь
благодаря
Элтона
Я немного смущен. Почему вам необходимо в первую очередь выполнять вычисления и таким образом, чтобы не учитывать, действительно ли исходные данные были изменены? Запросы 'Requery' также выглядят бессмысленными, если вы сразу же задаете статическое значение. Как вы думаете, что они делают ...? –
Привет. Возможно, это из-за моей неопытности. Проще говоря, у меня есть три поля в форме, все связанные с таблицей: QTY, PRICE и TOTAL. Я за то, что когда я ввожу число под QTY и PRICE, поле TOTAL работает QTY * PRICE или вызывает запрос с DSUM и сохраняет это значение в таблице под столбцом TOTAL. Считаете ли вы, что это имеет смысл или я буду проводить вычисления только по форме, а затем запускать запросы/отчеты, чтобы получить итоговые суммы? – elstiv
Является ли значение TOTAL * всегда * QTY x PRICE или это только значение по умолчанию? Если бы я не сохранил его вообще (т. Е. Я удалил бы поле из таблицы), и присвойте свойству Control Source текстового поля выражение '= QTY * PRICE'; если, однако, это просто значение по умолчанию, которое можно переопределить, сохраните поле и присвойте '= QTY * PRICE' значение свойства Default Value. –