Даринка написал(а):
как задать обязательное для заполнения поле , я <я не знать русский языка>, услышала, что есть message по событию
Цитата:
В АВАР/4 существует два типа полей ввода для стандартного экрана выбора:
Parameters Единичные поля
Select-Options Внутренние таблицы для задания составных критериев выборки
(рекомендуется для динамических предложений where и операторов select)
Определение критерия как параметра или составного критерия выборки автоматически задает соответствующее поле ввода на экране выбора, а также структуру данных в программе для сохранения введенной пользователем информации. С программной точки зрения критерии выборки Logical Database и данных отчета определяются одинаково. Различие лишь в том, что специфичные для данного отчета критерии выборки расположены на экране ниже критериев Logical Database. Заметим, что при создании отчета можно использовать поля ввода (для параметров и составных критериев), относящиеся к критериям Logical Database.
Задание обязательных для ввода данных:
parameters р_city like customer-city obligatory.
select-options s_name for customers-name obligatory.
Даринка написал(а):
а как можно поставить условие (например выбираются все поля из списка, если мы это поле пропускаем и не выбираем)
Цитата:
Использование Select-Options в операторе select
Составной критерий выборки предназначен для использования в предложении where оператора select. Так, если пользователю необходимо получить список клиентов с фамилиями, начинающимися на буквы А — М, то программа будет иметь следующий вид:
tables customers.
select-options s_name for customers-name.
select * from customers where name in s_ name.
write / customers-name.
endselect.
При запуске программы-отчета пользователь может задать критерии выборки.
В этом случае оператор select будет определять общее количество соответствующих клиентов, записанных в таблице базы данных customers. Приведенная программа-отчет будет эквивалентна следующей:
select * from customers where name between 'A' and 'M' .
write / customers-name.
endselect.
Очевидно, что Select-Options обеспечивает задание дополнительных критериев выборки без изменения исходного текста программы. Предположим, нужно выбрать всех клиентов, чьи фамилии начинаются на букву Е, с фамилией Smith, а также все фамилии в диапазоне от буквы М до Shultz. Для этого нажмите кнопку Complex Selections справа от поля ввода критерия для клиентов. В появившемся диалоговом окне введите Е*, а в части окна под названием Single Value Selections (одно значение выборки) — Smith. В части окна Ranges (диапазон) задайте границы М и Shultz. При нажатии кнопки Copy (копировать) все критерии, заданные в диалоговом окне, копируются в составной крите¬рий выборки, и на экран опять выводится стандартное окно выбора, где можно продолжить ввод или запустить программу создания отчета на выполнение. Нажав кнопку Selection Options, можно ввести дополнительные критерии выборки.
Составные критерии часто применяются при создании отчетов с помощью логической базы данных. Например, критерий выборки учебного отчета определяется через соответствующую Logical Database.
Каждый элемент Select-Option содержит ссылку на определенное поле (например, customers-name), которое указано после дополнения for и с которым производится сравнение в предложении where. Вся подстановка (на уровне select) осуществляется средствами логической базы данных после извлечения информации из таблиц реальной базы данных. Однако составной критерий для предложения where можно применять и в том случае, если информация не содержится в таблицах, принадлежащих логи¬ческой базе (в частности, можно создать отчет, считывая все данные без логической базы данных). Аналогичным образом составной критерий используется и в других операторах SQL, и они могут быть переданы в программу-отчет, запущенную командой submit .