• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Автосумма В Форме

  • Автор темы Автор темы Sadus
  • Дата начала Дата начала
S

Sadus

Здравствуйте. Возможно моя тема поднималась, и не раз, но найденые варианты были неприемлемы для моей цели. Так что прошу помощи тут.

Ситуация: есть БД (MC Access). Форма составленная из главной, и зависимой. В зависимой форме, у нас находятся итого по позициям (!). В главной форме, есть поле "Итог" которое должно суммировать значение полей из зависимой формы. И заносит в таблицу.




Вот схематично что требуется. Прошу вашей помощи, или совета в какую сторону хотя бы копать. Пробовал через запрос, но успехов нет.
 
На подчиненную форму добавляем событие, которе вызывается при изменении этого поля, уделения/добавления записи. Данное событие содержит только однин параметр: сумма. Естественно сумма расчитывается перед генерацией событие.

Обработчиком события будет главная форма. В обработчике события остается только сохранить переданную сумму в нужное поле.

Вот тут можно прочитать про события подробнее:
 
BOPOHA, немного понял. Но как конкретно считать Итог (автосумму итогов по позиции). Ведь сначала нужно посчитать его, а потом уже передавать в гл. форму

upd1: проблема ещё и в том, что ИтогПозиции не заносится как таковой в таблицу, и через запрос не считается его автосумма.

upd2: смог посчитать Итог (автосумму ИтогПозиции) через 2 запроса.
Первый:
Код:
SELECT Т_Работы.ВидРабот, [Ширина]*[Длинна] AS Площадь, [Стоимость (кв\\м)]*[Площадь] AS ИтогПозиции
FROM Т_ВидыРабот INNER JOIN Т_Работы ON Т_ВидыРабот.Id = Т_Работы.ВидРабот
WHERE (((Т_Работы.Код_Заказа)=[Forms]![Ф_Заказы]![Id]));

Второй:
Код:
SELECT Sum(ИтогПозиции.ИтогПозиции) AS ОбщИтог
FROM ИтогПозиции;
Т.е как бы один запрос считает ИтогПозиции, второй запрос делает автосумму. К сожалению более ничего умнее не придумал(
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab