Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Продолжение работы. Набор кода контроля достоверности ввода на уровне записи (семантическое ОЦ)




1) Открыть контейнер data1.dbc (если он еще не был открыт) и активизировать таблицу Poski;

2) Открыть ДО Project Manager, раскрыть data1.dbc, выбрать строку Stored Procedures. Обратить внимание на следующее:

А) в список процедур Stored Procedures занеслась функция New Product();

Б) теперь активизировались все кнопки:

New, Add, Modify и др.

3) Щелкнуть по кнопке Modify. Откроется то же самое ДО Stored Procedures for data1 с прежним тестом кода функции New Product();

4) Действия пользователя в ДО Stored Procedures for data1:

А) спуститься вниз по Ctrl+End;

Б) набрать текст кода проверки условий правильности ввода на уровне записи, представленный на следующей странице;

В) закрыть ДО Stored Procedures for data1.

5) Вернуться в контейнер, активизировать таблицу Poski, выполнить команду Modify, для вызова ДО Table Designer: poski_k.

 

FUNCTION NewProduct()

=MESSAGEBOX("Добавляем новую запись")

*********************************************************************

*Семантическое ОЦ.Триггер записи.

*Функция PoskiValid

*Назначение: Контроль достоверности ввода данных в ТБД – процесс *Poski на уровне записи

* Автор: …

*********************************************************************

FUNCTION PoskiValid()

* Объявление локальных переменных для хранения номеров

* поставщика, детали и разработчика введенной записи

LOCAL np,nd,nr

* Объявление массивов для хранения значений номеров поставщика,

* детали и разработчика из ТБД - справочников

DIMENSION post(1),detal(1),proekt(1)

* Присвоение ранее объявленным переменным значений полей nomp,

* nomd,nomr из введенной записи

np = poski.nomp

nd = poski.nomd

nr = poski.nomr

* Выбор записей из ТБД - справочника Poshk со значением поля * nomp, равным значению переменной np, и помещение результата в * массив post

SELECT poshk.nomp;

FROM poshk;

WHERE poshk.nomp = np;

INTO ARRAY post

* Если в ТБД poshk содержится информация о поставщике с

* заданным номером (т.е. массив post не пустой),то проверка

* продолжается, в противном случае работа функции прекращается

* возвращением.F.

* Дальнейшая проверка не имеет смысла.

IF!EMPTY(post)Then && Оператор! (или NOT)- логическое

* отрицание в логическом выражении

* Выбор записей из ТБД-справочника detl со значением поля * nomd, равным значению переменной nd, и помещение * результата в массив detal

SELECT detl.nomd;

FROM detl;

WHERE detl.nomd = nd;

INTO ARRAY detal

* Аналогично проверяется наличие записей в ТБД –

* справочнике с заданным номером детали. Если записей нет, * то возвращается.F.

* Проверка наличия информацию о разработчике не имеет * смысла.

IF!EMPTY(detal)Then

* Выбор записей из ТБД - справочника proek со * значением поля nomr, равным значению переменной nr, и * помещение результата в массив proekt

SELECT proek.nomr;

FROM proek;

WHERE proek.nomr = nr;

INTO ARRAY proekt

* Если записи существуют, то возвращается.Т., в * противном случае -.F.

RETURN!EMPTY(proekt)

ELSE

RETURN.F.

ENDIF

ELSE

RETURN.F.

ENDIF

ENDFUNC

* Затем в окне Table Designer ТБД POSKI на вкладке Table области Record Validation выполнить действия:

* в поле Rule написать имя функции PoskiValid(), в поле message –текст " Неверно ",

* а в области Triggers в поле Insert Trigger написать имя функции NewProduct(), как показано на рис.10.5 и рис.10.6.

* Нажать ОК.

* При сохранении снять "флажок" в информационном окне Compare и нажать ОК.

Зона Record Validation
Вкладка Table

Рис.10.5 ДО Table Designer вкладка Table




Поделиться с друзьями:


Дата добавления: 2015-05-07; Просмотров: 335; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.016 сек.