КАТЕГОРИИ: Архитектура-(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 и нажать ОК.
Рис.10.5 ДО Table Designer вкладка Table
Дата добавления: 2015-05-07; Просмотров: 354; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |