Разработка базы данных Автосалон АЛМАЗ с помощью программы Microsoft Access

Разработка базы данных Автосалон АЛМАЗ с помощью программы Microsoft Access

Задание 

Разработка базы данных “Автосалон АЛМАЗ” с помощью программы Microsoft Access.

Примечание:

Пояснительная записка должна быть оформлена в редакторе Microsoft Word в соответствии с требованиями ЕСКД, ЕСПД, ГОСТ 19.003-80 “Схемы алгоритмов и программ”.

В пояснительной записке должны содержаться следующие разделы:

информационная модель;

структура базы данных;

описание используемого программного обеспечения;

листинг разработанного программного обеспечения;

формы входных и выходных данных;

контрольный пример;

руководство пользователя;

список используемой литературы. 


ВВЕДЕНИЕ

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

С появлением ЭВМ и использованием их для обработки информации появилась возможность автоматизировать решение многих информационно - справочных и расчетных задач. 

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

Постепенно с развитием программного обеспечения ЭВМ появились идеи создания управляющих систем, которые позволяли бы накапливать, хранить и обновлять взаимосвязанные данные по целому комплексу решаемых задач, например при автоматизации бухгалтерского учета на предприятии. Эти идеи нашли свое воплощение в  системах управления базами данных (СУБД). СУБД взаимодействуют не с локальными, а взаимосвязанными по информации массивами, называемыми базами данных. С появлением персональных компьютеров СУБД становятся наиболее популярным средством обработки табличной информации. Они являются инструментальным   средством   проектирования банков данных при обработке больших объемов информации. 

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

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

Система управления базами данных предоставляет вам возможность контролировать задание структуры и описание своих данных, работу с ними и организацию коллективного пользования этой информацией. СУБД также существенно увеличивает возможности и облегчает каталогизацию и ведение больших объемов хранящейся в многочисленных таблицах информации. СУБД включает в себя три основных типа функций: определение (задание структуры и описание) данных, обработка данных и управление данными. Все эти функциональные возможности в полной мере реализованы в  Microsoft Access. В практике, как правило, необходимо решать и задачи с использованием электронных таблиц и текстовых процессоров. Например, после подсчета или анализа данных необходимо их представить в виде определенной формы или шаблоны. В итоге пользователю приходится комбинировать программные продукты для получения необходимого результата. В этом смысле все существенно упростят возможности, предоставляемые Microsoft Access. Предлагается рассмотреть эти возможности.



Раздел 1 Описание используемого программного обеспечения



Microsoft Access – это система управления базами данных (СУБД), предназначенная для создания и обслуживания баз данных, обеспечения доступа к данным и их обработки.

База данных (БД) представляет собой организованную структуру, используемую для хранения данных, т.е. любых сведений о явлениях, процессах, действиях и т.д. Данные несут в себе информацию о событиях, происходящих в материальном мире, и, по сути, являются зарегистрированными сигналами, возникшими в результате этих событий. Данные становятся информацией, если пользователь обработает их и осмыслит, применив при этом адекватные этим данным методы. Сегодня большинство СУБД размещают в своих структурах не только данные, но и методы (программные коды), поэтому можно утверждать, что Microsoft Access – это СУБД, предлагающая широкий диапазон средств для хранения информации и эффективного управления этой информацией.

Базы данных содержат различные объекты, основными из которых являются таблицы. Структура простейшей базы данных соответствует структуре её двухмерной таблицы, содержащей столбцы и строки. Их аналогами в структуре простейшей базы данных являются поля и записи.

Основными свойствами полей являются имя поля, тип поля, его размер, определяющий предельную длину данных, размещаемых в этом поле, и др.

При работе с Microsoft Access 2000 и Microsoft Access 2002 используются следующие типы данных:

текстовый – тип данных, используемый для хранения простого неформатированного текста, число символов в котором не должно превышать 255;

поле MEMO – специальный тип данных, применяемый для хранения больших объёмов текста (до 65 535 символов);

числовой – тип данных для хранения чисел;

дата/время – тип данных для хранения значений даты и времени;

денежный – тип данных для хранения денежных значений (длина поля 8 байт);

счётчик – специальный тип данных, используемый для автоматической нумерации записей;

логический – для хранения логических данных, которые могут иметь одно из двух возможных значений Да или Нет;

поле объекта OLE – специальный тип данных, предназначенный для хранения объектов OLE (электронных таблиц Microsoft Excel, документов Microsoft Word, звукозаписей и др.);

гиперссылка – специальное поле для хранения адресов URL Web-объектов;

мастер подстановок – тип данных, запускающий мастер подстановок, что позволяет выбирать данные из раскрывающегося списка, а не вводить их в поле вручную.

Числовые поля могут иметь следующие размеры:

байт (Byte) – целые числа от 0 до 255 (1 байт);

целое (Integer) – целые числа от минус 32768 до +32767 (2 байта);

длинное целое (Long Integer) – целые числа от минус 2147483648 до +2147483647 (4 байта);

одинарное с плавающей точкой (Single) – числа от минус 3,41038 до +3,41038 с точностью до 7 знаков (4 байта);

двойное с плавающей точкой (Double) – числа от минус 1,79710308 до +1,79710308 с точностью до 15 знаков (8 байт).

База данных может состоять из нескольких таблиц, содержащих различную информацию. Эти таблицы связаны между собой каким-либо определённым полем, называемым ключевым полем. Ключевое поле позволяет однозначно идентифицировать каждую запись таблицы, т.е. каждое значение этого поля отличает одну запись от другой. Связи между таблицами дают возможность совместно использовать данные из различных таблиц. Например, одна таблица содержит информацию о профессиональной деятельности сотрудников предприятия (таблица Сотрудник), другая таблица – информацию об их месте жительства (таблица Адрес). Допустим, на основании этих двух таблиц необходимо получить результирующую таблицу, содержащую поля Фамилия и инициалы, Должность и Адрес проживания. Причём поле Фамилия и инициалы может быть в обеих таблицах, поле Должность – в таблице Сотрудник, а поле Адрес проживания – в таблице Адрес. Ни одно из перечисленных полей не может являться ключевым, т. к. оно однозначно не определяет каждую запись. В качестве ключевого поля в этих таблицах можно использовать поле Код типа Счётчик, автоматически формируемое Access при создании структуры таблицы, или в каждой таблице задать поле Табельный номер, по которому затем связать таблицы. Таблицы при этом будут связаны так называемым реляционным отношением. Последовательность действий пользователя при создании таблиц Сотрудник и Адрес рассмотрена в пп. 9.1.2 и 9.1.3.

Взаимосвязанные двухмерные таблицы, являющиеся объектами СУБД, называются реляционными таблицами, а сами СУБД – реляционными базами данных.

СУБД Microsoft Access 2000 и Microsoft Access 2002 ориентированы на работу с объектами семи различных типов: таблицами, запросами, формами, отчётами, страницами, макросами, модулями.

Таблицы – это основной объект базы данных, в котором хранятся все данные, имеющиеся в базе, а также структура базы (поля, их типы, свойства).

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

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

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

Страницы – это специальные объекты баз данных, реализованные в версиях Access 2000 и Access 2002. В более ранних версиях Access такие страницы доступа к данным отсутствуют. Эти страницы являются диалоговыми Web-страницами, т.е. осуществляют интерфейс между клиентом, сервером и базой данных, размещённой на сервере.

Макросы предназначены для автоматизации повторяющихся операций при работе с СУБД. Макрос является программой, которая содержит описание последовательности конкретных действий пользователя. Каждому действию соответствует определённая макрокоманда. Формируются макросы в диалоговом режиме путём выбора нужных макрокоманд.

Модули создаются пользователем путём применения интегрированной среды объектно-ориентированного программирования Visual Basic for Applications (VBA). Основной идеей объектно-ориентированного программирования является объединение данных и оперирующих ими функций в один объект. Данные в VBA рассматриваются как совокупность объектов (таблиц, форм, отчётов и т. д.), имеющих свойства и методы, реализующие заранее определённые действия над объектами.



Раздел 2 База данных



Схема данных

Созданная база данных имеет схему данных, показанную на рисунке 1.







Рисунок 1 – Схема данных



Таблицы

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

Таблица «Автомобили (в наличии)» имеет следующие поля и соответствующие им типы данных представленные в таблице 1. В данной таблице хранятся данные об автомобилях имеющихся в наличие в автосалоне.



Таблица 1 – Автомобили (в наличии)

Имя поля

Тип данных

*Код автомобиля

Числовой

Марка

Текстовый

№ кузова

Текстовый

№ двигателя

Текстовый

№ ПТС

Текстовый

Цвет

Текстовый

Дата выпуска

Дата/время

Дата прихода

Дата/время

Комплектация

Текстовый

Производитель

Текстовый

Цена

Денежный



Таблица «Должность» имеет следующие поля и соответствующие им типы данных представленные в таблице 2. Данная таблица содержит список должностей сотрудников работающих в автосалоне.



Таблица 2 – Должность

Имя поля

Тип данных

*Должность сотрудника

Текстовый



Таблица «Продажа» имеет следующие поля и соответствующие им типы данных представленные в таблице 3. Данная таблица не содержит никаких сведений, так как она создана для создания формы «Продажа».

Таблица 3 – Продажа

Имя поля

Тип данных

Код автомобиля

Числовой

Дата продажи

Дата/время

Фамилия покупателя

Текстовый

Имя покупателя

Текстовый

Отчество покупателя

Текстовый

Город

Текстовый

Адрес

Текстовый

Паспортные данные

Числовой

Телефон

Числовой



Таблица «Производитель» имеет только одно ключевое поле – Производитель с текстовым типом данных. Данная таблица содержит список производителей, имеющихся в автосалоне, машин.

И наконец таблица «Сотрудники» имеет следующие поля и соответствующие им типы данных представленных в таблице 4.



Таблица 4 – Сотрудники

Имя поля

Тип данных

Фамилия сотрудника

Текстовый

Имя сотрудника

Текстовый

Отчество сотрудника

Текстовый

Должность сотрудника

Текстовый

Адрес сотрудника

Текстовый

Телефон сотрудника

Числовой



Запросы

В созданной базе данных имеются 3 запроса, созданных в режиме конструктора.

Два из этих запросов связаны с таблицами так, как показано на рисунке 1.

Первый запрос – запрос на выборку «Автомобили в (наличии)» не несет никакого самостоятельного значения, он создан для отчета «Продажа». Данный запрос представлен на рисунке 2.







Рисунок 2 – Запрос «Автомобили в (наличии)»



Второй запрос на выборку - «Запрос на общее количество каждой марки», подсчитывает количество автомобилей одинаковой марки и их общую стоимость. Данный запрос представлен на рисунке 3.







Рисунок 3 – «Запрос на общее количество каждой марки»



И наконец третий запрос на выборку – «Запрос на остаток машин» создан также для отчета «Остаток машин». Данный запрос представлен на рисунке 4.







Рисунок 4 – «Запрос на остаток машин»



Формы

В разработанной базе данных создано 10 форм. Все они созданы в режиме конструктора.

Форма «Автосалон» является главной формой, которая автоматически появляется при запуске базы данных. Подробнее она будет рассмотрена в руководстве пользователя.

Форма «Должность» является подчиненной и входит в состав формы «Сотрудники» и позволяет добавлять новые должности. Данная форма представлена на рисунке 5.







Рисунок 5 – Форма «Должность»



Форма «подчиненная форма Автомобили (в наличии)» также является подчиненной и в ходит в состав главной формы.

Формы «Продажа» и «Продажа подчиненная форма» являются подчиненными и входят в состав формы «Продажа1».

Форма «Продажа1» является сложной формой и входит в состав главной формы. Подробнее о работе данной форме будет рассказано в руководстве пользователя.

Форма «Производитель» входит в состав формы «Форма1» и позволяет добавлять новых производителей. Данная форма представлена на рисунке 6.





Рисунок 6 – Форма «Производитель»



Форма «Сотрудники» входит в состав главной формы. 

И наконец последняя форма «Форма 1» также входит в состав главной формы.



Отчеты

В созданной базе данных составлено, с помощью конструктора 2 отчета.

Первый отчет – «Запрос на остаток машин», представлен на рисунке 7.







Рисунок 7 – Отчет по остатку машин

Второй отчет – отчет «Продажа» представляет из себя чек о продаже автомобиля. Данный отчет показан на рисунке 8. 



Рисунок 8 – Отчет «Продажа»



Раздел 3 Руководство пользователя



На диске вложенном в курсовую работу хранится файл - Автосалон Алмаз.mdb. При запуске данного файла пользователя встречает кнопочная форма «Автосалон», представленная на рисунке 9.







Рисунок 9 – Форма «Автосалон»



Данная форма предлагает пользователю следующие действия:

Просмотр имеющихся автомобилей в наличии;

Просмотр отчета по остатку машин;

Осуществление продажи;

Просмотр сотрудников автосалона;

Выход из базы данных.

Рассмотрим последовательно все эти действия:

Просмотр имеющихся автомобилей в наличииреализован формой «Форма1», представленной на рисунке 10.



Рисунок 10 – Форма «Форма1»



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

Для добавления нового автомобиля вызывается форма «Автомобили (в наличии)», представленная на рисунке 11. Затем заполняются все поля и нажимается кнопка “СОХРАНИТЬ”. Если нужно добавить еще один автомобиль нажимается кнопка “ДОБАВИТЬ” и проделываются аналогичные действия. После того как нужное количество автомобилей было добавлено нажимается кнопка “НАЗАД” для возврата на форму «Форма1».







Рисунок 11 – Добавление нового автомобиля



Для добавления нового производителя вызывается форма «Производитель». На которой вписывается новый производитель и нажимается кнопка сохранить. Для добавления еще одного производителя нажимается кнопка добавить и выполняются аналогичные действия. Для возврата на форму «Форма1» нажимается кнопка выхода.

Просмотр отчета по остатку машин. Для просмотра отчета по остатку машин нажимается соответствующая кнопка, после нажатия на экране появляется данный отчет.

Осуществление продажи.Данная операция реализуетсяформой «Продажа1», представленной на рисунке 12.





Рисунок 12 – Форма «Продажа1»



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

Просмотр сотрудников Автосалона.Данная операция реализована при помощи формы «Сотрудники», представленной на рисунке 13.





Рисунок 13 – Форма «Сотрудники»



На данной форме возможно: добавить нового сотрудника, осуществить поиск необходимого сотрудника, удалить запись о сотруднике и добавить новую должность.

Для того чтобы добавить нового сотрудника нажимается кнопка добавить и заполняются все необходимые поля после чего нажимается кнопка сохранить.

Для того чтобы удалить запись о сотруднике нажимается кнопка “корзина”.

Для того чтобы добавить должность нажимаем на кнопку “ДОБАВИТЬ ДОЛЖНОСТЬ” 

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



ЗАКЛЮЧЕНИЕ



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

В базе данных сведения из каждого источника сохраняются в отдельной таблице. При работе с данными из нескольких таблиц устанавливаются связи между таблицами. Для поиска и отбора данных, удовлетворяющих определённым условиям, создаётся запрос. Запросы также позволяют обновить или удалить одновременно несколько записей, выполнить встроенные и специальные сообщения.

Для просмотра, ввода или изменения данных прямо в таблице применяются формы. Форма позволяет отобрать данные из одной или нескольких таблиц и вывести их на экран, используя стандартный или созданный пользователем макет.

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

В окне базы данных можно работать со всеми её объектами. Для просмотра объектов определённого типа следует выбрать соответствующую вкладку. С помощью кнопок можно открывать и изменять существующие объекты и создавать новые.

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

Разработанный программный продукт был предложен руководству ООО “Автосалон Алмаз” в г. Салавате, одобрен им, и в скором времени будет внедрен для использования в ООО “Автосалон Алмаз” после прохождения испытательного срока и последующей доработки непосредственно для нужд автосалона. 



СПИСОК ЛИТЕРАТУРЫ



Кренке Д. Теория и практика построения баз данных. – 8-е изд. – СПб.: Питер, 2003. 800с.

Бакаревич Ю.Б., Пушкина Н.В. Самоучитель Microsoft Access 2002. – СПб.: БХВ-Петербург, 2002. – 720 с.

Microsoft Access 2000. Шаг за шагом: Практическое пособие / Пер. с англ. – М.: ЭКОМ, 2000. – 352 с. 

Информатика. Базовый курс / Под ред. С.В. Симоновича.– СПб.: Питер, 2001. – 640 с.



Приложение А

(обязательное)

Листинг разработанного программного обеспечения.

Форма Автомобили (в наличии)

Option Compare Database



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

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



DoCmd.GoToRecord , , acNewRec



Exit_Кнопка24_Click:

Exit Sub



Err_Кнопка24_Click:

MsgBox Err.Description

Resume Exit_Кнопка24_Click



End Sub

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

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



DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70



Exit_Кнопка25_Click:

Exit Sub



Err_Кнопка25_Click:

MsgBox Err.Description

Resume Exit_Кнопка25_Click



End Sub

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

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



DoCmd.Close



Exit_Кнопка26_Click:

Form_Форма1.Refresh

Exit Sub



Err_Кнопка26_Click:

MsgBox Err.Description

Resume Exit_Кнопка26_Click



End Sub

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

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



DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70



Exit_Кнопка27_Click:

Exit Sub



Err_Кнопка27_Click:

MsgBox Err.Description

Resume Exit_Кнопка27_Click



End Sub



Форма Автосалон

Option Compare Database



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

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



Dim stDocName As String

Dim stLinkCriteria As String



stDocName = "Автомобили (в наличии)1"

DoCmd.OpenForm stDocName, , , stLinkCriteria



Exit_Кнопка0_Click:

Exit Sub



Err_Кнопка0_Click:

MsgBox Err.Description

Resume Exit_Кнопка0_Click



End Sub

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

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



Dim stDocName As String

Dim stLinkCriteria As String



stDocName = "Продажа1"

DoCmd.OpenForm stDocName, , , stLinkCriteria



Exit_Кнопка1_Click:

Exit Sub



Err_Кнопка1_Click:

MsgBox Err.Description

Resume Exit_Кнопка1_Click



End Sub

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

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



Dim stDocName As String



stDocName = "Продажа"

DoCmd.OpenReport stDocName, acPreview



Exit_Кнопка2_Click:

Exit Sub



Err_Кнопка2_Click:

MsgBox Err.Description

Resume Exit_Кнопка2_Click



End Sub

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

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



Dim stDocName As String



stDocName = "Запрос на остаток машин1"

DoCmd.OpenReport stDocName, acPreview



Exit_Кнопка3_Click:

Exit Sub



Err_Кнопка3_Click:

MsgBox Err.Description

Resume Exit_Кнопка3_Click



End Sub

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

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



Dim stDocName As String

Dim stLinkCriteria As String



stDocName = "Форма1"

DoCmd.OpenForm stDocName, , , stLinkCriteria



Exit_Кнопка4_Click:

Exit Sub



Err_Кнопка4_Click:

MsgBox Err.Description

Resume Exit_Кнопка4_Click



End Sub

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

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



Dim stDocName As String

Dim stLinkCriteria As String



stDocName = "Сотрудники"

DoCmd.OpenForm stDocName, , , stLinkCriteria



Exit_Кнопка6_Click:

Exit Sub



Err_Кнопка6_Click:

MsgBox Err.Description

Resume Exit_Кнопка6_Click



End Sub

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

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



DoCmd.Quit



Exit_Кнопка8_Click:

Exit Sub



Err_Кнопка8_Click:

MsgBox Err.Description

Resume Exit_Кнопка8_Click



End Sub



Форма Должность

Option Compare Database



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

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



DoCmd.GoToRecord , , acNewRec



Exit_Кнопка2_Click:

Exit Sub



Err_Кнопка2_Click:

MsgBox Err.Description

Resume Exit_Кнопка2_Click



End Sub

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

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



DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70



Exit_Кнопка3_Click:

Exit Sub



Err_Кнопка3_Click:

MsgBox Err.Description

Resume Exit_Кнопка3_Click



End Sub

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

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



DoCmd.ShowAllRecords

DoCmd.Close



Exit_Кнопка4_Click:

Form_Сотрудники.Refresh

Exit Sub



Err_Кнопка4_Click:

MsgBox Err.Description

Resume Exit_Кнопка4_Click



End Sub



Форма подчиненная Автомобили (в наличии)

Option Compare Database



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

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



Screen.PreviousControl.SetFocus

DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70



Exit_Кнопка22_Click:

Exit Sub



Err_Кнопка22_Click:

MsgBox Err.Description

Resume Exit_Кнопка22_Click



End Sub

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

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



DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70

DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70



Exit_Кнопка23_Click:

Exit Sub



Err_Кнопка23_Click:

MsgBox Err.Description

Resume Exit_Кнопка23_Click



End Sub

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

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



DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70



Exit_Кнопка24_Click:

Exit Sub



Err_Кнопка24_Click:

MsgBox Err.Description

Resume Exit_Кнопка24_Click



End Sub

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

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



Screen.PreviousControl.SetFocus

DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70



Exit_Кнопка25_Click:

Exit Sub



Err_Кнопка25_Click:

MsgBox Err.Description

Resume Exit_Кнопка25_Click



End Sub

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

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



Screen.PreviousControl.SetFocus

DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70



Exit_Кнопка26_Click:

Exit Sub



Err_Кнопка26_Click:

MsgBox Err.Description

Resume Exit_Кнопка26_Click



End Sub

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

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



DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70



Exit_Кнопка27_Click:

Exit Sub



Err_Кнопка27_Click:

MsgBox Err.Description

Resume Exit_Кнопка27_Click



End Sub



Форма Продажа

ption Compare Database



Sub Form_Load()

On Error GoTo Form_Load_Err



If ParentFormIsOpen() Then Forms![Автомобили (в наличии)2]!ToggleLink = True



Form_Load_Exit:

Exit Sub



Form_Load_Err:

MsgBox Error$

Resume Form_Load_Exit



End Sub

Sub Form_Unload(Cancel As Integer)

On Error GoTo Form_Unload_Err



If ParentFormIsOpen() Then Forms![Автомобили (в наличии)2]!ToggleLink = False



Form_Unload_Exit:

Exit Sub



Form_Unload_Err:

MsgBox Error$

Resume Form_Unload_Exit



End Sub

Private Function ParentFormIsOpen()



ParentFormIsOpen = (SysCmd(acSysCmdGetObjectState, acForm, "Автомобили (в наличии)2") And acObjStateOpen) <> False



End Function



Форма Продажа1

Option Compare Database



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

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



DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70



Exit_Кнопка20_Click:

Exit Sub



Err_Кнопка20_Click:

MsgBox Err.Description

Resume Exit_Кнопка20_Click



End Sub

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

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



DoCmd.Close



Exit_Кнопка22_Click:

Exit Sub



Err_Кнопка22_Click:

MsgBox Err.Description

Resume Exit_Кнопка22_Click



End Sub

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

Код_автомобиля.SetFocus



'DoCmd.RunSQL "INSERT INTO Продажа (Код_автомобиля,Дата_продажи,Фамилия_покупателя,Имя_покупателя,Отчество_покупателя,Город,Адрес,Паспортные_данные,Телефон) VALUES (Val(" + Код_автомобиля + "),CDate(" + Дата_продажи + ")," + Фамилия_покупателя + "," + Имя_покупателя + "," + Отчество_покупателя + "," + Город + "," + Адрес + ",Val(" + Паспортные_данные + "),Val(" + Телефон + "))"



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



DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70

Dim stDocName As String



stDocName = "Продажа"

DoCmd.OpenReport stDocName, acPreview

DoCmd.RunSQL "DELETE FROM [Автомобили (в наличии)] WHERE Код_автомобиля=Val(" + Код_автомобиля.Text + ")"



Exit_Кнопка23_Click:

Exit Sub



Err_Кнопка23_Click:

MsgBox Err.Description

Resume Exit_Кнопка23_Click



End Sub

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

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



DoCmd.GoToRecord , , acNewRec



Exit_Кнопка24_Click:

Exit Sub



Err_Кнопка24_Click:

MsgBox Err.Description

Resume Exit_Кнопка24_Click



End Sub



Private Sub подчиненная_форма_Автомобили__в_наличии_1_Enter()



End Sub



Форма Производитель

Option Compare Database



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

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



DoCmd.GoToRecord , , acNewRec



Exit_Кнопка2_Click:

Exit Sub



Err_Кнопка2_Click:

MsgBox Err.Description

Resume Exit_Кнопка2_Click



End Sub

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

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



DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70



Exit_Кнопка3_Click:

Exit Sub



Err_Кнопка3_Click:

MsgBox Err.Description

Resume Exit_Кнопка3_Click



End Sub

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

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



DoCmd.Close

DoCmd.ShowAllRecords



Exit_Кнопка4_Click:

Form_Форма1.Refresh

Exit Sub



Err_Кнопка4_Click:

MsgBox Err.Description

Resume Exit_Кнопка4_Click



End Sub



Форма Сотрудники

Option Compare Database



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

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



Screen.PreviousControl.SetFocus

DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70



Exit_Кнопка12_Click:

Exit Sub



Err_Кнопка12_Click:

MsgBox Err.Description

Resume Exit_Кнопка12_Click



End Sub

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

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



DoCmd.GoToRecord , , acNewRec



Exit_Кнопка13_Click:

Exit Sub



Err_Кнопка13_Click:

MsgBox Err.Description

Resume Exit_Кнопка13_Click



End Sub

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

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



DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70

DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70



Exit_Кнопка14_Click:

Exit Sub



Err_Кнопка14_Click:

MsgBox Err.Description

Resume Exit_Кнопка14_Click



End Sub

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

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



DoCmd.Close



Exit_Кнопка15_Click:

Exit Sub



Err_Кнопка15_Click:

MsgBox Err.Description

Resume Exit_Кнопка15_Click



End Sub

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

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



DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70



Exit_Кнопка16_Click:

Exit Sub



Err_Кнопка16_Click:

MsgBox Err.Description

Resume Exit_Кнопка16_Click



End Sub

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

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



Dim stDocName As String

Dim stLinkCriteria As String



DoCmd.ShowAllRecords



stDocName = "Должность"

DoCmd.OpenForm stDocName, , , stLinkCriteria



Exit_Кнопка17_Click:

Exit Sub



Err_Кнопка17_Click:

MsgBox Err.Description

Resume Exit_Кнопка17_Click



End Sub



Форма Форма1

Option Compare Database



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

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



Screen.PreviousControl.SetFocus

DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70



Exit_Кнопка2_Click:

Exit Sub



Err_Кнопка2_Click:

MsgBox Err.Description

Resume Exit_Кнопка2_Click



End Sub

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

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



Screen.PreviousControl.SetFocus

DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70



Exit_Кнопка3_Click:

Exit Sub



Err_Кнопка3_Click:

MsgBox Err.Description

Resume Exit_Кнопка3_Click



End Sub

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

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



Dim stDocName As String

Dim stLinkCriteria As String



DoCmd.ShowAllRecords



stDocName = "Автомобили (в наличии)1"

DoCmd.OpenForm stDocName, , , stLinkCriteria



Exit_Кнопка5_Click:

Exit Sub



Err_Кнопка5_Click:

MsgBox Err.Description

Resume Exit_Кнопка5_Click



End Sub

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

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



DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70



Exit_Кнопка6_Click:

Exit Sub



Err_Кнопка6_Click:

MsgBox Err.Description

Resume Exit_Кнопка6_Click



End Sub

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

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



DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70

DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70



Exit_Кнопка7_Click:

Exit Sub



Err_Кнопка7_Click:

MsgBox Err.Description

Resume Exit_Кнопка7_Click



End Sub

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

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



DoCmd.Close



Exit_Кнопка8_Click:

Exit Sub



Err_Кнопка8_Click:

MsgBox Err.Description

Resume Exit_Кнопка8_Click



End Sub

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

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



DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70



Exit_Кнопка9_Click:

Exit Sub



Err_Кнопка9_Click:

MsgBox Err.Description

Resume Exit_Кнопка9_Click



End Sub

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

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



Dim stDocName As String

Dim stLinkCriteria As String



stDocName = "Производитель"

DoCmd.OpenForm stDocName, , , stLinkCriteria



Exit_Кнопка13_Click:

Exit Sub



Err_Кнопка13_Click:

MsgBox Err.Description

Resume Exit_Кнопка13_Click



End Sub