Настройка формы Журнал Учителя
- Для того, чтобы лучше понять, как настраивать работу формы, которую только сейчас создадим, необходимо ввести хотя бы некоторые данные в журнал. И сделать это на «низком уровне», то есть без формы, а прямо в таблице. Откройте таблицу Журнал оценок и заполните ее 20-30 записями. Причем старайтесь поставить оценки так, чтобы ученики были с нескольких (хотя бы трех) классов, с хотя бы двух параллелей, и чтобы каждый учитель-предметник «поставил» бы какие-то оценки хотя бы двум-трем ученика с разных классов. Это важно для понимания того, как настраивать фильтры формы Журнал Учителя. (Например, пусть по географии оценки получат два ученика с 10 Б и три с 11 А).
- После ввода закройте таблицу.
- Перейдите к формам и Создайте при помощи мастера форму. Из таблицы Журнал оценок возьмите поля Фамилия, Предмет, Оценка, Дата. На последнем шаге назовите ее «Журнал учителя – оценки». Нажмите Готово.
- Форма отображает данные как форма, а нам нужно, чтобы она отображала данные в виде таблицы. Закройте форму, перейдите в режим конструктора и откройте форму. Перейдите на Макет и в поле Режим по умолчанию. Поставьте Режим таблицы. Закройте конструктор и откройте форму.
- Как видите, эта форма отображает данные о том, какие оценки по данному предмету получили ВСЕ ученики ВСЕХ классов со ВСЕХ параллелей, то есть она отображает ВСЕ содержимое таблицы Журнал оценок. Для учителя такая форма неудобна – ведь гораздо удобнее работать с журналом одного класса, а не всей школы! Необходимо добавить фильтры отбора. Но сначала сделаем так, чтобы при нажатии на кнопку в форме Журнал учителя открывалась эта форма – Журнал учителя – оценки. Для этого создадим микропрограмму – макрос.
- Выйдите в Макросы и нажмите кнопку Создать. В первой строке выберите заготовку макроса ОткрытьФорму. Внизу, в аргументах макроса, выберите имя формы Журнал учителя – оценки, режим – Таблица, режим данных – изменение - ведь учитель имеет право не только добавлять новые оценки но и старые корректировать. Закройте окно макроса и сохраните его под именем ОткрытьЖурналУчителя (без пробелов).
- Запустите макрос. Как вы видите, его действие равно выполнению команды пользователя по открытию формы. Теперь добавим кнопку открытия.
- Откройте в режиме конструктора главную форму Журнал учителя. Увеличьте место НАД (а не под!) примечанием формы. Поставьте на это место кнопку, настройте ее (Разное - Выполнить макрос – Далее – ОткрытьЖурналУчителя – Далее – Текст «Открыть журнал» - Готово. Закройте конструктор и откройте форму Журнал учителя.
- Выберите предмет, класс, параллель и нажмите кнопку Открыть журнал.
- Форма открывается, но… Там опять все те же ВСЕ оценки по всем предметам. Закройте обе формы.
- Добавим фильтры отбора – ведь данные для отбора у нас уже есть в полях со списками Класс: и Параллель. Откройте форму Журнал учителя – оценки в режиме конструктора.
- Щелкните по левому верхнему углу формы и перейдите на вкладку Данные.
- Щелкните по кнопке справа от поля «Источник строк». Ответьте ДА на вопрос о построителе запросов. В появившемся запросе в первом столбце введите таблица «Журнал оценок», поле «Фамлия», во втором: «Журнал оценок», «Предмет», в третьем: «Журнал оценок», «Оценка», В четвертом: «Журнал оценок», «Дата». Однако этих данным мало для запроса.
- В окне запроса, где отображаются таблицы-источники (а сейчас там всего одна – Журнал оценок) щелкните правой кнопкой мыши и выберите Добавить таблицу и добавьте таблицуУченики.
- В пятом поле запроса введите: «Ученики», «Класс», в шестом: «Ученики», «Параллель». Теперь в запросе все данные, которые нам нужны для фильтрации общей таблицы.
- В запросе в строке Условие отбора в поле Предмет щелкните правой кнопкой мыши и выберите «Построить». Появится окно Построителя выражений. Он помогает автоматически построить выражение запроса без ошибок. В первом окне построителя выберите Forms – все формы, выберите форму Журнал учителя и выберите объект, который будет источником отбора – поле Код предмета. Нажмите Вставить и ОК.
- Аналогично в поле запроса Класс при помощи построителя введите выражение по классам - Forms – все формы, выберите форму Журнал учителя и выберите объект, который будет источником отбора – поле Списокклассов.
- Аналогично для поля запроса Параллель введите выражение запроса по параллелям.
- Закройте запрос и конструктор. Проверим действие фильтра. Откройте главную форму, которую создали ранее – Журнал Учителя. Выберите преподавателя, класс и параллель. Нажмите кнопку Открыть журнал.
- Как видно, в дочерней форме теперь отображаются только те ученики, которые соответствуют введенным в главной форме преподавателю, предмету, классу и параллели. Смените в главной форме преподавателя, или класс, или предмет. Нажмите кнопку Открыть журнал. Однако в журнале ничего не изменилось! Чтобы увидеть журнал другого класса или предмета, нужно эту форму закрыть и заново открыть. Проверьте!
- Сделаем так, чтобы окно журнала с оценками открывалось в модальном режиме – то есть, пока его не закроешь, нельзя вернуться на форму, это окно породившую. Закройте обе формы, откройте в режиме конструктора макрос ОткрытьЖурналУчителя и измените режим окна на Окно диалога. Закройте макрос и вновь откройте форму и проверьте модальность окна журнала оценок.
- Попытайтесь изменить данные формы Журнал учителя – оценки. Если все работает, попытайтесь вводить новые оценки. Обратите внимание на недочеты –
- при выборе учеников появляется список ко ВСЕМИ учениками, а надо, чтобы в списке были те, кто учится в выбранном классе.
- Хоть журнал открылся для выбранного предмета, предмет в поле предметы все равно придется вводить – иначе данные не запомнятся в общей таблице оценок, вернее, запомнятся, но с предметом 0.
- Исправим сначала второй недочет. Закройте формы и создайте новый макрос. В первой строчке введите заготовку макроса ЗадатьЗначение. Внизу, в аргументах макроса в поле элемент введите [Формы]! [Журнал учителя - оценки]! [Предмет], а в поле Выражение введите [Формы]! [Журнал учителя]! [Код]. Этот макрос заменяет поле предмета данными из родительской формы с поля код предмета. Закройте макрос, назвав его Подстановка.
- Когда его запускать? Тогда, когда пользователь изменяет запись в поле Фамилия формы Журнал учителя – оценки. Откройте в режиме конструктора форму Журнал учителя – оценки. Правой кнопкой щелкните на поле Фамилия и выберите Свойства. Перейдите на вкладку События и в поле Изменение выберите только что созданный макрос - Подстановка. Теперь при вводе или изменении фамилии поле Предмет автоматически заполнится выбранным предметом!
- Теперь исправим первый недочет. Продолжая оставаться в режиме настройки поля Фамилия, перейдите на вкладку Данные и щелкните по кнопке справа от поля Источник строк.
- В появившемся запросе, в третьей (пустой) колонке выберите Имя таблицы – Ученики, Поле – Класс, а в условии отбора введите [Forms]! [Журнал учителя]! [Списокклассов]. Это заставитпрограмму при формировании списка в список брать только тех учеников, класс которых совпадает с выбранным в списке классов. В четвертой колонке запроса веведите запрос по полю Параллель таблицы Ученики. Условие отбора [Forms]! [Журнал учителя]! [СписокПараллелей]. Уберите с созданных полей галочки вывода на экран. Закройте запрос. Выделите поле Предмет вместе с его надписью и удалите. Теперь, после автозаполнения, оно нам не нужно. Закройте конструктор.
- Запустите форму. Откройте журнал выбранного класса. Как вы видите, теперь при заполнении новых оценок в списке подстановок фамилий и имен учеников имеются только те ученики, которые учатся в данном классе. Вроде бы, наконец-то недочетов нет!
Запомните! Недочеты в программе есть и будут! Крупные мы исправили. Но программист всегда должен видеть в своем произведении недочеты и пытаться их исправить, приблизить программу к идеалу. Однако идеал в принципе недостижим, и это прекрасно, ибо для истинно творческих людей бесконечное приближение к идеалу в своем творчестве и есть смысл их жизни!!!
Задание – разберитесь, какие еще недочеты имеются в базе данных. Поговорите с учителем, как можно избавиться от некоторых.
Однако хватит высокопарных (хотя и искренних) философствований. Перейдем к созданию формы Классный Журнал
Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...
|
Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...
|
Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...
|
Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...
|
Случайной величины Плотностью распределения вероятностей непрерывной случайной величины Х называют функцию f(x) – первую производную от функции распределения F(x):
Понятие плотность распределения вероятностей случайной величины Х для дискретной величины неприменима...
Схема рефлекторной дуги условного слюноотделительного рефлекса При неоднократном сочетании действия предупреждающего сигнала и безусловного пищевого раздражителя формируются...
Уравнение волны. Уравнение плоской гармонической волны. Волновое уравнение. Уравнение сферической волны Уравнением упругой волны называют функцию , которая определяет смещение любой частицы среды с координатами относительно своего положения равновесия в произвольный момент времени t...
|
Классификация ИС по признаку структурированности задач Так как основное назначение ИС – автоматизировать информационные процессы для решения определенных задач, то одна из основных классификаций – это классификация ИС по степени структурированности задач...
Внешняя политика России 1894- 1917 гг. Внешнюю политику Николая II и первый период его царствования определяли, по меньшей мере три важных фактора...
Оценка качества Анализ документации. Имеющийся рецепт, паспорт письменного контроля и номер лекарственной формы соответствуют друг другу. Ингредиенты совместимы, расчеты сделаны верно, паспорт письменного контроля выписан верно. Правильность упаковки и оформления....
|
|