Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Организация ввода данных в базу данных. Организация корректировки базы данных

Поиск

 

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

• Экранные формы должны иметь уникальные и информативные заголовки.

• Все поля необходимо снабдить надписями.

• Курсор по умолчанию, как правило, должен перемещаться слева направо, а затем сверху вниз.

• Обязательные элементы должны находиться в верхней части экрана. Элементы на экране необходимо упорядочить по степени важности.

• Экранная форма не должна состоять из множества страниц.

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

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

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

Для оптимальной работы пользователя разработано 6 форм для ввода и редактирования данных. Ниже приведены основные формы.

Форма «Автомобили клиентов». Данная форма предназначена для добавления, удаления информации о клиентах и их автомобилях в справочник «Автомобили клиентов» (рис.3).

Рис. 3. Форма справочника «Автомобили клиентов»

После завершения работы в форме пользователь нажимает кнопку «Выход», программный код которой представлен ниже. При нажатии на кнопку «Выход» появляется окно подтверждения о выходе из формы (рис. 4).

Рис. 4. Окно подтверждения выхода

Программный код кнопки «Выход»:

*Завершаем и выходим, если "ДА"

if MESSAGEBOX("Выйти из формы?",4+32+256,"Выход")=6

_screen.activeform.release()

else

_screen.activeform.refresh()

Endif

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

Форма «Журнал заказов». Данная форма предназначена для формирования заказов клиентов. При формировании заказа номер заказа генерируется автоматически, чтоб пользователю не приходилось запоминать номер предыдущего заказа. Дата заказа также формируется автоматически, т. е. в поле добавляется текущая дата. Срок окончания пользователь должен корректировать самостоятельно. Далее переходим на вкладку клиенты, где выбираем код клиента, и указываем физическим или юридическим лицом является клиент. Для удобства выбора кода клиента на вкладку помещен элемент Grid (таблица), в которой отображены справочные данные клиентов. На вкладке работы и сотрудники выбираем код работы, которую требуется выполнить, и тут же выбираем исполнителя данной работы. Выбор данных также происходит из элемента Grid. Только после заполнения вышеперечисленных полей можно перейти на вкладку материалы и выбрать требуемые материалы для выбранной работы и указать необходимое количество материала. Заполняя все вышеперечисленные поля, поле «Стоимость заказа» автоматически формирует значение, суммируя стоимость работ и стоимость материалов, умноженное на количество. Форма представлена на рисунке 5.

Рис. 5. Форма «Журнал заказов»

Программный код кнопки «Добавить» представлен ниже:

*проверка поля id_klienta, если оно не пустое

IF VAL(thisform.pageframe1.page1.id_klienta.Value)=0

*вывод сообщения «Поле Код клиента незаполненно»

MESSAGEBOX("Поле Код клиента незаполненно","Сообщение")

*если поле пустое, переключается на вкладку page1

thisform.pageframe1.ActivePage=1

_screen.activeform.Refresh()

Else

*выбор таблицы zakazi

SELECT zakazi

*добавление новой записи в таблицу

APPEND Blank

*добавление значений в таблицу из полей значения формы

replace stoimost_zakaza with thisform.stoimost_zakaza.value,;

data_zakaza with thisform.data_zakaza.value,;

srok_okoncania with thisform.srok_okoncania.value,;

id_klienta with VAL(thisform.pageframe1.page1.id_klienta.value),;

fio_klienta with thisform.pageframe1.page1.fio_klienta.value,;

marka_avto with thisform.pageframe1.page1.marka_avto.value,;

tip_zakaz with thisform.pageframe1.page1.tip_zakaz.value,;

otmenen WITH 0

*вывод сообщения «Заказ успешно оформлен»

MESSAGEBOX("Заказ успешно оформлен","Сообщение")

*закрытие формы

_screen.activeform.release()

 

ENDIF

 

Программный код кнопки «Добавить работу» на вкладке «Работы и сотрудники» выглядит следующим образом:

 

*выбор таблицы rab_z

SELECT rab_z

*добавление новой записи в таблицу

APPEND Blank

*добавление значений в таблицу из полей значения формы

replace nomer_z with thisform.nomer_zakaza.value,;

kod_raboti with VAL(thisform.pageframe1.page2.combo3.value),;

naimen_raboti with thisform.pageframe1.page2.text4.value,;

id_sotrudnika with VAL(thisform.pageframe1.page2.combo2.value),;

fio_sotrudnika with thisform.pageframe1.page2.text3.value

strab=Raboti.Stoimost_raboti

*вычисление стоимости работы

thisform.Stoimost_zakaza.Value=thisform.Stoimost_zakaza.Value+strab

*вывод сообщения «Работа успешно добавлена»

MESSAGEBOX("Работа успешно добавлена","Сообщение")

*перенос значения поля text4 в поле Caption

thisform.pageframe1.page3.Label4.Caption=thisform.pageframe1.page2.text4.value

thisform.Refresh()

*_screen.activeform.Refresh()

Программный код кнопки «Добавить выбранный материал» на вкладке «Материалы» представлен ниже:

*выбор таблицы rab_z

SELECT rab_z

*связывание таблиц по ключевым полям

if!eof()

go bottom

endif

kluch_rab=rab_z.id

*в переменную temp заносим текущую стоимость заказа

temp=thisform.Stoimost_zakaza.Value

thisform.Stoimost_zakaza.Value=kluch_rab

*выбор таблицы mat_z

SELECT mat_z

APPEND Blank

*добавление значений в таблицу из полей значения формы

REPLACE kluch_rab with thisform.Stoimost_zakaza.Value,;

kod_materiala with VAL(thisform.pageframe1.page3.kod_materiala.value),;

naim_materiala with thisform.pageframe1.page3.naim_materiala.value,;

kol_mat with thisform.pageframe1.page3.kol_mat.value,;

stoimost_mat with thisform.pageframe1.page3.stoimost_mat.value

* добавление в поле Stoimost_zakaza переменную temp

thisform.Stoimost_zakaza.Value=temp

*выбор стоимости материала из справочников материалов

stmat=materiali.stoimost

*вычисление стоимости выбранных материалов и отображение стоимости на форме

thisform.Stoimost_zakaza.Value=thisform.Stoimost_zakaza.Value+thisform.Pageframe1.Page3.kol_mat.Value*stmat

*вывод сообщения «Материал добавлен, выберите следующий при необходимости»

MESSAGEBOX("Материал добавлен, выберите следующий при необходимости","Сообщение")

thisform.Refresh()

 

Программный код формы «Заказы»:

*выбор таблицы

SELECT zakazi

*переход к последней записи в таблице

if!eof()

go bottom

endif

_screen.activeform.refresh()

*запись в переменную номер последнего заказа

_per=zakazi.nomer_zakaza

_per=_maxim+1

*вычисление номера следующего заказа

thisform.nomer_zakaza.value=_per

Программный код вкладки «Материалы»:

*проверка поля код работы на заполненность

IF VAL(thisform.pageframe1.page2.combo3.Value)=0

*вывод сообщения, если поле не заполненно

MESSAGEBOX("Поле Код работы незаполненно","Сообщение")

thisform.pageframe1.ActivePage=2

_screen.activeform.Refresh()

Else

*проверка поля код сотрудника на заполенность

IF VAL(thisform.pageframe1.page2.combo2.Value)=0

*вывод сообщения если поле не заполенно

MESSAGEBOX("Поле Код сотрудника незаполненно","Сообщение")

thisform.pageframe1.ActivePage=2

_screen.activeform.Refresh()

ELSE

*перенос из поля наименование работы в Caption

IF thisform.pageframe1.page3.Label4.Caption==''

*вывод сообщения

MESSAGEBOX("Добавьте работу для перехода на вкладку выбора материалов","Сообщение")

thisform.pageframe1.ActivePage=2

_screen.activeform.Refresh()

ENDIF

ENDIF

ENDIF

Программный код кнопки «Отменить»

*Завершаем и выходим, если "ДА"

if MESSAGEBOX("Отменить заказ?",4+32+256,"Отмена")=6

_screen.activeform.release()

*выбор таблицы zakazi

SELECT zakazi

*добавление пустой строки в конец таблицы

APPEND Blank

*замена содержимого ячейки otmenen на «1»

REPLACE otmenen WITH 1

Else

*обновление формы

_screen.activeform.refresh()

Endif

 

 



Поделиться:


Последнее изменение этой страницы: 2016-12-17; просмотров: 446; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.142.42.247 (0.01 с.)