Главная форма для работы с БД «Зоопарк» 


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



ЗНАЕТЕ ЛИ ВЫ?

Главная форма для работы с БД «Зоопарк»



Эта форма (mainform) предназначена для работы со всей базой данных «Зоопарк» и вызывается на экран из главного меню «Главная».

 

Свойства формы:

AutoCenter =.T. - True

BorderStyle = 0 – No border

Caption = ’Зоопарки Украины’

DataSession = 2 – Private Data Session

Height = 390

Icon = ’fox8.ico’

MaxButton =.F. – False

MinButton =.F. – False

Name = ’MainForm’

ShowWindow = 2 – As Top-Level Form

Width = 820

oAnimals =.F.

oAnimToWork =.F.

oCity =.F.

oServis =.F.

oWorker =.F.

oZoo =.F.

 

Методы формы:

До создания формы выполняется процедура Load. В ней создаются курсоры (временные таблицы), которые связываются с таблицами базы данных сервера.

SET TALK OFF && Не выводить промежуточные результаты

SET SAFETY OFF && Не запрашивать системного подтверждения на удаление

SET NEAR ON && Выполнять поиск до близлежащего элемента

 

thisform.oServis=CREATEOBJECT('ocad') && создать объект-курсор для таблицы Servis

thisform.oServis.Alias='Servis' && имя курсора

thisform.oServis.SelectCmd='SELECT * FROM read_servis()' && команда для заполнения курсора

thisform.oServis.CursorSchema='id I, name C(15)' && структура курсора

IF thisform.oServis.CursorFill(.T.,.F., 1, loCmd)=.F. && если заполнение курсора не получилось

LOCAL laerror(1) && объявление массива

= AERROR(laerror) && чтение ошибки в массив

MESSAGEBOX('Servis '+STR(laerror(1))+' '+laerror(2)) && выдать сообщение об ошибке

RETURN.F. && возврат с ошибкой

ENDIF

INDEX ON id TAG id && индексировать курсор по полю id

INDEX ON name TAG name && индексировать курсор по полю name

 

thisform.oCity=CREATEOBJECT('ocad') && создать объект-курсор для таблицы City

thisform.oCity.Alias='City' && имя курсора

thisform.oCity.SelectCmd='SELECT * FROM read_city()' && команда для заполнения курсора

thisform.oCity.CursorSchema='id I, name C(15)' && структура курсора

IF thisform.oCity.CursorFill(.T.,.F., 1, loCmd)=.F. && если заполнение курсора не получилось

LOCAL laerror(1) && объявление массива

= AERROR(laerror) && чтение ошибки в массив

MESSAGEBOX('City '+STR(laerror(1))+' '+laerror(2)) && выдать сообщение об ошибке

RETURN.F. && возврат с ошибкой

ENDIF

INDEX ON id TAG id && индексировать курсор по полю id

INDEX ON name TAG name && индексировать курсор по полю name

GO TOP && перейти в начало курсора

 

idCity=city.id

thisform.oZoo=CREATEOBJECT('ocad') && создать объект-курсор для таблицы Zoo

thisform.oZoo.Alias='Zoo' && имя курсора

thisform.oZoo.SelectCmd='SELECT * FROM read_zoo(?idCity)' && команда для заполнения курсора

thisform.oZoo.CursorSchema='id I, name C(20)' && структура курсора

IF thisform.oZoo.CursorFill(.T.,.F., 1, loCmd)=.F. && если заполнение курсора не получилось

LOCAL laerror(1) && объявление массива

= AERROR(laerror) && чтение ошибки в массив

MESSAGEBOX('Zoo '+STR(laerror(1))+' '+laerror(2)) && выдать сообщение об ошибке

RETURN.F. && возврат с ошибкой

ENDIF

INDEX ON id TAG id && индексировать курсор по полю id

INDEX ON name TAG name && индексировать курсор по полю name

GO TOP && перейти в начало курсора

 

idZoo=zoo.id

thisform.oWorker=CREATEOBJECT('ocad') && создать объект-курсор для таблицы Worker

thisform.oWorker.Alias='Worker' && имя курсора

thisform.oWorker.SelectCmd='SELECT * FROM read_worker(?idZoo)' && команда для заполнения курсора

thisform.oWorker.CursorSchema='id I, name C(30), id_servis I' && структура курсора

IF thisform.oWorker.CursorFill(.T.,.F., 1, loCmd)=.F. && если заполнение курсора не получилось

LOCAL laerror(1) && объявление массива

= AERROR(laerror) && чтение ошибки в массив

MESSAGEBOX('Worker '+STR(laerror(1))+' '+laerror(2)) && выдать сообщение об ошибке

RETURN.F. && возврат с ошибкой

ENDIF

INDEX ON id TAG id && индексировать курсор по полю id

INDEX ON name TAG name && индексировать курсор по полю name

GO TOP && перейти в начало курсора

 

idWorker=Worker.id

thisform.oAnimToWork=CREATEOBJECT('ocad') && создать объект-курсор для таблицы AnimToWork

thisform.oAnimToWork.Alias='AnimToWork' && имя курсора

thisform.oAnimToWork.SelectCmd='SELECT * FROM read_AnimToWork(?idWorker)' && команда для заполнения курсора

thisform.oAnimToWork.CursorSchema='id I, name C(15)' && структура курсора

IF thisform.oAnimToWork.CursorFill(.T.,.F., 1, loCmd)=.F. && если заполнение курсора не получилось

LOCAL laerror(1) && объявление массива

= AERROR(laerror) && чтение ошибки в массив

MESSAGEBOX('AnimToWork '+STR(laerror(1))+' '+laerror(2)) && выдать сообщение об ошибке

RETURN.F. && возврат с ошибкой

ENDIF

INDEX ON id TAG id && индексировать курсор по полю id

INDEX ON name TAG name && индексировать курсор по полю name

GO TOP && перейти в начало курсора

 

thisform.oAnimals=CREATEOBJECT('ocad') && создать объект-курсор для таблицы Animals

thisform.oAnimals.Alias='Animals' && имя курсора

thisform.oAnimals.SelectCmd='SELECT * FROM read_animals()' && команда для заполнения курсора

thisform.oAnimals.CursorSchema='id I, name C(15)' && структура курсора

IF thisform.oAnimals.CursorFill(.T.,.F., 1, loCmd)=.F. && если заполнение курсора не получилось

LOCAL laerror(1) && объявление массива

= AERROR(laerror) && чтение ошибки в массив

MESSAGEBOX('Animals '+STR(laerror(1))+' '+laerror(2)) && выдать сообщение об ошибке

RETURN.F. && возврат с ошибкой

ENDIF

INDEX ON id TAG id && индексировать курсор по полю id

INDEX ON name TAG name && индексировать курсор по полю name

 

Объекты формы:

 

· lstCity – список городов

BaseClass = ListBox,

RowSource = City.name

Метод InteractiveChange:

idCity=city.id && сохранить id в переменной, т.к. он используется в параметре функции заливки курсора

thisform.oZoo.CursorRefresh() && обновить курсор зоопарков

thisform.lstZoo.Requery && перезалить список зоопарков

&& выполнить процедуру, которая присваивает значения списку зоопарков и разрешает/запрещает кнопки редактирования списка

thisform.show_zoo

&& выполнить действия при перемещении по списку зоопарков

thisform.lstZoo.InteractiveChange

 

· cmdAddCity – кнопка «Добавить» город

BaseClass = CommandButton,

Caption = ’Добавить’

Метод Click:

add_record('City', thisform.lstCity, thisform.oCity) && выполнить процедуру добавления новой записи

&& выполнить процедуру, которая присваивает значения списку городов и разрешает/запрещает кнопки редактирования списка городов

thisform.show_city

&& выполнить действия при перемещении по списку городов

thisform.lstCity.InteractiveChange

thisform.lstCity.SetFocus && установить фокус на список

 

· cmdUpdCity – кнопка «Изменить» город

BaseClass = CommandButton,

Caption = ’Изменить’

Метод Click:

upd_record('City', City.id, thisform.lstCity, thisform.oCity) && выполнить процедуру изменения записи

&& выполнить процедуру, которая присваивает значения списку городов и разрешает/запрещает кнопки редактирования списка городов

thisform.show_city

thisform.lstCity.SetFocus && установить фокус на список

 

· cmdDelCity – кнопка «Удалить» город

BaseClass = CommandButton,

Caption = ’Удалить’

Метод Click:

del_record('City', City.id, thisform.lstCity, thisform.oCity) && выполнить процедуру удаления записи

&& выполнить процедуру, которая присваивает значения списку и разрешает/запрещает кнопки редактирования

thisform.show_city

&& выполнить действия при перемещении по списку городов

thisform.lstCity.InteractiveChange

thisform.lstCity.SetFocus && установить фокус на список

 

· lstZoo – список зоопарков

BaseClass = ListBox,

RowSource = Zoo.name

Метод InteractiveChange:

idZoo=zoo.id && сохранить id в переменной, т.к. он используется в параметре функции заливки курсора

thisform.oWorker.CursorRefresh() && обновить курсор рабочих

thisform.lstWorker.Requery && перезалить список рабочих

&& выполнить процедуру, которая присваивает значения списку рабочих и разрешает/запрещает кнопки редактирования списка

thisform.show_worker

&& выполнить действия при перемещении по списку рабочих

thisform.lstWorker.InteractiveChange

 

· cmdAddZoo – кнопка «Добавить» зоопарк

BaseClass = CommandButton,

Caption = ’Добавить’

Метод Click:

&& Вызвать форму запроса нового имени и возврат его в переменную cName

DO FORM zapros_name WITH 'Zoo', '' TO cName

IF EMPTY(cName) && Если запрос отменен

RETURN && Возврат

ENDIF

 

IdCity=City.id && сохранить id в переменной, т.к. он используется в параметре функции

oTemp=CREATEOBJECT('ocad') && создать объект для временного курсора

oTemp.Alias='Temp' && имя временного курсора

&& составление командной строки для запроса

oTemp.SelectCmd='SELECT * FROM add_zoo(?cName,?IdCity) as ret'

oTemp.CursorSchema='ret I' && структура курсора

IF oTemp.CursorFill(.T.,.F., 1, loCmd)=.F. && если заполнение курсора не получилось

LOCAL laerror(1) && объявление массива

= AERROR(laerror) && чтение ошибки в массив

MESSAGEBOX('Temp '+STR(laerror(1))+' '+laerror(2)) && выдать сообщение об ошибке

RETURN.F. && возврат с ошибкой

ENDIF

 

IF temp.ret>0 && если сервер БД вернул код > 0

thisform.oZoo.CursorRefresh() && обновить курсор

thisform.lstZoo.Requery && перезалить список

=SEEK(temp.ret, 'Zoo', 'id') && найти новую запись в списке

thisform.lstZoo.InteractiveChange && выполнить действия, как при перемещении по списку

thisform.lstZoo.SetFocus && установить фокус на списке

ENDIF

 

· cmdUpdZoo – кнопка «Изменить» зоопарк

BaseClass = CommandButton,

Caption = ’Изменить’

Метод Click:

&& Вызвать форму запроса нового имени и возврат его в переменную cName

DO FORM zapros_name WITH 'Zoo', ALLTRIM(zoo.name) TO cName

IF EMPTY(cName) && Если запрос отменен

RETURN && Возврат

ENDIF

 

nId=Zoo.id && сохранить id в переменной, т.к. он используется в параметре функции

idCity=City.id && сохранить id в переменной, т.к. он используется в параметре функции

oTemp=CREATEOBJECT('ocad') && создать объект для временного курсора

oTemp.Alias='Temp' && имя временного курсора

&& составление командной строки для запроса

oTemp.SelectCmd='SELECT * FROM upd_zoo(?nId,?cName,?idCity) as ret'

oTemp.CursorSchema='ret I' && структура курсора

IF oTemp.CursorFill(.T.,.F., 1, loCmd)=.F. && если заполнение курсора не получилось

LOCAL laerror(1) && объявление массива

= AERROR(laerror) && чтение ошибки в массив

MESSAGEBOX('Temp '+STR(laerror(1))+' '+laerror(2)) && выдать сообщение об ошибке

RETURN.F. && возврат с ошибкой

ENDIF

 

IF temp.ret>0 && если сервер БД вернул код > 0

thisform.oZoo.CursorRefresh() && обновить курсор

thisform.lstZoo.Requery && перезалить список

=SEEK(temp.ret, 'Zoo', 'id') && найти новую запись в списке

thisform.lstZoo.InteractiveChange && выполнить действия, как при перемещении по списку

thisform.lstZoo.SetFocus && установить фокус на списке

ENDIF

 

· cmdDelZoo – кнопка «Удалить» зоопарк

BaseClass = CommandButton,

Caption = ’Удалить’

Метод Click:

del_record('Zoo', Zoo.id, thisform.lstZoo, thisform.oZoo) && выполнить процедуру удаления записи

&& выполнить процедуру, которая присваивает значения списку и разрешает/запрещает кнопки редактирования

thisform.show_zoo

&& выполнить действия при перемещении по списку

thisform.lstZoo.InteractiveChange

thisform.lstZoo.SetFocus && установить фокус на список

 

· lstWorker – список рабочих

BaseClass = ListBox,

RowSource = Worker.name

Метод InteractiveChange:

idWorker=Worker.id && сохранить id в переменной, т.к. он используется в параметре функции заливки курсора

thisform.oAnimToWork.CursorRefresh() && обновить курсор животных

thisform.lstAnimToWork.Requery && перезалить список животных

&& выполнить процедуру, которая присваивает значения списку живоных и разрешает/запрещает кнопки редактирования списка

thisform.show_animtowork

 

· cmdAddWorker – кнопка «Добавить» рабочего

BaseClass = CommandButton,

Caption = ’Добавить’

Метод Click:

&& Вызвать форму запроса нового имени и возврат его в переменную cName

DO FORM zapros_name WITH 'Worker', '' TO cName

IF EMPTY(cName) && Если запрос отменен

RETURN && Возврат

ENDIF

 

&& Вызвать форму запроса услуги и возврат его id в переменную idServis

DO FORM zapros_dop WITH 'Servis' TO idServis

IF EMPTY(idServis) && Если запрос отменен

RETURN && Возврат

ENDIF

 

idZoo=Zoo.id && сохранить id в переменной, т.к. он используется в параметре функции

oTemp=CREATEOBJECT('ocad') && создать объект для временного курсора

oTemp.Alias='Temp' && имя временного курсора

&& составление командной строки для запроса

oTemp.SelectCmd='SELECT * FROM add_worker(?cName,?idZoo,?idServis) as ret'

oTemp.CursorSchema='ret I' && структура курсора

IF oTemp.CursorFill(.T.,.F., 1, loCmd)=.F. && если заполнение курсора не получилось

LOCAL laerror(1) && объявление массива

= AERROR(laerror) && чтение ошибки в массив

MESSAGEBOX('Temp '+STR(laerror(1))+' '+laerror(2)) && выдать сообщение об ошибке

RETURN.F. && возврат с ошибкой

ENDIF

 

IF temp.ret>0 && если сервер БД вернул код > 0

thisform.oWorker.CursorRefresh() && обновить курсор

thisform.lstWorker.Requery && перезалить список

=SEEK(temp.ret, 'Worker', 'id') && найти новую запись в списке

thisform.lstWorker.InteractiveChange && выполнить действия, как при перемещении по списку

thisform.lstWorker.SetFocus && установить фокус на списке

ENDIF

 

· cmdUpdWorker – кнопка «Изменить» рабочего

BaseClass = CommandButton,

Caption = ’Изменить’

Метод Click:

&& Вызвать форму запроса нового имени и возврат его в переменную cName

DO FORM zapros_name WITH 'Worker', ALLTRIM(Worker.name) TO cName

IF EMPTY(cName) && Если запрос отменен

RETURN && Возврат

ENDIF

 

&& Вызвать форму запроса услуги и возврат его id в переменную idServis

DO FORM zapros_dop WITH 'Servis', Servis.id TO idServis

IF EMPTY(idServis) && Если запрос отменен

RETURN && Возврат

ENDIF

 

idZoo=Zoo.id && сохранить id в переменной, т.к. он используется в параметре функции

nId=Worker.id && сохранить id в переменной, т.к. он используется в параметре функции

oTemp=CREATEOBJECT('ocad') && создать объект для временного курсора

oTemp.Alias='Temp' && имя временного курсора

&& составление командной строки для запроса

oTemp.SelectCmd='SELECT * FROM upd_worker(?nId,?cName,?idZoo,?idServis) as ret'

oTemp.CursorSchema='ret I' && структура курсора

IF oTemp.CursorFill(.T.,.F., 1, loCmd)=.F. && если заполнение курсора не получилось

LOCAL laerror(1) && объявление массива

= AERROR(laerror) && чтение ошибки в массив

MESSAGEBOX('Temp '+STR(laerror(1))+' '+laerror(2)) && выдать сообщение об ошибке

RETURN.F. && возврат с ошибкой

ENDIF

 

IF temp.ret>0 && если сервер БД вернул код > 0

thisform.oWorker.CursorRefresh() && обновить курсор

thisform.lstWorker.Requery && перезалить список

=SEEK(temp.ret, 'Worker', 'id') && найти новую запись в списке

thisform.lstWorker.InteractiveChange && выполнить действия, как при перемещении по списку

thisform.lstWorker.SetFocus && установить фокус на списке

ENDIF

 

· cmdDelWorker – кнопка «Удалить» рабочего

BaseClass = CommandButton,

Caption = ’Удалить’

Метод Click:

del_record('Worker', Worker.id, thisform.lstWorker, thisform.oWorker) && выполнить процедуру удаления записи

&& выполнить процедуру, которая присваивает значения списку и разрешает/запрещает кнопки редактирования

thisform.show_worker

&& выполнить действия при перемещении по списку

thisform.lstWorker.InteractiveChange

thisform.lstWorker.SetFocus && установить фокус на список

 

· lstServis – список услуг

BaseClass = ListBox,

RowSource = Servis.name

 

· cmdAddServis – кнопка «Добавить» услугу

BaseClass = CommandButton,

Caption = ’Добавить’

Метод Click:

add_record('Servis', thisform.lstServis, thisform.oServis) && выполнить процедуру добавления новой записи

&& выполнить процедуру, которая присваивает значения списку городов и разрешает/запрещает кнопки редактирования списка городов

thisform.show_servis

thisform.lstServis.SetFocus && установить фокус на список

 

· cmdUpdServis – кнопка «Изменить» услугу

BaseClass = CommandButton,

Caption = ’Изменить’

Метод Click:

upd_record('Servis', Servis.id, thisform.lstServis, thisform.oServis) && выполнить процедуру изменения записи

&& выполнить процедуру, которая присваивает значения списку городов и разрешает/запрещает кнопки редактирования списка городов

thisform.show_servis

thisform.lstServis.SetFocus && установить фокус на список

 

· cmdDelServis – кнопка «Удалить» услугу

BaseClass = CommandButton,

Caption = ’Удалить’

Метод Click:

del_record('Servis', Servis.id, thisform.lstServis, thisform.oServis) && выполнить процедуру удаления записи

&& выполнить процедуру, которая присваивает значения списку и разрешает/запрещает кнопки редактирования

thisform.show_servis

&& выполнить действия при перемещении по списку

thisform.lstServis.InteractiveChange

thisform.lstServis.SetFocus && установить фокус на список

 

· lstAnimToWork – список животных

BaseClass = ListBox,

RowSource = AnimToWork.name

 

· cmdAddAnimToWork – кнопка «Добавить» животное

BaseClass = CommandButton,

Caption = ’Добавить’

idZoo=Zoo.id && сохранить id в переменной, т.к. он используется в параметре функции заливки курсора

oTemp=CREATEOBJECT('ocad') && создать объект для временного курсора

oTemp.Alias='Temp' && имя временного курсора

&& составление командной строки для запроса

oTemp.SelectCmd='SELECT * FROM add_AnimToWork(?idZoo,?idAnimal) as ret'

oTemp.CursorSchema='ret I' && структура курсора

IF oTemp.CursorFill(.T.,.F., 1, loCmd)=.F. && если заполнение курсора не получилось

LOCAL laerror(1) && объявление массива

= AERROR(laerror) && чтение ошибки в массив

MESSAGEBOX('Temp '+STR(laerror(1))+' '+laerror(2)) && выдать сообщение об ошибке

RETURN.F. && возврат с ошибкой

ENDIF

 

IF temp.ret>0 && если сервер БД вернул код > 0

=SEEK(temp.ret, 'Worker', 'id') && найти рабочего в списке

thisform.lstWorker.InteractiveChange && выполнить действия, как при перемещении по списку

thisform.lstAnimToWork.SetFocus && установить фокус на списке

ENDIF

 

· cmdUpdAnimToWork – кнопка «Изменить» животное

BaseClass = CommandButton,

Caption = ’Изменить’

Метод Click:

&& Вызвать форму запроса названия животного и возврат его id в переменную idAnimal

DO FORM zapros_dop WITH 'Animals' TO idAnimal

IF EMPTY(idAnimal) && Если запрос отменен

RETURN && Возврат

ENDIF

 

nId=AnimToWork.id && сохранить id в переменной, т.к. он используется в параметре функции

oTemp=CREATEOBJECT('ocad') && создать объект для временного курсора

oTemp.Alias='Temp' && имя временного курсора

&& составление командной строки для запроса

oTemp.SelectCmd='SELECT * FROM upd_AnimToWork(?nId,?idAnimal) as ret'

oTemp.CursorSchema='ret I' && структура курсора

IF oTemp.CursorFill(.T.,.F., 1, loCmd)=.F. && если заполнение курсора не получилось

LOCAL laerror(1) && объявление массива

= AERROR(laerror) && чтение ошибки в массив

MESSAGEBOX('Temp '+STR(laerror(1))+' '+laerror(2)) && выдать сообщение об ошибке

RETURN.F. && возврат с ошибкой

ENDIF

 

IF temp.ret>0 && если сервер БД вернул код > 0

idWorker=Worker.id && сохранить id в переменной, т.к. он используется в параметре функции

thisform.oAnimtowork.CursorRefresh() && обновить курсор

thisform.lstAnimToWork.Requery && перезалить список

=SEEK(temp.ret, 'AnimToWork', 'id') && найти новую запись в списке

thisform.lstAnimToWork.SetFocus && установить фокус на списке

ENDIF

 

· cmdDelAnimToWork – кнопка «Удалить» животное

BaseClass = CommandButton,

Caption = ’Удалить’

Метод Click:

del_record('AnimToWork', AnimToWork.id, thisform.lstAnimToWork, thisform.oAnimToWork) && выполнить процедуру удаления записи

&& выполнить процедуру, которая присваивает значения списку и разрешает/запрещает кнопки редактирования

thisform.show_animtowork

thisform.lstAnimToWork.SetFocus && установить фокус на список

 

Перед выводом формы на экран выполняется процедура Init:

&& выполнить процедуру, которая присваивает значения списку городов и разрешает/запрещает кнопки редактирования списка городов

thisform.show_city

&& выполнить действия при изменении списка городов

thisform.lstCity.InteractiveChange

 

Процедура show_city – обновляет значение списка городов и разрешает/запрещает кнопки «Изменить» и «Удалить» для городов, а также кнопку «Добавить» для списка зоопарков.

IF!EOF('City') && если не вышли за конец курсора, т.е. список не пустой

thisform.lstCity.Value=City.name && список городов получает значение из курсора городов

thisform.cmdUpdCity.Enabled=.T. && кнопка "Изменить" доступна

thisform.cmdDelCity.Enabled=.T. && кнопка "Удалить" доступна

thisform.cmdAddZoo.Enabled=.T. && кнопка "Добавить" для зоопарков доступна

ELSE

thisform.lstCity.Value='' && список городов получает значение "пусто"

thisform.cmdUpdCity.Enabled=.F. && кнопка "Изменить" не доступна

thisform.cmdDelCity.Enabled=.F. && кнопка "Удалить" не доступна

thisform.cmdAddZoo.Enabled=.F. && кнопка "Добавить" для зоопарков не доступна

ENDIF

 

Процедура show_zoo – обновляет значение списка зоопарков и разрешает/запрещает кнопки «Изменить» и «Удалить» для зоопарков, а также кнопку «Добавить» для списка рабочих.

IF!EOF('Zoo') && если не вышли за конец курсора

thisform.lstZoo.Value=Zoo.name && список зоопарков получает значение из курсора

thisform.cmdUpdZoo.Enabled=.T. && кнопка "Изменить" доступна

thisform.cmdDelZoo.Enabled=.T. && кнопка "Удалить" доступна

thisform.cmdAddWorker.Enabled=.T. && кнопка "Добавить" для рабочих доступна

ELSE

thisform.lstZoo.Value='' && список зоопарков получает пустое значение

thisform.cmdUpdZoo.Enabled=.F. && кнопка "Изменить" не доступна

thisform.cmdDelZoo.Enabled=.F. && кнопка "Удалить" не доступна

thisform.cmdAddWorker.Enabled=.F. && кнопка "Добавить" для рабочих не доступна

ENDIF

 

Процедура show_worker – обновляет значение списков рабочих и услуг разрешает/запрещает кнопки «Изменить» и «Удалить» для зоопарков, а также кнопку «Добавить» для списка животных.

IF!EOF('Worker') && если не вышли за конец курсора

thisform.lstWorker.Value=Worker.name && список рабочих получает значение из курсора

thisform.cmdUpdWorker.Enabled=.T. && кнопка "Изменить" доступна

thisform.cmdDelWorker.Enabled=.T. && кнопка "Удалить" доступна

thisform.cmdAddAnimToWork.Enabled=.T. && кнопка "Добавить" для животных доступна

ELSE

thisform.lstWorker.Value='' && список зоопарков получает пустое значение

thisform.cmdUpdWorker.Enabled=.F. && кнопка "Изменить" не доступна

thisform.cmdDelWorker.Enabled=.F. && кнопка "Удалить" не доступна

thisform.cmdAddAnimToWork.Enabled=.F. && кнопка "Добавить" для животных не доступна

ENDIF

 

IF SEEK(worker.id_servis,'servis','id') && если для рабочего найдена услуга

thisform.lstServis.Value=servis.name && список услуг получает значение из курсора

ELSE

thisform.lstServis.Value='' && список услуг получает пустое значение

ENDIF

 

Процедура show_servis – обновляет значение списка услуг и разрешает/запрещает кнопки «Изменить» и «Удалить» для услуг.

IF!EOF('Servis') && если не вышли за конец курсора

thisform.lstServis.Value=Servis.name && список услуг получает значение из курсора

thisform.cmdUpdServis.Enabled=.T. && кнопка "Изменить" доступна

thisform.cmdDelServis.Enabled=.T. && кнопка "Удалить" доступна

ELSE

thisform.lstServis.Value='' && список услуг получает пустое значение

thisform.cmdUpdServis.Enabled=.F. && кнопка "Изменить" не доступна

thisform.cmdDelServis.Enabled=.F. && кнопка "Удалить" не доступна

ENDIF

 

Процедура show_animtowork – обновляет значение списка животных и разрешает/запрещает кнопки «Изменить» и «Удалить» для животных.

IF!EOF('AnimToWork') && если не вышли за конец курсора

thisform.lstAnimToWork.Value=AnimToWork.name && список животных получает значение из курсора

thisform.cmdUpdAnimToWork.Enabled=.T. && кнопка "Изменить" доступна

thisform.cmdDelAnimToWork.Enabled=.T. && кнопка "Удалить" доступна

ELSE

thisform.lstAnimToWork.Value='' && список животных получает пустое значение

thisform.cmdUpdAnimToWork.Enabled=.F. && кнопка "Изменить" не доступна

thisform.cmdDelAnimToWork.Enabled=.F. && кнопка "Удалить" не доступна

ENDIF

 

 



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 163; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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