База данных комиссионное вознаграждение отдела продаж
Рефераты >> Программирование и компьютеры >> База данных комиссионное вознаграждение отдела продаж

Рисунок 12. «Предупреждение об удалении сделок».

Редактирование сделок.

Для редактирования сделок нужно в главном меню выбрать пункт «Сделки» и в предлагаемом списке нажать на «Редактировать». В итоге пользователю будет выведена форма «ChangeDeal» для редактирования информации о выбранной сделке (рисунок 13).

Рисунок 13. «Форма для редактирования сделок».

В форме необходимо внести требующиеся изменения и нажать кнопку «Сохранить изменения». Внесенные изменения будут автоматически сохранены, а форма «ChangeDeal» закрыта. Если изменения влияют на другие параметры сделки, которые вычисляются в системе автоматически (Например, размер бонуса за сделку), то эти данные тоже будут изменены автоматически.

В случае отсутствия каких-либо изменений в форме, система выдаст предупреждение. Это реализовано для исключения лишних обращений к базе данных.

Меню «Показатели»

Работа с показателями включает в себя:

§ Форму «Показатели персональные».

§ Форму «Показатели всего отдела».

Показатели персональные.

Сотрудник отдела продаж имеет возможность просмотреть свои показатели за любой, определенный им месяц. Форма «CommissionSales» реализует эту возможность (рисунок 14). Для просмотра показателей необходимо выбрать любую дату из желаемого месяца в поле «Дата отчета» и нажать кнопку «Обновить данные».

Рисунок 14. «Персональные показатели».

Показатели всего отдела.

Сотрудник отдела продаж имеет возможность просмотреть показатели работы всего отдела за любой, определенный им месяц. Форма «Commission» реализует эту возможность (рисунок 15). Для просмотра показателей необходимо выбрать любую дату из желаемого месяца в поле «Дата отчета» и нажать кнопку «Обновить данные».

Рисунок 15. «Показатели всего отдела».

Меню «Отчеты».

Работа с отчетами включает в себя следующие возможности:

- Просмотреть и распечатать отчет за любой из месяцев.

- Просмотреть и распечатать отчет за год.

- Просмотреть и распечатать отчет за любой указанный период.

Меню «Трафик».

Работа с трафиком включает в себя:

- Добавление превышения по трафику;

- Удаление превышения по трафику;

- Редактирование превышения по трафику;

Добавление превышения по трафику.

Для того чтобы добавить превышение по трафику нужно войти в меню «Трафик» и выбрать пункт «Добавление превышения по трафику». Далее необходимо заполнить форму добавления превышения по трафику (Рисунок 16) и сохранить данные.

Рисунок 16. «Добавление превышения по трафику».

Редактирование и удаление превышения по трафику.

Для редактирования и удаления превышения по трафику нужно в главном меню выбрать пункт «Трафик» и в предлагаемом списке нажать на «Редактировать» либо «Удалить». В итоге пользователю будет выведена форма «ChangeTrafic» для редактирования или удаления информации о выбранной сделке. Работа производится аналогично подобной работе со сделками.

4.6.2. Техническое описание работы информационной системы.

Создание подключения к серверной базе данных.

Для нормальной работы пользовательского приложения необходимо в первую очередь организовать подключение к базе данных (к СУБД). Для создания подключения к серверной базе данных используется метод Open объекта Connection. При этом необходимо правильно выбрать провайдера OLE DB.

Для подключения к MSDE нужно в строке подключения задать для параметра Provider значение SQLOLEDB. Вся информация о подключении задается в параметре ConnectionString метода Open.

Set cnn = New ADODB.Connection

With cnn

.ConnectionString = "Provider=SQLOLEDB.1;Password=25375;Persist " & _

"Security Info=True;User ID=lucky;Initial Catalog=Commisson;Data Source=192.168.200.38"

.Open

End With

Создание наборов записей.

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

§ Запускать сохраненную процедуру, которая скомпилирована и находится на сервере.

§ Запускать директиву SQL прямо из текста программы VBA.

В настоящей работе использовался как тот, так и другой способ создания наборов записей.

С помощью сохраненной процедуры:

Прежде всего, необходимо установить подключение к базе данных. Этот процесс описан выше. Текст процедуры:

Alter Procedure ServiceName

@ServiceID int

As

SELECT ServiceName

FROM Services

WHERE (ServiceID = @ServiceID)

Return

Чтобы использовать данную сохраненную процедуру, необходимо ей сначала передать параметр @ServiceID . Для этого создается объект ADODB.Parameter.

Dim prm As ADODB.Parameter

Set prm = cmd.CreateParameter("@sales", adInteger, adParamInput, , SalesID)

Далее с помощью метода Append этот параметр передается на сервер.

cmd.Parameters.Append prm

Для выполнения любых взаимодействий с сервером создается объект Command. В том числе для создания и передачи параметра на сервер используется именно этот объект. Вот как выглядит его объявления и создание:

Dim cmd As ADODB.Command

Set cmd = New ADODB.Command

Прежде чем запросить теперь данные у сервера необходимо подготовить переменную, куда они будут помещены. Для этого используется объект RecordSet:

Dim rst As ADODB.Recordset

Set rst = New ADODB.Recordset

Лишь теперь обращаемся к серверу с запросом на выполнение сохраненной процедуры и помещения данных в объект RecordSet это можно сделать с помощью метода Open объекта RecordSet:

rst.Open cmd, , adOpenKeyset, adLockReadOnly, adCmdStoredProc

Далее возможны любые манипуляции с полученными данными.

С помощью запросов SQL:

Использование SQL запросов похоже на работу с сохраненными процедурами. Аналогично описанному выше способу получения данных при реализации SQL запроса к серверу необходимо также создать подключение, объект Command и RecordSet. Далее используя все тот же метод Open объекта RecordSet создается набор записей:

strSQL = "SELECT SalesID FROM Sales WHERE (SalesName ='" & Me.SalesName.Value & "')"

rst.Open strSQL, cnn, adOpenKeyset, adLockReadOnly, adCmdText

Для запуска SQL запросов, которые не возвращают набора записей, в информационной системе используется метод Execute объект Command:

strSQL = "UPDATE Deals" & _

" SET Bonus = " & Bonus & " " & _

"WHERE ( ServiceID = '" & Me.ServiceName.Value & "')" & _

" AND (Year (Date) = Year ('" & Me.Date.Value & "')) AND (Month (Date) = Month ('" & Me.Date.Value & "'))"


Страница: