6. При обращении к форме «Корзина заказов», эмулирующей подобный функционал сайта автоматически определяется следующий номер заказа

Private Sub Form_Current()

Me![Список12].SetFocus

Список12.ListIndex = 0

Поле14.Value = Список12.Value + 1

End Sub

7. При обращении к форме «Корзина заказов», эмулирующей подобный функционал сайта контролируется возможность осуществления оформления заказа только при условии добавления в корзину хотя бы одной единицы товара, а также невозможность выбора подкатегории, не принадлежащей выбранной категории

Private Sub ПолеСоСписком2_Click()

ПолеСоСписком4.Value = ""

ПолеСоСписком6.Value = ""

If ПолеСоСписком2.Value <> "" And ПолеСоСписком4.Value <> "" And ПолеСоСписком6.Value <> "" Then

Кнопка18.Visible = True

Else

Кнопка18.Visible = False

End If

End Sub

Private Sub ПолеСоСписком4_Click()

ПолеСоСписком6.Value = ""

If ПолеСоСписком2.Value <> "" And ПолеСоСписком4.Value <> "" And ПолеСоСписком6.Value <> "" Then

Кнопка18.Visible = True

Else

Кнопка18.Visible = False

End If

End Sub

Private Sub ПолеСоСписком4_GotFocus()

Me.Refresh

End Sub

Private Sub ПолеСоСписком6_Click()

If ПолеСоСписком2.Value <> "" And ПолеСоСписком4.Value <> "" And ПолеСоСписком6.Value <> "" Then

Кнопка18.Visible = True

Else

Кнопка18.Visible = False

End If

End Sub

Private Sub ПолеСоСписком6_GotFocus()

Me.Refresh

End Sub

Аналогичным образом происходит проверка на категории и подкатегории при обращении к форме «Оценка», эмулирующей подобный функционал сайта

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

Список69.Requery

Me![Список69].SetFocus

Список69.ListIndex = 0

№_заказа.Value = Список69.Value

Суммарный_вес_заказа.Requery

Me![Суммарный_вес_заказа].SetFocus

Суммарный_вес_заказа.ListIndex = 0

Суммарный_объем_заказа.Requery

Me![Суммарный_объем_заказа].SetFocus

Суммарный_объем_заказа.ListIndex = 0

Стоимость_заказа.Requery

Me![Стоимость_заказа].SetFocus

Стоимость_заказа.ListIndex = 0

If Удаленность_МКАД_км.Value = 0 Then Вид_доставки.Value = "Курьер"

If (Стоимость_заказа.Value > 30000) Or (Суммарный_вес_заказа.Value >= 2.5) Or (Суммарный_объем_заказа.Value > 4000) Then Вид_доставки.Value = "Легковой транспорт"

If (Суммарный_вес_заказа.Value >= 23) Or (Суммарный_объем_заказа.Value > 25000) Then Вид_доставки.Value = "Грузовой транспорт"

If Вид_доставки.Value = "Курьер" Then Стоимость_доставки.Value = 250

If Вид_доставки.Value = "Легковой транспорт" Then Стоимость_доставки.Value = 350 + Удаленность_МКАД_км.Value * 15

If Вид_доставки.Value = "Грузовой транспорт" Then Стоимость_доставки.Value = 450 + Удаленность_МКАД_км.Value * 20

9. При обращении к форме «Оформление заказа», эмулирующей подобный функционал сайта при редактировании поля «Удаленность_от_МКАД_км» на форме «Доставка» осуществляется пересчет стоимости доставки в зависимости от его значения

Private Sub Удаленность_МКАД_км_LostFocus()

If Вид_доставки.Value = "Курьер" Then Стоимость_доставки.Value = 250

If Вид_доставки.Value = "Легковой транспорт" Then Стоимость_доставки.Value = 350 + Удаленность_МКАД_км.Value * 15

If Вид_доставки.Value = "Грузовой транспорт" Then Стоимость_доставки.Value = 450 + Удаленность_МКАД_км.Value * 20

End Sub

10. При обращении к форме «Оформление заказа», эмулирующей подобный функционал сайта при редактировании поля «Логин» проверяется условие на его существование в БД для возможности оформления заказа

Dim i As Long, f As Boolean

Список144.Requery

Me![Список144].SetFocus

Список144.ListIndex = 0

f = False

For i = 0 To Список144.ListCount - 1

Список144.ListIndex = i

If Список144.Value = Логин.Value Then f = True

Next i

If f = False Then MsgBox ("Сначала зарегистрирутесь")

End Sub

Аналогичным образом происходит проверка при обращении к форме «Оценка товара клиентом», эмулирующей подобный функционал сайта

11. При обращении к форме «Регистрация», эмулирующей подобный функционал сайта при регистрации нового пользователя проверяются условия на обязательность заполнения определенных полей

Private Sub Кнопка70_Click()

On Error GoTo Err_Кнопка70_Click

 Dim stDocName As String

 stDocName = ChrW(1044) & ChrW(1086) & ChrW(1073) & ChrW(1072) & ChrW(1074) & ChrW(1080) & ChrW(1090) & ChrW(1100) & ChrW(32) & ChrW(1088) & ChrW(1077) & ChrW(1075) & ChrW(1080) & ChrW(1089) & ChrW(1090) & ChrW(1088) & ChrW(1072) & ChrW(1094) & ChrW(1080) & ChrW(1102)

 DoCmd.OpenQuery stDocName, acNormal, acEdit

 stDocName = ChrW(1044) & ChrW(1086) & ChrW(1073) & ChrW(1072) & ChrW(1074) & ChrW(1080) & ChrW(1090) & ChrW(1100) & ChrW(32) & ChrW(1090) & ChrW(1077) & ChrW(1083) & ChrW(1077) & ChrW(1092) & ChrW(1086) & ChrW(1085) & ChrW(32) & ChrW(49)

 DoCmd.OpenQuery stDocName, acNormal, acEdit

If Поле92 <> "" Then

 stDocName = ChrW(1044) & ChrW(1086) & ChrW(1073) & ChrW(1072) & ChrW(1074) & ChrW(1080) & ChrW(1090) & ChrW(1100) & ChrW(32) & ChrW(1090) & ChrW(1077) & ChrW(1083) & ChrW(1077) & ChrW(1092) & ChrW(1086) & ChrW(1085) & ChrW(32) & ChrW(50)

 DoCmd.OpenQuery stDocName, acNormal, acEdit

 End If

If Поле100 <> "" Then

 stDocName = ChrW(1044) & ChrW(1086) & ChrW(1073) & ChrW(1072) & ChrW(1074) & ChrW(1080) & ChrW(1090) & ChrW(1100) & ChrW(32) & ChrW(1090) & ChrW(1077) & ChrW(1083) & ChrW(1077) & ChrW(1092) & ChrW(1086) & ChrW(1085) & ChrW(32) & ChrW(51)

 DoCmd.OpenQuery stDocName, acNormal, acEdit

 End If

 If Номер_кред_карты <> "" Then

 stDocName = ChrW(1044) & ChrW(1086) & ChrW(1073) & ChrW(1072) & ChrW(1074) & ChrW(1080) & ChrW(1090) & ChrW(1100) & ChrW(32) & ChrW(1082) & ChrW(1088) & ChrW(1077) & ChrW(1076) & ChrW(1080) & ChrW(1090) & ChrW(1085) & ChrW(1091) & ChrW(1102) & ChrW(32) & ChrW(1082) & ChrW(1072) & ChrW(1088) & ChrW(1090) & ChrW(1091)

 DoCmd.OpenQuery stDocName, acNormal, acEdit

 End If

 DoCmd.SetWarnings False

 If Me.Dirty Then Me.Dirty = False

 DoCmd.Close

Exit_Кнопка70_Click:

 Exit Sub

Err_Кнопка70_Click:

 MsgBox Err.Description

Resume Exit_Кнопка70_Click

End Sub

предметный область информационный потребность 6. Проектирование физической структуры базы данных

Физическая модель – это привязка логической модели к конкретной среде хранения и методам хранения данных. При проектировании физической модели базы данных необходимо описать среду и метод хранения информации. Для этого необходимо изучить особенности организации данных выбранной СУБД.

Для проектирования базы данных для Интернет-магазина была выбрана СУБД MS Access. Для хранения данных в этой СУБД используются таблицы. В них хранится вся информация о предметной области. Наша база данных включает несколько взаимосвязанных таблиц. Объекты, которые были описаны при построении инфологической модели предметной области, в базе данных являются таблицами.

Представим описание объектов и связей между ними в виде физической ER-модели, сованной на методологии IDEF1X, созданной в выбранном для проектирования CASE-средстве CA ERwin Data Modeler.


На рисунках ниже представлены разработанные таблицы:

Таблица «Товар»

Таблица «Поставщик/категория»


Таблица «Товар/оценка»

Таблица «Покупатель»

Таблица «Кредитная_карта»


Таблица «Заказ/товар»

 

Таблица «Доставка»


Таблица «Сотрудник»

Таблица «Точка_выдачи»

7. Организация ввода данных в БД

База данных состоит из взаимосвязанных таблиц, которые наполняются записями. Ведение базы данных подразумевает под собой возможность управления записями: их добавление, изменение, удаление. Реализация данных возможностей возлагается на СУБД.

 Существует несколько способов реализации управления базой данных в MS ACCESS. В частности, любое из указанных действий можно выполнить тремя способами:

-  через раздел СУБД «Таблицы», производя действия по изменению, добавлению или удалению непосредственно в таблице;

-  через раздел СУБД «Формы», выполняя необходимые действия в таблице через интерфейс формы;

-  через раздел СУБД «Запросы», выполняя запросы на обновление, добавление или удаление данных.

Существует 3 способа ввода данных: ввод с клавиатуры; сохранение данных, сформированных иными программными средствами; импорт из других источников. В нашей базе данных мы использовали ввод с клавиатуры. В процессе ввода информации были использованы следующие приемы: перенос значений полей из предыдущих записей; замена ввода выбором из списка, вспомогательные запросы для полей, которые необходимо вычислять (напр. суммарный вес или общая стоимость заказа).

Ввод информации в базу данных может осуществляться путем ввода данных в таблицу. Но такой способ имеет многие очевидные недостатки. Поэтому для этих целей обычно используются экранные формы. Формы – это окна, через которые пользователь взаимодействует с программным кодом приложения и объектами данных. Ввод данных при помощи форм очень простой в использовании. С помощью форм также можно осуществлять полноценную навигацию по таблице.

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

Учитывая, что наш проект предполагает осуществление поступления данных в базу через сайт Интернет-магазина – для удобства работы с нашей базой данных мы реализовали специальные формы, частично эмулирующие его работу. Эти формы имеют следующий вид:


Экранная форма «Оформление заказа»

Экранная форма «Регистрация»


Экранная форма «Сайт»


Информация о работе «Проектирование базы данных интернет-магазина в СУБД MS ACCESS»
Раздел: Информатика, программирование
Количество знаков с пробелами: 50692
Количество таблиц: 14
Количество изображений: 18

Похожие работы

Скачать
77159
2
0

... к первой фазе и является наиболее трудным и длительным во времени этапом процесса проектирования. Однако он является наиболее важным, т.к. на его базе строится большинство проектных решений. Основной задачей является сбор требований, предъявляемых к содержанию и процессу обработки данных пользователями всех уровней. Анализ требований обеспечивает согласованность целей пользователей, а также ...

Скачать
184575
9
11

... 20% от общего товарооборота, соответственно окупаемость магазина произойдет за более длинный промежуток времени, нежели чем при полном ассортименте. Получение дополнительной прибыли электронному магазину по продаже программного обеспечения, компакт дисков и dvd дисков на основании приведенных выше затрат ожидается уже с третьего - четвертого месяца, что является достаточно хорошим экономическим ...

Скачать
17787
0
9

... работы. Поэтому мы будем заострять внимание в первую очередь на вопросах, связанных с организацией системы управления базой данных нашего проекта, который будет называться «Интернет-м@г@зин – Техника для жизни». Вся необходимая для работы информация, а точнее все данные будут содержаться в специальных таблицах-отношениях. Все таблицы являются связанными мужду собой, при этом выполняются все ...

Скачать
37906
3
17

... описании предметной области (п.1.2), а также путём опроса экспертов и изучения документальных источников,/8,9,10/ определим круг запросов и задач, которые предполагается решать с использованием базы данных "Отдел Сбыта Преприятия". Задачи: ·          сведения о поставщиках и заказчиках; ·          сведения о накладных, договорах и счетах; ·          сведения о товарах; ·          возможность ...

0 комментариев


Наверх