19577
Информационные системы. Домашняя бухгалтерия
Курсовая
Информатика, кибернетика и программирование
Тема моей курсовой работы – домашняя бухгалтерия. В рамках обычной семьи совершаются различные действия с деньгами, такие как их поступление, хранение и трата. В семье несколько человек, а значит счетов, с которых производятся операции
Русский
2014-06-10
1.58 MB
96 чел.
PAGE 2
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ
ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
ОГЛАВЛЕНИЕ
[1] Курсовая работа [1.0.1] Информационные системы. Домашняя бухгалтерия. |
Описание предметной области. Постановка задачи.
Тема моей курсовой работы домашняя бухгалтерия. В рамках обычной семьи совершаются различные действия с деньгами, такие как их поступление, хранение и трата. В семье несколько человек, а значит счетов, с которых производятся операции, может быть несколько. Кроме того, средства могут поступать из различных источников и тратиться на различные нужды
Необходимо создать базу данных такую, чтобы с ее помощью можно было бы быстро и удобно вводить, хранить и анализировать информацию об этих денежных операциях.
Таким образом, форма должна иметь вид:
Чтобы в ней можно было:
Информационная модель
Счета Категории
Доходы/расходы
Вывод отчетов
Стрелки показывают, что таблицы должны быть связаны между собой. Для вывода отчета необходимо взять информацию из всех таблиц базы данных.
Главная задача СУБД учет доходов и расходов, где фиксируются:
Кроме того, нужно хранить информацию о счетах:
А также информацию о категориях:
Таким образом, получились 3 таблицы: Счета, Категории, Учет.
Программная схема решения
Таблицы:
№1 “Scheta”
Эта таблица предназначена для хранения списка счетов.
Имя поля |
Тип данных |
Размер поля |
Подпись |
Ключевое/обязательное поле |
KodScheta |
Счетчик |
Длинное целое |
да/нет |
|
Schet |
Текстовый |
50 |
Счет |
нет/да |
№2 “Kategoriya”
Эта таблица предназначена для хранения списка категорий.
Имя поля |
Тип данных |
Размер поля |
Подпись |
Ключевое/обязательное поле |
Kod |
Счетчик |
Длинное целое |
да/нет |
|
Kategoriya |
Текстовый |
50 |
Категория |
нет/да |
нVid |
Числовой |
Целое |
нет/да |
Ддя поля “Vid”:
№3 “Uchet”
В этой таблице хранятся данные об операциях, совершаемых со счетом.
Имя поля |
Тип данных |
Размер поля |
Подпись |
Ключевое/обязательное поле |
Schet |
Числовой |
Длинное целое |
Счет |
нет/нет |
Data |
Дата/время |
Дата |
нет/да |
|
Kategoriya |
Числовой |
Длинное целое |
Категория |
нет/да |
Summa |
Денежный |
Сумма |
нет/да |
|
Primechanie |
Текстовый |
50 |
Примечание |
нет/нет |
Для поля “Data”:
Поле Schet для связи с таблицей “Scheta”.
Поле Kategoriya для связи с таблицей “ Kategoriya ”.
Схема данных:
Формы:
№1 “Scheta”
Автоформа: ленточная.
Источник записей: таблица “Scheta”
Поле “KodScheta”: вывод на экран нет;
Кнопка “Udalit” (с помощью мастера): категория обработка записей; действие удалить запись.
№2 “Kategoriya”
Автоформа: ленточная.
Источник записей: таблица “Kategoriya ”.
Поля : “Kod”, “Vid” ”: вывод на экран нет;
Создать поле со списком “Vid1” (в заголовке формы):
Me.Requery
Me.Vid.DefaultValue = Me.Vid1
Me.Kat1.Requery (после создания поля со списком Kat1)
Источник записей формы (с помощью построителя): SELECT Kategoriya.* FROM Kategoriya WHERE (((Kategoriya.Vid)=Forms!Kategoriya!Vid1)); (все поля таблицы категория + поле “Vid”, где в условии отбора - [Forms]![Kategoriya]![Vid1])
Закрытие формы: процедура обработки событий :
On Error Resume Next
DoCmd.SetWarnings False
Form("uchet").Requery
DoCmd.SetWarnings True
Кнопка “Udalit2” (с помощью мастера): категория обработка записей; действие удалить запись.
№3 “Uchet”
Автоформа: ленточная.
Источник записей: таблица “ Uchet ”.
Поле “Schet” преобразовать в поле со списком:
Поле “Kategoriya” преобразовать в поле со списком:
Создать поле со списком “Vid1” (в заголовке формы):
Me.Requery
Me.Kategoriya.Requery
Поле “Kategoriya” преобразовать в поле со списком:
Для вывода суммы дохода/расхода за день, неделю, месяц, год создать поля соответственно “sum_today”, “sum_week”, “sum_month”, “sum_year” + запросы:
таблицы: “Kategoriya”, “Uchet”
поле Sum1: Summa из табл. “Uchet”, групповая операция Sum;
поле Data из табл. “Uchet”, групповая операция Условие, условие отбора Date(), вывод на экран нет;
поле Vid из табл. “Kategoriya”, групповая операция Условие, условие отбора [Forms]![Uchet]![Vid1], вывод на экран нет.
таблицы: “Kategoriya”, “Uchet”
поле Sum1: Summa из табл. “Uchet”, групповая операция Sum;
поле Data из табл. “Uchet”, групповая операция Условие, условие отбора Between (Date()-Weekday(Date())+2) And (Date()-Weekday(Date())+8) вывод на экран нет;
поле Vid из табл. “Kategoriya”, групповая операция Условие, условие отбора [Forms]![Uchet]![Vid1], вывод на экран нет.
таблицы: “Kategoriya”, “Uchet”
поле Sum1: Summa из табл. “Uchet”, групповая операция Sum;
поле Month([Data]) из табл. “Uchet”, групповая операция Условие, условие отбора Month(Date()) вывод на экран нет;
поле Vid из табл. “Kategoriya”, групповая операция Условие, условие отбора [Forms]![Uchet]![Vid1], вывод на экран нет.
поле Year([Data]) групповая операция Условие, условие отбора Year(Date()), вывод на экран нет.
таблицы: “Kategoriya”, “Uchet”
поле Sum1: Summa из табл. “Uchet”, групповая операция Sum;
поле Vid из табл. “Kategoriya”, групповая операция Условие, условие отбора [Forms]![Uchet]![Vid1], вывод на экран нет.
поле Year([Data]) групповая операция Условие, условие отбора Year(Date()), вывод на экран нет.
Для полей формы “Uchet”
“sum_today”
“sum_week”
“sum_month”
“sum_year”
данные =DLookUp("sum1";"today")
=DLookUp("sum1";"Week")
=DLookUp("sum1";"Mesyac")
=DLookUp("sum1";"God")
Фильтр
Для фильтрации данных по дате, счету, категории, примечанию создать:
“Dat1”:
Me.Requery
“dat2”:
Me.Requery
“schet1”:
Me.Requery
“Kat1”:
Me.Requery
“Prim1”:
Me.Requery
“k1”:
Me.Requery
“k2”:
If k2 = True Then
Me.schet1.Requery
Else
Me.schet1.SetFocus
Me.schet1 = ""
End If
Me.Requery
“k3”:
If K3 = True Then
Me.Kat1.Requery
Else
Me.Kat1.SetFocus
Me.Kat1 = ""
End If
Me.Requery
“k4”:
If k4 = True Then
Me.Prim1.Requery
Else
Me.Prim1.SetFocus
Me.Prim1 = ""
End If
Me.Requery
В режиме SQL:
SELECT Uchet.*
FROM Scheta INNER JOIN (Kategoriya INNER JOIN Uchet ON Kategoriya.Kod = Uchet.Kategoriya) ON Scheta.KodScheta = Uchet.Schet
WHERE (((Uchet.Data) Between (IIf([Forms]![Uchet]![k1],[Forms]![Uchet]![Dat1],Date()-10000)) And (IIf([Forms]![Uchet]![k1],[Forms]![Uchet]![Dat2],Date()+10000))) AND ((Scheta.Schet) Like IIf([Forms]![Uchet]![k2],[Forms]![Uchet]![schet1],"*")) AND ((Uchet.Primechanie) Like IIf([Forms]![Uchet]![k4],"*" & [Forms]![Uchet]![Prim1] & "*","*")) AND ((Kategoriya.Vid)=[Forms]![Uchet]![Vid1]) AND ((Kategoriya.Kategoriya) Like IIf([Forms]![Uchet]![k3],[Forms]![Uchet]![Kat1],"*"))) OR (((Uchet.Data) Between (IIf([Forms]![Uchet]![k1],[Forms]![Uchet]![Dat1],Date()-10000)) And (IIf([Forms]![Uchet]![k1],[Forms]![Uchet]![Dat2],Date()+10000))) AND ((Scheta.Schet) Like IIf([Forms]![Uchet]![k2],[Forms]![Uchet]![schet1],"*")) AND ((Kategoriya.Vid)=[Forms]![Uchet]![Vid1]) AND ((Kategoriya.Kategoriya) Like IIf([Forms]![Uchet]![k3],[Forms]![Uchet]![Kat1],"*")) AND ((IsNull([Uchet].[Primechanie]))<>False))
ORDER BY Uchet.Data DESC , Scheta.Schet;
Добавление нового счета и категории
Создать формы “Scheta2”,“Kategoriya2” из форм “Scheta”,“Kategoriya” (сохранить как), перетащить их в примечание формы “Uchet”.
“Scheta2”:
Me.Parent.Schet.Requery
On Error Resume Next
DoCmd.SetWarnings False
Form("uchet").Requery
DoCmd.SetWarnings True
“Kategoriya2”:
Me.Vid.DefaultValue = Me.Parent.Vid1
Me.Parent. Kategoriya.Requery
On Error Resume Next
DoCmd.SetWarnings False
Form("uchet").Requery
DoCmd.SetWarnings True
Создать кнопки:
“shet_plus”:
On Error GoTo Err_shet_plus_Click
Me.Scheta2.Visible = True
Me.[Scheta2].Form.AllowEditing = True
Exit_shet_plus_Click:
Exit Sub
Err_shet_plus_Click:
MsgBox Err.Description
Resume Exit_shet_plus_Click
“kategoriya_plus”:
On Error GoTo Err_kategoriya_plus_Click
Me. Kategoriya2.Visible = True
Me.[Kategoriya2].Form.AllowEditing = True
Exit_kategoriya_plus_Click:
Exit Sub
Err_kategoriya_plus_Click:
MsgBox Err.Description
Resume Exit_kategoriya_plus_Click
Форма: текущая запись:
Me.sum_today.Requery
Me.Sum_Week.Requery
Me.Sum_month.Requery
Me.sum_year.Requery
Me.Kategoriya2.Visible = False
Me.Scheta2.Visible = False
Просмотр отчетов:
Создать кнопки:
Отчеты
СуммаПоКатегории
Создать простой запрос СуммаПоКатегории из таблиц “Kategoriya”, “Uchet”.
Поле: |
Vid |
Kategoriya |
Data |
Сумма: ([Summa]) |
Year([data]) |
Имя таблицы: |
Kategoriya |
Kategoriya |
Uchet |
||
Групповая операция: |
Группировка |
Группировка |
Группировка |
Группировка |
Условие |
Создать перекрестный запрос “СуммаПоКатегории_перекрестный”. В запросе вывести запрос СуммаПоКатегории; в качестве заголовков строк Kategoriya, Vid ; в качестве заголовков столбцов Data; интервал месяц; провести вычисления Сумма(Сумма); вычислить итоговое значение да. Поле Kategoriya сортировка по возрастанию; поле Итоговое значение “Сумма переименовать” в “Всего за год”.
Создать автоотчет ленточный, источник записей запрос “СуммаПоКатегории_перекрестный”, сохранить как “СуммаПоКатегории”.
Поле Vid преобразовать в поле со списком, тип источника строк список значений; источник строк -1;"РАСХОД: всего за месяц";1;" ДОХОД: всего за месяц"; число столбцов 2; ширна 0см;2,501см.
СуммаПоСчету
Создать простой запрос СуммаПоСчету из таблиц “Scheta”, “Kategoriya”, “Uchet”.
Поле: |
Schet |
Data |
Сумма: ([Summa]*[vid]) |
Year([data]) |
Имя поля: |
Scheta |
Uchet |
||
Сортировка |
по убыванию |
Создать перекрестный запрос “СуммаПоСчету_перекрестный”. В запросе вывести запрос СуммаПоСчету; в качестве заголовков строк Schet; в качестве заголовков столбцов Data; интервал месяц; провести вычисления Сумма(Сумма); вычислить итоговое значение нет.
Создать автоотчет ленточный, источник записей запрос “СуммаПоСчету_перекрестный”; сохранить как “СуммаПоСчету”.
Меню
Структура меню
Таблицы |
Отчеты |
Закрыть |
Главная |
Всего на счете |
|
Счета |
Доход/расход по категориям |
|
Категории |
Новые меню:
Таблицы, команды добавить все таблицы;
Отчеты, команды добавить все отчеты;
Закрыть, команды выход.
Тестирование
В любых процессах человеческий фактор играет важнейшую роль. Конечно, полностью защитить базу от неправильного ввода нельзя, но уменьшить число ошибок можно.
В данной базе предусмотрено следующее:
Руководство пользователя
Откройте файл “Домашняя бухгалтерия.rar” “бухгалтерия.mdb”.
Перед Вами откроется главная форма.
В “Домашней бухгалтерии” каждую операцию доходов и расходов можно относить к конкретному счету. Счетами могут быть счет в банке, кредитная карточка, кошелек, электронные деньги и т.д. Система счетов необходима для того, чтобы можно было отслеживать, где и сколько у Вас осталось денег. Вы можете использовать неограниченное количество счетов.
Для того, чтобы удалить счет, в таблице нажмите .
Для того, чтобы посмотреть остатки на счетах, нажмите , либо в меню Отчеты Всего на счете.
Для облегчения ввода расходов и доходов, в “Домашней бухгалтерии” есть списки категорий.
Для того, чтобы удалить счет, в таблице нажмите
Для того, чтобы посмотреть доход/расход по категориям, нажмите.
либо в меню Отчеты доход/расход по категориям
В таблице есть поля:
Оценка результатов
В данной базе данных есть несколько недочетов, таких как:
Руководство по установке и требованиям
Данная база данных называется Домашняя бухгалтерия.mdb;
Минимальный размер 200 Кб;
Минимальные системные требования:
MS Office 2003 и более поздние версии;
MS Windows XP;
CPU Pentium 100 MHz (Intel или AMD).
А также другие работы, которые могут Вас заинтересовать | |||
29964. | Структура личности и различные методологические подходы к ее изучению | 52.5 KB | |
Структура личности и различные методологические подходы к ее изучению Понятие личности Л внешн проявление индивидуальности как чел воспринимается окружающими и как он на них воздействует в римском театре маска актера =личина лицо обращенное к аудрии. Общее представление о структуре личности. Структурный и динамический подходы к изучению личности Каждая теория личности тем или иным образом отвечает на вопрос: Каким образом определяются структурные единицы личности и взаимосвязи между ними.... | |||
29965. | Роль индивидных свойств человека в развитии личности | 48 KB | |
Темперамент как форма интеграции первичных индивидных свойств. Темперамент характеристика индивида со стороны динамических особенностей его психической деятельности т. У темперамента нет единого содержания и единой системы внешних проявлений. Попытки такого анализа приводят к выделению трех главных ведущих компонентов темперамента относящихся к сферам общей активности индивида его моторики и его эмоциональности. | |||
29966. | Личность и характер | 70.5 KB | |
Современное состояние исследований характера. По Рубинштейну способ поведения является наиболее существенным и показательным выражением характера но характер определяет и сам способ поведения. Основные проблемы психологии характера К настоящему времени понятие характер признано дискуссионным. сомнения в возможности изучения характера как самостоятельного явления вообще. | |||
29967. | Личность и способности | 44 KB | |
Личность и способности. ПРОБЛЕМЫ что такое способности как способности соотносятся с основными психическими процессами соотношение наследственности и среды в развитии способностей соотношение общих способностей и интеллекта природа и взаимосвязь общих и специальных способностей возможности измерения способностей пути и методы эффективного развития способностей Ученые: В. Понятие о способностях Петровский: Способности это такие психологические особенности человека от которых зависит успешность приобретения ЗУНов это... | |||
29968. | Основные проблемы психологии эмоций | 65.5 KB | |
Основные проблемы психологии эмоций Эмоции это переживание челом его отношения к окружающему миру и самому себе. Экспрессии выделил Дарвин; по внешн проявлениям другие судят об эмоции; важно у животных сист знаков предупреждений оповещений. Появление данной теории привело к упрощению понимания механизмов произвольной регуляции например нежелательные эмоции такие как горе или гнев можно подавить если намеренно совершать действия в результате которых обычно появляются положительные эмоции. В ней эмоции трактуются как субъективные... | |||
29969. | Основные проблемы психологии воли | 91 KB | |
Основные проблемы психологии воли. Понятие воли волевого действия волевой регуляции. Проблема воли имеет не только психологические но и философские и правовые аспекты. Характерно что проблема свободы воли и ответственности продолжает оставаться предметом анализа и споров философов юристов. | |||
29970. | Основные проблемы психологии мотивации | 76.5 KB | |
Потребность ПТ свойство всех живых существ у человека осознание и цель. Понимание потребности как нужды в чёмлибо что находится за пределами организма Узнадзе Платонов Потребность как отсутствие блага благо состояние человека и внешней среды которые обуславдивают сохранение и развитие субекта Магун. Потребность как необходимость как заложенная программа Д.Леонтьев: потребность есть объективное отношение между субъектом и миром. | |||
29971. | Мотивация отдельных видов деятельности. Ильин, Вилюнас | 74 KB | |
Мотивация отдельных видов деятельности. В контексте Д мотив в структуре этой деятельности. Экспериментальные изучения мотивации трудовой деятельности. Мотивация трудовой деятельности стремление работника удовлетворить свои потребности в определенных благах посредством труда направленного на достижение целей организации. | |||
29972. | Проблема предмета психологии | 53 KB | |
А на некоторых ученых она произвела такое впечатление что они связали с ней решение двух фундаментальных вопросов: о предмете и о методе психологии. Однако этот вывод был преодолен дальнейшим развитием психологии. Проблема предмета психологии является одной из ключевых в связи с тем на современном этапе развития психологической науки нет единого представления о ее предмете. | |||