Проверка корректности данных.

Данные, которыми заполняются таблицы, могут представлять какую-либо ценность только в том случае, если они являются корректными. Даже опытные пользователи, за­полняющие таблицы, могут допустить ошибку и добавить в таблицу неверные данные. Access 97 позволяет проверить корректность введенных данных с помощью простых выражений, присваиваемых свойству "Условие на значение". Если введенные данные не соответствуют условию назначение, то появится диалоговое окно, сообщающее пользователю об ошибке. Проверка данных на соответствие условию назначение, вме­сте с режимом обеспечения ссылочной целостности позволяют поддерживать целост­ность данных.

Выражения являются атомарными элементами языков программирования. Access 97 позволяет создавать выражения, не требуя от пользователя специальной подготовки, хотя даже самое поверхностное знакомство с языками программирования очень полез­но при создании выражений. Выражения используются для вычисления различных ве­личин и содержат, по крайней мере, один оператор (например, арифметические операторы, операторы сравнения и т. д.). Чаще всего используются арифметические операто­ры +, -, * (оператор умножения), / (оператор деления). Эти знакомые всем знаки назы­ваются операторами, поскольку они оперируют с (используют) величинами, стоящими слева и справа от знака операции.

Существуют операторы, позволяющие сравнивать значения своих операндов. Эти операторы называются операторами сравнения (например, > (знак больше), = (знак равенства) и т. д). Логические операторы (And, Or, Is, Not, Between и Like) возвращают в качестве результата одно из значений "Истина" (True), "Ложь" (False) или пустое зна­чение (Null), если результат вычислить невозможно. Оператор & используется для слияния (конкатенации) двух строк в одну. В Access 97 для слияния строк также можно использовать оператор +, но оператор & предоставляет дополнительные возможности, и поэтому предпочтительней использовать именно его. Access 97 позволяет создавать сложные выражения из простых, комбинируя их в соответствии с синтаксисом опера­торов.

В условиях на значение используются выражения, возвращающие одно из зна­чений "Истина" (данные корректны) или "Ложь" (ошибка в данных). Если данные запи­си не удовлетворяют условию назначение, то при переходе к другой записи или по­пытке сохранить изменения, появляется диалоговое окно, сообщающее об этом.

 

Задание 2. Определение условий на значение полей.

Условия на значения, проверяющие корректность данных только в одном поле, незави­симо от значений других полей, называются условиями на значение поля. В таблице 1 приведен список условий на значение для таблицы "Персональные мероприятия".

 

Таблица 1.Условия назначения полей таблицы "Персональные мероприятия"

Поле Условие на значение Текст сообщения об ошибке  
КодСотрудиика   >0   Введите правильный код сотруд­ника  
ТипМероприятия   "П" Or "У Or "К" Or "Г" Or "М" Or "Н" Or "О"   Недопустимый код. Допустимы только коды "П", "У, "М", "К", "Г","Н"и"0"  
КодОтветствен-ного   >0 Введите правильный код сотруд­ника, ответственного за меро­приятие  
ДатаПлан Between Date() -365 And Date() + 365   Мероприятие не может быть за­планировано более чем на один год вперед  
КодНачальника >0 Or Is Null Введите правильный код началь­ника или оставьте поле пустым  
Рейтинг   Between 0 And 9 Or Is Null   Введите правильный рейтинг со­трудника (число от 0 до 9) или оставьте поле пустым
Сумма Не определено Нет  
Примечание Не определено Нет

 

Условия назначения полей "КодСотрудника", "КодОтветственного" и "КодНачаль-ника" не могут определить, правильно ли был введен код Например, в одно из этих по­лей может быть введен код, которого нет в таблице "Сотрудники". Тем не менее, по­скольку при создании связи с таблицей "Сотрудники" был установлен режим обеспече­ния ссылочной целостности. Access 97 не позволит сохранить запись в подчиненной таблице, которой не соответствует ни одна запись в главной таблице. Поэтому проверка корректности кода сотрудника, с которым связано мероприятие, не нужна. Для обеспе­чения корректности данных в полях "КодОтветственного" и "КодНачальника" необхо­димо проверять значения этих полей на совпадение с кодом одного из сотрудников в таблице "Сотрудники". Такая проверка обсуждена далее. Чтобы добавить условия на значение полей таблицы "Персональные мероприятия":

  1. Откройте таблицу "Персональные мероприятия" в режиме конструктора.
  2. Выделите поле "КодСотрудника".
  3. Нажмите клавишу <F6> и поместите точку вставки в поле ввода "Условие на значе­ние".
  4. Введите >0 и нажмите клавишу <Enter>. Точка вставки переместится в поле ввода "Сообщение об ошибке".
  5. Введите строку:Введите правильный код сотрудника. Если текст не помещается целиком в поле ввода, то он прокручивается влево. Чтобы перейти в начало текста сообщения об ошибке, нажмите клавишу <Нomе>. Чтобы перейти к последнему символу строки, нажмите клавишу <End>. После завершения ввода строки нажмите клавишу <Enter>.
  6. Поместите точку вставки в поле ввода "Обязательное поле" (Required) и выберите "Да" в раскрывающемся списке. На рисунке 2 показаны свойства поля "КодСотрудника" после определения условий на значение.
  7. Нажмите клавишу <F6>, чтобы перейти в бланк структуры таблицы, выделите сле­дующее поле и нажмите клавишу <F6>.
  8. Введите условия на значение и текст сообщения об ошибке для оставшихся полей таблицы, повторяя процедуру с шага 3 до шага 5. Установите для свойства "Обя­зательное поле" полей "ТипМероприятия", "КодОтветственного" и "ДатаПлан" значение "Да".

 

 

Рис. 2. Свойства поля "КодСотрудника"

 

Задание 3. Определение условий на значение записей

Значение поля "ДатаФакт" таблицы "Персональные мероприятия" не должно превы­шать значение поля "ДатаПлан". Поэтому для проверки корректности значения поля "ДатаФакг" это значение нужно сравнить со значением поля "ДатаПлан". В Access 97 нельзя задать условия на значения полей. Вместо этого можно задать условие на значе­ние записи таблицы. В условии на значение записи могут сравниваться одновременно значения нескольких полей. Условие на значение записи и текст сообщения об ошибке, появляющийся при нарушении этого условия, можно задать в диалоговом окне "свой­ства таблицы" (Table Properties).

Чтобы определить условие на значение записи для поля "ДатаФакт":

  1. Откройте таблицу "Персональные мероприятия" в режиме конструктора и нажмите кнопку "Свойства" (Properties) на панели инструментов. Появится диалоговое окно "Свойства таблицы" (рис. 3).
  2. В поле ввода "Описание" введитеПерсональные мероприятия по отделу.
  3. Поместите точку вставки в поле ввода "Условие на значение" и нажмите кнопку "..." справа от поля ввода (рис. 3). Появится диалоговое окно Построителя выражений (рис. 4). В левом списке этого диалогового окна выделена таблица "Персональные мероприятия", а в центральном списке выводится список полей табли­цы.
  4. Дважды щелкните левой кнопкой мыши по элементу "ДатаФакт" в списке полей таблицы. В окне выражения появится строка [ДатаФакт].
  5. Введите >= в окне выражения и дважды щелкните левой кнопкой мыши по элемен­ту "ДатаПлан" в списке полей таблицы, чтобы добавить его в выражение.

 

Рис. 3. Диалоговое окно "Свойства таблицы"

  1. При создании таблицы "Персональные мероприятия" в поле "ДатаФакт" планирова­лось хранить пустые значения для мероприятий, которые еще не произошли. Поэто­му добавьте к выражению, задающему условие назначение, строку Or [ДатаФакт] Is Null (рис. 4).
  2. Чтобы закрыть окно построителя выражений и добавить условие на значение записей таблицы, нажмите кнопку ОК.
  3. Поместите точку вставки в поле ввода "Сообщение об ошибке" и введите текст со­общения об ошибке: Дата проведения мероприятия не может предшествовать за­планированной дате мероприятия (рис. 5).
  4. Закройте окно "Свойства таблицы", нажав кнопку "Закрыть" в правом верхнем углу окна или нажав кнопку "Свойства" на панели инструментов.

 

 

Рис. 4. Диалоговое окно Построителя выражений.

Задание 4. Добавление записей в таблицу "Персональные мероприятия"

В таблице 2 приведены данные о приеме на работу каждого из 9 сотрудников компании Борей, которые нужно ввести в таблицу "Персональные мероприятия".

 

 

Рис 5. Добавление текста сообщения об ошибке.

Значения полей "ДатаПлан" и "ДатаФакт" определены на основе поля "ДатаНайма" таблицы "Сотрудники". После заполнения таблицы "Персональные мероприятия" дан­ными о приеме сотрудников на работу, поле "ДатаНайма" может быть удалено из таблицы "Сотрудники", поскольку в таблице "Персональные мероприятия" уже хранят­ся сведения о дате найма сотрудников.

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

Заполнение таблицы "Персональные мероприятия" данными о приеме сотрудников на работу достаточно быстрый процесс, особенно для опытных пользователей. В процессе заполнения таблицы можно проверить правильность определения значений свойств "Значение по умолчанию" и "Формат поля". Можно попробовать ввести в таблицу не­корректные данные, чтобы проверить условия на значение полей и записей.

Таблица 2. Сведения о найме сотрудников.

 

Код Тип Ответственный Дата-План Начальник Сумма  
1 П 1 01-май-92 2 000000
2 П 1 14-авг-92 3 500000
3 П 1 0l-апр-92 2 250000
4 Д 2 0З-май-93 2 2 250000
5 П 2 17-окт-93 2 2 500000
6 П 2 17-окт -93 2 4 000000
7 П 2 02-янв-94 2 3 000000
8 П 2 05-мар-94 2 2 500000
9 П 2 15-ноя-94 2 3 000000

Чтобы за­полнить первые 9 записей таблицы "Персональные мероприятия", используйте данные из таблицы 2:

1. Откройте таблицу "Персональные мероприятия" в режиме таблицы Установите точку вставки в первое поле хвостовой записи.

2. Введите значение поля "КодСотрудника". Маркер текущей записи изменится на маркер изменяемой записи, а под ней появится новая хвостовая запись. Чтобы ввести значение следующего поля, нажмите клавишу <Enter>, клавишу <Таb> или клавишу <®>. Помните о том, что новая запись не добавляется в таблицу, пока не будут со­хранены изменения или не будет выделена другая запись.

3. Введите значение полей "ТипМероприятия" и "КодОтветственного" и нажмите кла­вишу <Enter>.

4. Введите значение запланированной даты мероприятия. Заметьте, что при вводе но­вого значения старое удалять не нужно. Нужно просто начать вводить дату Она заме­нит значение по умолчанию. Нажмите клавишу <Enter>.

5. Введите значение кода начальника для тех записей, у которых оно определено, и нажмите клавишу <Enter>.

6. Введите значение даты проведения мероприятия и дважды нажмите клавишу <Еnter>, <Tаb> или <®>, чтобы пропустить поле 'Тейтннг", значение которого не оп­ределяется при приеме сотрудника на работу.

7. Введите значение месячного заработка сотрудника в момент приема на работу.

8. В поле "Примечание" введите комментарии о мероприятии. Нажмите клавишу <Еnter>, <Tаb> или <®>. Точка вставки переместится в первое поле хвостовой за­писи.

9. Введите данные об оставшихся восьми сотрудниках, повторив шаги 2—8.

После того как информация о приеме сотрудников на работу будет введена, таб­лица "Персональные мероприятия" примет вид, показанный на рисунке 6.

 

 

Рис.6. Первые 9 записей таблицы "Персональные мероприятия

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

Отредактируйте или введите заново данные удовлетворяющие установленным усло­виям на значение. Если при вводе в таблицу корректных данных появляется сообщение об ошибке, то скорее всего условие назначение задано неверно. В этом случае перей­дите в режим конструктора таблиц и проверьте правильность условий на значение, сверяя их с таблицей 2. Можно попробовать временно удалить условие на значение, вырезав его в Буфер обмена (потом условие на значение можно вставить обратно из Буфера обмена), переключиться в режим таблицы и продолжить ее заполнение.

Задание 5. Проверка корректности данных в таблице "Персональные мероприятия"

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

1. Ссылочная целоситость. Введите в поле "КодСотрудника" хвостовой записи табли­цы "Персональные мероприятия" значение 25, а в поле "КодОтветственного" значение 2 и нажмите клавишу <­>. Нажатие клавиши <­> означает сохранение изменений в ней и выделение предыдущей записи. При попытке сохранения изменений в новой за­писи Асcssе 97 автоматически проверяет, существует ли в таблице "Сотрудники" за­пись,, на которую ссылается по значению поля "КодСотрудннка" новая запись таблицы "Персональные мероприятия". Если такой записи не существует, то появляется сооб­щение об ошибке (рис. 7). Нажмите кнопку ОК или нажмите клавишу <Enter>.

 

 

Рис. 7. Сообщение о нарушении ссылочной целостности данных.

2. Уникальность значения ключа таблицы.В только что добавленной записи введите значения полей, совпадающие с предыдущей записью, а затем нажмите клавишу <­>. Появится сообщение об ошибке (рис. 8). Нажмите кнопку ОК или наймите клавишу <Enter>.

 

 

Рис. 8. Сообщение о нарушении уникальности значений ключа таблицы.

 

3. Проверка корректности значений полей. Введите в поле "КодСотрудника" значение Ы и нажмите клавишу <®>. Появится сообщение об ошибке, текст которого был введен в свойство "Сообщение об ошибке" поля "КодСотрудиика". Нажмите кноп­ку ОК.

 

 

Рис. 9. Сообщение о нарушении условия ни значение поля ''КодСотрудника"

 

Введите в поле "ТипМероприятия" значение п и нажмите клавишу

<®>. После того как точка вставки покинет поле "ТипМероприятия", значение этого поля должно измениться на П, поскольку был использован формат ">@". В поде "КодОтветственного" введите значение 0 и нямсмоте к-првишу <®>. Появится сообщение об ошибке, текст которого был введен в свойство "Сообщение об ошибке" поля "КодОтветственного" (рис.10). Нажмите кнопку ОК.

 

Рис.10. Сообщение о нарушении условия назначение ноля "КодОтветственного"

 

Продолжайте процесс тестирования. Введите значение01/01/80 в поля "ДатаПлан" и "ДатаФакт", чтобы проверить работу условия на значение поля "ДатаПлан". Чтобы из­менить значение поля, а не вводить заново его содержимое, выделите поле и нажмите клавишу <F2>, которая является переключателем между режимами перемещения и ре­дактирования таблицы. После окончания тестирования, выделите запись таблицы, ко­торая использовалась для тестирования, и нажмите клавишу <Delete>. Появится диало­говое окно, запрашивающее подтверждение удаления записи (рис.11). Подтвердите удаление, нажав кнопку "Да".

 








Дата добавления: 2014-12-12; просмотров: 3243;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

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

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.017 сек.