- •Федеральное агентство по образованию
- •1. Описание и анализ предметной области
- •1.1 Характеристика предметной области
- •1.2 Организационная структура организации деятельности авиационных касс
- •1.3 Функциональная структура организации
- •1.4 Постановка задачи
- •2. Инфологическое проектирование
- •2.1 Общие сведения об инфологическом моделировании
- •2.2 Инфологическая модель задачи организации деятельности железнодорожных касс
- •3. Даталогическое проектирование
- •3.1 Обоснование выбора инструментальных средств:
- •3.2 Даталогическая модель
- •4. Алгоритм решения задачи информационной поддержки деятельности железнодорожных касс
- •4.1 Алгоритм:
- •5. Контрольный пример
- •6. Инструкция пользователя
- •Заключение
- •Приложение
- •Список литературы
Заключение
База данных позволяет в минимальные сроки произвести максимум обработки данных. Она легка в использовании, благодаря удобному интерфейсу. Именно благодаря этому при поступлении нового сотрудника он сможет адаптироваться к своему месту работы и ознакомиться с данными необходимыми ему в дальнейшем.
А также база данных позволяет обеспечивать централизованное хранения информации, уменьшает затраты времени на ввод данных и удаление данных, быстрый отбор и поиск информации благодаря высокой скорости работы.
В ходе разработки базы, были задействованы все основные средства управления и отображения информации (таблицы, запросы, формы, отчёты).
Приложение
Текст обработки событий:
OptionCompareDatabase
PrivateSubRequeryFields() ‘обновление полей
Me.Поле_ID_Вагона.Requery
Me.ПолеСтанцияОтправления.Requery
Me.ПолеСтанция_прибытия.Requery
Me.Номер_места.Requery
End Sub
Private Sub Form_Current()
RequeryFields
End Sub
Private Sub КнОформление_Click()
Me.Состояние = 2
' команда сохранения записи
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
End Sub
Private Sub Номер_поезда_AfterUpdate()
Me.[ID Вагона] = DLookup("[ID_Вагона]", "Вагон", "[Номер поезда]=" & Me.Номер_поезда)
RequeryFields
End Sub
Private Sub Поле_ID_Вагона_AfterUpdate()
Me.ПолеЦена = DLookup(sNameTipVagona(Me.[Тип вагона]), "Расписание", "[Номер поезда]= " & Me.Номер_поезда & " and [Код станции]=" & Me.ПолеСтанция_прибытия) - DLookup(sNameTipVagona(Me.[Тип вагона]), "Расписание", "[Номер поезда]=" & Me.Номер_поезда & " and [Код станции]=" & Me.ПолеСтанцияОтправления)
'Me.Номер_места = Me.Form![Номер места]
End Sub
Private Sub ПолеДатаОтправления_AfterUpdate()
Me.ПолеДатаПосадкиНаПоезд = Me.ПолеДатаОтправления + Me.Внедренный29.Form![ПолеДеньВПути] - 1
' MsgBox Me.Внедренный29.Form("ПолеДеньВПути")
' MsgBox Me.Внедренный29.Form.Controls("ПолеДеньВПути")
End Sub
Private Sub ПолеДатаПосадкиНаПоезд_AfterUpdate()
Me.ПолеДатаОтправления = Me.ПолеДатаПосадкиНаПоезд - Me.Внедренный29.Form![ПолеДеньВПути] + 1
End Sub
Private Sub ПолеСтанция_прибытия_AfterUpdate()
Me.Refresh
Me.Внедренный29.Form.Requery
Me.Внедренный31.Form.Requery
Me.Refresh
Me.ПолеЦена = DLookup(sNameTipVagona(Me.[Тип вагона]), "Расписание", "[Номер поезда]= " & Me.Номер_поезда & " and [Код станции]=" & Me.ПолеСтанция_прибытия) - DLookup(sNameTipVagona(Me.[Тип вагона]), "Расписание", "[Номер поезда]=" & Me.Номер_поезда & " and [Код станции]=" & Me.ПолеСтанцияОтправления)
End Sub
Private Sub ПолеСтанцияОтправления_AfterUpdate()
Dim Uslovie As String
Me.Refresh
Me.Внедренный29.Form.Requery
Me.Внедренный31.Form.Requery
Me.Refresh
Me.ПолеДатаПосадкиНаПоезд = Me.ПолеДатаОтправления + Me.Внедренный29.Form![ПолеДеньВПути] - 1
Me.ПолеЦена = DLookup(sNameTipVagona(Me.[Тип вагона]), "Расписание", "[Номер поезда]= " & Me.Номер_поезда & " and [Код станции]=" & Me.ПолеСтанция_прибытия) - DLookup(sNameTipVagona(Me.[Тип вагона]), "Расписание", "[Номер поезда]=" & Me.Номер_поезда & " and [Код станции]=" & Me.ПолеСтанцияОтправления)
End Sub
Function sNameTipVagona(i As Integer)
Select Case i
Case 2:
sNameTipVagona = "[Цена плацкарт]"
Case 1:
sNameTipVagona = "[Цена купе]"
Case 3:
sNameTipVagona = "[Цена СВ]"
Case Else:
End Select
End Function
Private Sub КнопкаУдалитьБилет_Click()
On Error GoTo Err_КнопкаУдалитьБилет_Click
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
Exit_КнопкаУдалитьБилет_Click:
Exit Sub
Err_КнопкаУдалитьБилет_Click:
MsgBox Err.Description
Resume Exit_КнопкаУдалитьБилет_Click
End Sub
Private Sub КнопкаЗакрытьФорму_Click()
On Error GoTo Err_КнопкаЗакрытьФорму_Click
DoCmd.Close
Exit_КнопкаЗакрытьФорму_Click:
Exit Sub
Err_КнопкаЗакрытьФорму_Click:
MsgBox Err.Description
Resume Exit_КнопкаЗакрытьФорму_Click
End Sub
Private Sub КнопкаВыписатьБилет_Click()
On Error GoTo Err_КнопкаВыписатьБилет_Click
Dim stDocName As String
Dim MyForm As Form
stDocName = ChrW(1060) & ChrW(1086) & ChrW(1088) & ChrW(1084) & ChrW(1072) & ChrW(1041) & ChrW(1080) & ChrW(1083) & ChrW(1077) & ChrW(1090) & ChrW(1099)
Set MyForm = Screen.ActiveForm
DoCmd.SelectObject acForm, stDocName, True
DoCmd.PrintOut
DoCmd.SelectObject acForm, MyForm.Name, False
Exit_КнопкаВыписатьБилет_Click:
Exit Sub
Err_КнопкаВыписатьБилет_Click:
MsgBox Err.Description
Resume Exit_КнопкаВыписатьБилет_Click
End Sub
Private Sub КнопкаВыписка_Билета_Click()
On Error GoTo Err_КнопкаВыписка_Билета_Click
Dim stDocName As String
stDocName = ChrW(1041) & ChrW(1080) & ChrW(1083) & ChrW(1077) & ChrW(1090)
DoCmd.OpenReport stDocName, acPreview, , "[ID Билета]=" & Me.[ID билета]
Exit_КнопкаВыписка_Билета_Click:
Exit Sub
Err_КнопкаВыписка_Билета_Click:
MsgBox Err.Description
Resume Exit_КнопкаВыписка_Билета_Click
End Sub
Private Sub КнБронь_Click()
Me.Состояние = 1
On Error GoTo Err_КнБронь_Click
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Exit_КнБронь_Click:
Exit Sub
Err_КнБронь_Click:
MsgBox Err.Description
Resume Exit_КнБронь_Click
End Sub
Private Sub КнОтмена_Click()
Me.Состояние = 0
On Error GoTo Err_КнОтмена_Click
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Exit_КнОтмена_Click:
Exit Sub
Err_КнОтмена_Click:
MsgBox Err.Description
Resume Exit_КнОтмена_Click
End Sub
Private Sub КнВыписать_Билет_Click()
On Error GoTo Err_КнВыписать_Билет_Click
Dim stDocName As String
stDocName = ChrW(1042) & ChrW(1099) & ChrW(1087) & ChrW(1080) & ChrW(1089) & ChrW(1082) & ChrW(1072) & ChrW(95) & ChrW(1041) & ChrW(1080) & ChrW(1083) & ChrW(1077) & ChrW(1090)
DoCmd.OpenReport stDocName, acPreview, , "[ID Билета]=" & Me.[ID билета]
Exit_КнВыписать_Билет_Click:
Exit Sub
Err_КнВыписать_Билет_Click:
MsgBox Err.Description
Resume Exit_КнВыписать_Билет_Click
End Sub
Private Sub КнСоздБилет_Click()
On Error GoTo Err_КнСоздБилет_Click
DoCmd.GoToRecord , , acNewRec
Exit_КнСоздБилет_Click:
Exit Sub
Err_КнСоздБилет_Click:
MsgBox Err.Description
Resume Exit_КнСоздБилет_Click
End Sub