Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 25.04.2017
Сообщений: 25

Форма с таблицей в которой поле считается нарастающим итогом

19.11.2019, 21:54. Показов 2070. Ответов 14

Студворк — интернет-сервис помощи студентам
Поле СОСТОИТ сущности ДВИЖЕНИЕ должно считаться как СОСТОИТ_ПРЕДЫДУЩЕЕ + ПРИБЫЛО - УБЫЛО и так для каждой записи. Форма должна быть строго такой. Подскажите как реализовать ? На данный момент сущность ДВИЖЕНИЕ связано с сущностью МатЦенность. Для каждой МатЦенности своё движение, что безусловно логично. Спасибо!
Прикладываю БД и скрин самой формы карточки учёта.
Миниатюры
Форма с таблицей в которой поле считается нарастающим итогом  
Вложения
Тип файла: rar Учет лома.rar (512.0 Кб, 5 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.11.2019, 21:54
Ответы с готовыми решениями:

Посчитать последовательность нарастающим итогом
Добрый вечер! У меня возникла проблема с vba. Существует какая-то последовательность чисел (например 1,2,3,4,5) Необходимо написать их...

Свод нарастающим итогом из нескольких листов
Здравствуйте, уважаемые программисты!!! Очень нужна Ваша помощь!!!! Есть файл Excel, каждый лист соответствует месяцу. На листе отражены...

Сложить между собой поля записей в таблице нарастающим итогом
Друзья, такая задача: есть таблица записей - индекс и числовое поле. Необходимо запросом вывести оба поля и добавить еще одно, в которое...

14
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
19.11.2019, 22:28
Лучше не держать расчетное поле в таблице. Оно довольно легко может стать неактуальным. Ве вычисления имеет смысл делать в запросах. Смотрите запрос Суммы во вложении
Вложения
Тип файла: zip Учет лома.zip (203.5 Кб, 2 просмотров)
1
1 / 1 / 0
Регистрация: 25.04.2017
Сообщений: 25
19.11.2019, 22:44  [ТС]
Запрос то понятно, но вся соль в учетной карточке. В ней пользователь видит всю необходимую информацию, движение, сколько пришло и куда ушло, остаток на данный момент. Такая форма даже некоторыми НПА регламентирована на предприятии. Почему поле СОСТОИТ может стать не актуальным? Пользователь руками делает проводку и поле СОСТОИТ само посчиталось.
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
19.11.2019, 22:55
Цитата Сообщение от leshqwz Посмотреть сообщение
Почему поле СОСТОИТ может стать не актуальным? Пользователь руками делает проводку и поле СОСТОИТ само посчиталось.
Если у Вас студенческая задача, то конечно можно пренебречь рисками и делать по заданию. В реальной же задаче вполне может встретиться ситуация с правкой старых данных, но влияющих на накопленные суммы по всей цепи. И записанное расчетное значение становится неправильным, не актуальным.

Но впрочем Вы всегда можете воспользовавшись предложенным запросом, взять от него например Dlookup по полю СуммаНаНачало и записать в Состояние.

Добавлено через 1 минуту
Цитата Сообщение от leshqwz Посмотреть сообщение
Запрос то понятно, но вся соль в учетной карточке. В ней пользователь видит всю необходимую информацию, движение, сколько пришло и куда ушло, остаток на данный момент. Такая форма даже некоторыми НПА регламентирована на предприятии.
Делайте форму на основе запроса. В этом качестве он ничуть не хуже таблицы
2
1 / 1 / 0
Регистрация: 25.04.2017
Сообщений: 25
19.11.2019, 22:56  [ТС]
Поправил старые записи и поле СОСТОИТ перерасчиталось. Как в экселе например, так сделать нельзя?
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
19.11.2019, 23:03
Цитата Сообщение от leshqwz Посмотреть сообщение
Как в экселе например, так сделать нельзя?
Нет, нельзя. База данных это не программируемая электронная таблица. Есть макросы данных, но они работают только на одну запись. В промышленных БД есть триггеры, позволяющие при любом изменении данных перерасчитывать таблицу. Но от таких триггеров как правило отказываются, они сильно замедляют процесс.
Есть еще квази-триггер Бенедикта, но он тоже ограничен в возможностях
1
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
20.11.2019, 06:35
Цитата Сообщение от leshqwz Посмотреть сообщение
Поправил старые записи и поле СОСТОИТ перерасчиталось. Как в экселе например, так сделать нельзя?
Как в SQL сервере, например, это сделать можно. Кидайте таблицы туда и вперёд с музыкой
1
1 / 1 / 0
Регистрация: 25.04.2017
Сообщений: 25
20.11.2019, 07:53  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
Нет, нельзя. База данных это не программируемая электронная таблица. Есть макросы данных, но они работают только на одну запись. В промышленных БД есть триггеры, позволяющие при любом изменении данных перерасчитывать таблицу. Но от таких триггеров как правило отказываются, они сильно замедляют процесс.
Есть еще квази-триггер Бенедикта, но он тоже ограничен в возможностях
Возможно ли сделать форму по запросу, в котором реализовывалась бы полностью тот функционал который я описал выше? Чтобы на форме было полностью движение отражено и поле СОСТОИТ нарастающим итогом ?
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
20.11.2019, 15:53
Цитата Сообщение от leshqwz Посмотреть сообщение
Возможно ли сделать форму по запросу, в котором реализовывалась бы полностью тот функционал который я описал выше? Чтобы на форме было полностью движение отражено и поле СОСТОИТ нарастающим итогом ?
Да, конечно. Я Вам уже говорил именно об этом. Смотрите вложение. Источник подформы в форме Карточка учета сделан на запросе ДвижениеСуммы - отличается от исходного запроса Суммы полным набором полей таблицы Движение и главное этот запрос обновляемый в отличие от Суммы
Вложения
Тип файла: zip Учет лома.zip (205.5 Кб, 6 просмотров)
1
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,937
Записей в блоге: 4
20.11.2019, 16:19
leshqwz,
все подобные задачи - это НАКЛАДНЫЕ на приход -расход +СПРАВОЧНИКИ

используя ваш пример получила, правда таблицу не разделила на 2
у вас ведь есть номер\дата документа, так что все итоги вторичны
Код ДвижДата ЗаписиНомер ДокДата ДокТип ДокклиентПолучательПрибылоУбылоСостоитМат Ценность
123.10.20191523.10.20191кронаприбыло1000  золото
2     прибыло1000  серебро
3     прибыло1000  платина
           
415.11.201915/1223.11.20194кронарасход 100 серебро
5     расход 200 золото
           
615.11.201915/1223.11.20194кварцрасход 100 серебро
7     расход 200 иридий
           
815.11.201915/1223.11.20194рога и копытаприход1000  серебро
1
1 / 1 / 0
Регистрация: 25.04.2017
Сообщений: 25
22.11.2019, 18:11  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
Да, конечно. Я Вам уже говорил именно об этом. Смотрите вложение. Источник подформы в форме Карточка учета сделан на запросе ДвижениеСуммы - отличается от исходного запроса Суммы полным набором полей таблицы Движение и главное этот запрос обновляемый в отличие от Суммы
Создаю новую матценность со своим движением, там запрос ДвижениеСуммы не считает. Подскажите пожалуйста, как исправить ?
Миниатюры
Форма с таблицей в которой поле считается нарастающим итогом  
0
1 / 1 / 0
Регистрация: 25.04.2017
Сообщений: 25
22.11.2019, 18:28  [ТС]
В дальнейшем необходимо создавать на основе поля СОСТОИТ всяческие отчеты и запросы. Что то мне подсказывает что я слишком наворотил с логикой.
Миниатюры
Форма с таблицей в которой поле считается нарастающим итогом  
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
23.11.2019, 05:19
Если так называть ключевые поля, то к 10-й таблице вы уже сами не будете знать, что с чем связано, огурец с умывальником или картина с морковкой.
1
1 / 1 / 0
Регистрация: 25.04.2017
Сообщений: 25
23.11.2019, 17:42  [ТС]
Переработал схему на такую. Подскажите как организовать логика подсчета остатка материальной ценности на каждом материальном ответственном лице ? Делаю разность DSum прихода и расхода и считается вся таблица, по всем лицам.
Миниатюры
Форма с таблицей в которой поле считается нарастающим итогом  
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
24.11.2019, 02:20
Приход и расход должны быть в одной таблице с полем ТипОперации, если только у вас нет учёта по приходам, т.е. партионного учёта.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.11.2019, 02:20
Помогаю со студенческими работами здесь

Макрос создания нового листа в Эксель с названием от 1 и далее нарастающим итогом
Добрый вечер! Очень нужна помощь, уважаемые программисты!!! Необходим макрос для кнопки, при нажатии которой, создается новый лист в...

Разработайте программу, в которой имеется форма с двумя элементами Поле ввода
Ребята помогите пожалуйста бедному студенту... Одна надежда только на вас Разработайте программу, в которой имеется форма с двумя...

Составить программу, в которой будет реализована работа с таблицей по варианту. Для работы пользователя с таблицей будет
Добрый день. Есть такое задание: Составить программу, в которой будет реализована работа с таблицей по варианту. Для работы пользователя...

При вводе текста на сайте, форма считается пустой
Всем привет. Столкнулся с проблемой: когда ввожу данные в форму сайта программно, визуально это работает. Но когда программно...

Форма с таблицей
Добрый день, немного информации) БД Access компоненты ADOConnection, DataSource, ADOQuery, DBGrid. Form1 (главная форма) Form2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru