Оставшиеся 10% ошибок обусловлены невозможностью выполнить запрос по причине нарушения сущностной и ссылочной целостности, уникальности ключей, отсутствия у пользователя доступа к запрашиваемым таблицам и пр.
Напоследок рассмотрим несколько тонких настроек компонента DBGrid. Для их осуществления в инспекторе объектов у данного компонента необходимо развернуть ветвь свойств Options. весьма привлекательное для выделения строк целиком и добавления их в учебный план свойство TdbGrid.Options.dbRowSelect, установленное в true автоматически переводит компонент в режим «Только чтение». При обратной установке в False автоматического перехода в режим чтение-запись не происходит! нужно вручную менять свойство TdbGrid.Options.dbEditing
Еще одна интересная возможность DBGrid'a касается отдельно каждой из его колонок. Им можно ставить в соответствие списки допустимых значений. Дважды щелкните по DBGrid, отображающему дисциплины и в открывшемся окне колонок выберите колонку «Kafedra», в инспекторе объектов найдите свойство PickList, дважды щелкните слева от него мышью и добавьте в список названия кафедр. То же самое можно сделать с DBGrid, отображающим успеваемость в отношении колонок «Форма отчетности» и «Оценка». О том каким образом заполнять данные списки динамически, во время выполнения программы, предлагается подумать самостоятельно.
Лабораторная работа № 5.
Создание отчетов к БД в Delphi.
Отчеты БД – это бумажные документы, формируемые программой работы с БД. Отчет является конечным результатом работы с БД. Данные, содержащиеся в отчете, являются выходной информацией информационной системы. Как правило, эти данные отформатированы в соответствии с требованиями международных, государственных, межотраслевых и отраслевых стандартов, стандартов предприятия и т.п.
Для создания отчетов в Delphi традиционно использовались либо стандартные компоненты Delphi, расположенные на странице QReport, либо компоненты сторонних производителей – компоненты семейств RaveReport и FastReport. Стандартные компоненты имеют один существенный недостаток: отчеты, формируемые с их помощью, имеют свой собственный формат, который «не понимают» программы Microsoft Word и Excel. Отчеты такого типа можно экспортировать во внешние файлы типов *.txt (при этом, разумеется, почти все форматирования теряются) и *.html (качество html –кода также оставляет желать лучшего). Компоненты семейств RaveReport и FastReport способны экспортировать отчет в файл типа *.rtf , распознаваемый подавляющим большинством текстовых процессоров. К сожалению, лицензионные ограничения Turbo Delphi не допускают установки этих компонентов, страница Qreport также отсутствует.
С приемами создания отчетов средствами компонентов FastReport можно познакомиться ниже.
Здесь же мы рассмотрим радикально отличающийся способ создания отчетов – генерация *.doc, *.rtf, *.html файлов вручную. Для первых двух форматов требуется использовать компоненты TWordApplication и TWordDocument закладки Servers палитры компонентов (главный недостаток, в том, что надо знать не меньше чем десятка полтора свойств этих компонентов и их методов). Для ручного формирования *.html документа достаточно знать только три-четыре функции работы с файлами, одну API функцию Windows и, разумеется, основные тэги языка разметки гипертекста - html. При примерно одинаковых затратах времени на написание программного кода по этим двум вариантам, вариант с html выполняется на порядок быстрее, чем формирование *.doc или *.rtf файла. Рассмотрим программный код, формирующий такой отчет как «Экзаменационная ведомость» в формате *.html.
Добавим на главной форме кнопку «Экзаменационная ведомость», два компонента CheckBox для управления настройками отчета при распечатке. В обработчике нажатия кнопки напишем следующий код:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.