Я делаю что-то подобное, за исключением того, что я включаю квитанции об оплате кредитной картой и покупки наличными, а также чеки. Это основная бухгалтерия.
По разным причинам я выбрал таблицу под названием «альманах» с одной строкой (записью) для каждой даты. Есть столбцы (поля) для таких вещей, как день недели, месяц года и т. Д. Я заполняю эту таблицу небольшим фрагментом кода, написанным на VB. Даже с датами за десять лет, это всего около 3653 строк в таблице. Затем я использую простые объединения с этой таблицей, чтобы свести данные транзакций к данным, суммированным по месяцам. Я могу подвести итог и другими способами.
Запрос настолько прост, что я просто сделал это с графическим интерфейсом запросов. Однако мое резюме будет иметь в двенадцать раз больше строк, чем ваше, и в каждом ряду будет только один месяц.
Когда я хочу разместить данные в формате вашей основной таблицы, я использую один из двух инструментов: инструмент перекрестных запросов в MS Access или инструмент Сводная таблица в MS Excel. Они оба очень мощные, но инструмент поворота более гибкий. Мне нужно было установить надстройку под названием MS query в Excel, чтобы запрашивать данные базы данных из Excel. Это может быть функцией версии, которую я использую.
Это сильно отличается от вашего фреймворка, и вы выбираете, использовать ли его. Это хорошо сработало для меня.