Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Управление доступом к полям базыСодержание книги
Поиск на нашем сайте
FIELDS <список полей> - перечень предъявляемых полей. По умолчанию отображаются все поля базы данных. Имя каждого поля может сопровождаться ключами, определяющими режим доступа к нему: [:<вырМ>] [:V = <вырL1> [:F] [:E = <вырС1>]] [:P = <вырС2>] [:H = <вырС3>] [:B = <выр1>,<выр2> [:F]] [:W = <вырL2>] Здесь символ ": " может быть заменен на тождественный ему символ " / ", если последний не будет интерпретироваться как знак деления (это возможно для параметра:<вырN>). Мы далее всегда будем использовать знак ": ". Перечисленные ключи имеют следующие значения: -r - разрешен только просмотр поля (Read-Only), однако курсор в поле допускается и, следовательно, в нем, например, могут быть обработаны нажатия заданных клавиш, а также задействованы ключи :V и :W. <вырN> - видимый размер поля в BROWSE-окне. Если фактический размер поля больше, предусмотрен скроллинг. :V=<вырL1> - контроль выхода из поля. Проверка вводимых данных выполняется по <вырN> после изменения содержимого поля. Если <вырL>=.T., ввод считается правильным и курсор переходит в следующее поле. Если <вырL>=.F., выдается стандартное сообщение "Invalid input" ("Неверный ввод"), которое может быть заменено на собственное, заданное с параметром :Е. Допустимы ПФ. Ключ V соответствует опции VALID команды ввода @...GET, которая будет рассмотрена позже. :F - проверка не только вводимых, но и уже существующих данных независимо от способа выхода из поля. :Е=<вырС1> - выдача собственного <вырС1> сообщения на неправильный ввод данных. Если <вырLl> вычисляется как числовое и в результате получено значение 0, сообщение не выдается и выхода из поля не происходит. Это дает возможность создавать собственные подпрограммы сообщений об ошибках из процедур обработки ошибок. По действию ключ аналогичен опции ERROR команды @...GET. :Р=<вырС2> - задание формата отображения данных с помощью шаблона Picture или символов форматной функции ввода-вывода (кроме кода "М"). Шаблоны и коды форматных функций описаны в команде @...SAY...GET при рассмотрении опций PICTURE и FUNCTION. :В~<выр1>,<выр2> - указание границ чисел или дат. Не допускаются ПФ. Возможно указать только одну из границ, но запятая должна присутствовать обязательно. Может быть усилена параметром:F. Ключ В соответствует опции RANGE команды @...GET. :Н:=<вырС3> - указание собственного заголовка поля. Разрешены ПФ. По умолчанию в качестве заголовков выводятся имена полей. Если заголовок не нужен вообще, следует в качестве <вырС3> использовать пробел (''). :W=<вырL2> - контроль входа в поле. Запрещены вход и редактирование, если <вырL2>=.F., и разрешены, если <вырL2>=.T.. Допустимы ПФ. Входом в поле считается перемещение в него курсора любым способом, в том числе и мышью. Ключ W соответствует опции WHEN команды @...GET. Отбор данных Следующие исключительно важные опции позволяют ограничить доступ в базе только к определенному множеству записей. FOR <условие1> - устанавливает фильтр записей для базы. В BROWSE-окне предъявляются только записи, удовлетворяющие заданному <условию>. Пример: USE tadr BROWSE FOR szar>=530000.AND.szar<=750000 Здесь команда BROWSE предъявляет только те записи базы KADR.DBF, в которых значения поля SZAR (средняя зарплата) от 530000 до 750000 руб. Если имеются соответствующие индексные файлы, фильтрация данных будет выполняться с их участием и использованием оптимизирующей технологии Rushmore, т.е. гораздо быстрее. Такой индекс, естественно, должен быть открыт. Опция NOOPTIMIZE отключает оптимизацию. REST - удобно использовать совместно с FOR-условием. Это предотвращает повторный поиск в базе с самого ее начала записей, отвечающих <условию> при повторном вызове BROWSE-окна. Курсор остается на текущей записи, если, конечно, она удовлетворяет <условию>. KEY <выр1> [,<выр>2>] - ограничение действия команды диапазоном ключевого выражения <выр1> и <выр2> активного индексного файла. Пример: USE kadr INDEX ON szar TO kadrzar BROWSE KEY 530000,750000 Пример по целям аналогичен предыдущему, но для функционирования такого режима доступа к данным уже обязательно наличие предварительно созданного индексного файла KADRZAR.IDX по полю SZAR. По возможности следует использовать быструю фильтрацию с применением индексных файлов непосредственно (опция KEY) или по технологии Rushmore (опция FOR). Индексирование и технология Rushmore будут рассмотрены далее. Вычисляемые поля В <список полей> могут включаться вычисляемые поля. Эти поля являются функциями других полей, переменных и т.д. Такие поля не могут редактироваться и не запоминаются в базе данных. Вычисляемые поля сами могут содержать пользовательские, функции что делает их важным средством отображения и управления данными. Например, в команде BROWSE для базы KADR.DBF введем вычисляемое поле РОМ для определения материальной помощи Считаем, что помощь устанавливается на одного ребенка в размеру 70% средней зарплаты, но не более 90000 руб. и только тем, у когс средняя зарплата не превышает 300000 руб. Таким образом POM=IIF(szar>300000, 0, MIN(0.7*szar*det, 90000)). Здесь, забегая вперед, мы использовали две новые функции) MIN() и IIF() - Функция MIN() возвращает минимальное значение из 0.7*szar*det и 90000. Функция IIF() возвращает 0, если szar>300000, или MIN() в противном случае. Видимый размер вычисляемого поля РОМ будет определяться принятыми умолчаниями на размер числовых выводов. Этим процессом можно (и лучше) управлять с помощью параметра ограничения длины поля:<вырN>. Еще удобнее применение шаблонов (ключ :Р), которыми может быть установлена не только длина, но и формат выдачи. Разделение окна В режиме разделения Browse-окно разбивается на два смежных окна, в которых отображаются данные из базы/баз, возможно, в разной форме. Это может быть удобно, например, если надо сделать неподвижной какую-то часть данных в одном окне при горизонтальном и вертикальном перемещении в другом. LOCK <вырN> - BROWSE-окно делится на две части, где первые <вырN> полей всей базы или из списка FIELDS (если есть) дублируются в левой части окна. Перебрасывается курсор в другую половину окна нажатием клавиш Ctrl-H или мышью. PARTITION <вырN> - то же, но граница будет проходить по колонке номер <вырN>. LEDIT/REDIT - опции действуют только в разделенном окне. Они указывают, будут ли слева/справа (LeftEDIT/RightEDIT) от линии разделения данные показаны, как в CHANGE-окне (EDIT -другое имя команды CHANGE). В противоположной части окна поля останутся расположенными горизонтально. LPARTITION - курсор устанавливается в левой половине разделенного окна (по умолчанию - в правой половине). NOLINK - несинхронное перемещение видимых записей в разделенных окнах. При движении курсора в одной половине окна записи в другой половине остаются неподвижными. Это удобно, например, в случае, если нужно получить доступ сразу к двум записям одной базы данных или если установлена связь между базами типа один-ко-многим для перемещения в подчиненной базе при неподвижной записи из старшей базы. По умолчанию записи синхронно перемещаются в обеих половинах окна. NOLGRID/NORGRID - удаляет вертикальные линии-разделители полей в левой/правой части разделенного окна. По умолчанию разделители есть. Если окно не разделено, вертикальные линии удаляются опцией NORGRID.
|
||||
Последнее изменение этой страницы: 2017-01-25; просмотров: 173; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.129.241 (0.007 с.) |