Проэктирование ИС для фотоателье

Автор работы: Пользователь скрыл имя, 09 Декабря 2013 в 15:44, курсовая работа

Описание работы

В MS Access построена база данных для реализации функций ИС, включающая в себя данные о фотографах и услугах, предоставляемых данным ателье, таблицы учета заказов и их оплаты и др. Схема данных представлена на рисунке 3.
Форма «Заказ в студии» позволяет оформить заказ, который выполняется непосредственно в самом ателье в этот же день в порядке очереди. Форма содержит подчиненную форму «Услуги в заказе», выполненную в ленточной форме. Это позволяет вносить в заказ сразу несколько услуг. Код программы приведен в приложении 1.

Файлы: 1 файл

kursovaya.doc

— 297.00 Кб (Скачать файл)

 

 

 

 

 

 

Заключение

В ходе проектирования данной ИС на основании бизнес повода были определены предметные и функциональные границы, установлены основные требования, и определены основные риски проекта. Также были описаны назначение системы, основные цели проекта. Кроме того были определены границы возможного расширения ИС.

На  стадии макетирования были реализован и описан бизнес процесс 1 (принятие заказа в фотоателье).

Работа с  данными организована в виде работы с формами в MS Access. Макет ИС соответствует требованиям и функциям, поставленным на начальной фазе проектирования.

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

 

Приложение 1

Листинг программы для формы «Заказ в студии»

Option Compare Database

 

Private Sub Сумма_Click()

Dim cnn As ADODB.Connection

Set cnn = CurrentProject.AccessConnection

Dim rst As ADODB.Recordset

Set rst = New ADODB.Recordset

strSQL = "SELECT [Услуги  в заказе].Код, [Услуги в заказе].КодУсл, [Услуги в заказе].[Код заказа], [Услуги в заказе].Количество, Услуги.Цена, [Количество]*[Цена] AS Итого"

strSQL = strSQL + " FROM Услуги INNER JOIN [Услуги в заказе] ON Услуги.КодУслуги = [Услуги в заказе].КодУсл;"

With rst

Set .ActiveConnection = cnn

.Source = strSQL

.LockType = adLockOptimistic

.CursorType = adOpenKeyset

.CursorLocation = adUseClient

.Open

End With

rst.MoveLast

rst.MoveFirst

q = rst.RecordCount

sum = 0

For i = 1 To q

If rst.Fields(2) = Me.Controls("НомерЗаказа") Then sum = sum + rst.Fields(5)

rst.MoveNext

Next i

Me.Controls("СуммаПоле").Value = sum

End Sub

 

Приложение 2

Листинг программы для формы «Выездной  заказ»

Option Compare Database

 

Private Sub КнопкаВнешт_Click()

Dim cnn As ADODB.Connection

Set cnn = CurrentProject.AccessConnection

Dim rst As ADODB.Recordset

Set rst = New ADODB.Recordset

KodSpec = CInt(Me.Controls("КодСпец"))

DataIsp = CDate(Me.Controls("ДтИспЗаказа"))

DataZapr = Day(DataIsp) & "/" & Month(DataIsp) & "/" & Year(DataIsp)

strSQL = "SELECT Заказы.КодЗаказа,  Работники.КодФотогр, Работники.ФИО,  Заказы.ДтИспЗаказа"

strSQL = strSQL + " FROM Специализации INNER JOIN (Работники INNER JOIN Заказы ON Работники.КодФотогр = Заказы.КодРаботника) ON Специализации.КодСпец = Работники.КодСпец"

strSQL = strSQL + " WHERE (((Заказы.ДтИспЗаказа)<> #" & DataZapr & "#) AND ((Работники.Штатный)=False));"

With rst

Set .ActiveConnection = cnn

.Source = strSQL

.LockType = adLockOptimistic

.CursorType = adOpenKeyset

.CursorLocation = adUseClient

.Open

End With

rst.MoveLast

rst.MoveFirst

Me!Фотограф.RowSource = strSQL

End Sub

 

Private Sub КодСпец_Click()

Dim cnn As ADODB.Connection

On Error GoTo Message

Set cnn = CurrentProject.AccessConnection

Dim rst As ADODB.Recordset

Set rst = New ADODB.Recordset

KodSpec = CInt(Me.Controls("КодСпец"))

DataIsp = CDate(Me.Controls("ДтИспЗаказа"))

DataZapr = Day(DataIsp) & "/" & Month(DataIsp) & "/" & Year(DataIsp)

strSQL = "SELECT Заказы.КодЗаказа,  Работники.КодФотогр, Работники.ФИО,  Работники.КодСпец, Заказы.Выезд,  Заказы.ДтИспЗаказа, Работники.Штатный"

strSQL = strSQL + " FROM Специализации INNER JOIN (Работники  INNER JOIN Заказы ON Работники.КодФотогр = Заказы.КодРаботника) ON Специализации.КодСпец = Работники.КодСпец"

strSQL = strSQL + " WHERE (((Работники.КодСпец)= " & KodSpec & ") AND ((Заказы.Выезд)=True) AND ((Заказы.ДтИспЗаказа) <> #" & DataZapr & "#) AND ((Работники.Штатный)=True));"

With rst

Set .ActiveConnection = cnn

.Source = strSQL

.LockType = adLockOptimistic

.CursorType = adOpenKeyset

.CursorLocation = adUseClient

.Open

End With

rst.MoveLast

rst.MoveFirst

Me!Фотограф.RowSource = strSQL

Exit Sub

Message:

MsgBox ("Нет  свободных штатных фотографов.")

End Sub

 

Public Sub Сумма_Click()

Dim cnn As ADODB.Connection

Set cnn = CurrentProject.AccessConnection

Dim rst As ADODB.Recordset

Set rst = New ADODB.Recordset

strSQL = "SELECT [Услуги  в заказе].Код, [Услуги в заказе].КодУсл, [Услуги в заказе].[Код заказа], [Услуги в заказе].Количество, Услуги.Цена, [Количество]*[Цена] AS Итого"

strSQL = strSQL + " FROM Услуги INNER JOIN [Услуги в заказе] ON Услуги.КодУслуги = [Услуги в заказе].КодУсл;"

With rst

Set .ActiveConnection = cnn

.Source = strSQL

.LockType = adLockOptimistic

.CursorType = adOpenKeyset

.CursorLocation = adUseClient

.Open

End With

rst.MoveLast

rst.MoveFirst

q = rst.RecordCount

sum = 0

For i = 1 To q

If rst.Fields(2) = Me.Controls("КодЗаказа") Then sum = sum + rst.Fields(5)

rst.MoveNext

Next i

Me.Controls("СуммаПоле").Value = sum

End Sub

 

Приложение 3

Листинг программы для формы «Оплачено/выполнено»

Option Compare Database

 

Private Sub КодЗаказа_AfterUpdate()

Dim cnn As ADODB.Connection

Set cnn = CurrentProject.AccessConnection

Dim rst As ADODB.Recordset

Set rst = New ADODB.Recordset

kodZak = CInt(Me.Controls("КодЗаказа"))

strSQL = "SELECT Заказы.КодЗаказа, Заказы.Выполнено, Заказы.Оплачено FROM Заказы WHERE (((Заказы.КодЗаказа)= " & kodZak & "));"

With rst

Set .ActiveConnection = cnn

.Source = strSQL

.LockType = adLockOptimistic

.CursorType = adOpenKeyset

.CursorLocation = adUseClient

.Open

End With

Me.Controls("Вып").Value = rst.Fields(1)

Me.Controls("Опл").Value = rst.Fields(2)

End Sub

 

Private Sub Сохр_Click()

Dim cnn As ADODB.Connection

Set cnn = CurrentProject.AccessConnection

Dim rst As ADODB.Recordset

Set rst = New ADODB.Recordset

kodZak = CInt(Me.Controls("КодЗаказа"))

strSQL = "SELECT Заказы.КодЗаказа,  Заказы.Выполнено, Заказы.Оплачено FROM Заказы WHERE (((Заказы.КодЗаказа)= " & kodZak & "));"

With rst

Set .ActiveConnection = cnn

.Source = strSQL

.LockType = adLockOptimistic

.CursorType = adOpenKeyset

.CursorLocation = adUseClient

.Open

End With

rst.Fields(2) = Me.Controls("Опл").Value

rst.Fields(1) = Me.Controls("Вып").Value

rst.Update

End Sub

 


Информация о работе Проэктирование ИС для фотоателье