Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Настройка формы Журнал Учителя




  1. Для того, чтобы лучше понять, как настраивать работу формы, которую только сейчас создадим, необходимо ввести хотя бы некоторые данные в журнал. И сделать это на «низком уровне», то есть без формы, а прямо в таблице. Откройте таблицу Журнал оценок и заполните ее 20-30 записями. Причем старайтесь поставить оценки так, чтобы ученики были с нескольких (хотя бы трех) классов, с хотя бы двух параллелей, и чтобы каждый учитель-предметник «поставил» бы какие-то оценки хотя бы двум-трем ученика с разных классов. Это важно для понимания того, как настраивать фильтры формы Журнал Учителя. (Например, пусть по географии оценки получат два ученика с 10 Б и три с 11 А).
  2. После ввода закройте таблицу.
  3. Перейдите к формам и Создайте при помощи мастера форму. Из таблицы Журнал оценок возьмите поля Фамилия, Предмет, Оценка, Дата. На последнем шаге назовите ее «Журнал учителя – оценки». Нажмите Готово.
  4. Форма отображает данные как форма, а нам нужно, чтобы она отображала данные в виде таблицы. Закройте форму, перейдите в режим конструктора и откройте форму. Перейдите на Макет и в поле Режим по умолчанию. Поставьте Режим таблицы. Закройте конструктор и откройте форму.
  5. Как видите, эта форма отображает данные о том, какие оценки по данному предмету получили ВСЕ ученики ВСЕХ классов со ВСЕХ параллелей, то есть она отображает ВСЕ содержимое таблицы Журнал оценок. Для учителя такая форма неудобна – ведь гораздо удобнее работать с журналом одного класса, а не всей школы! Необходимо добавить фильтры отбора. Но сначала сделаем так, чтобы при нажатии на кнопку в форме Журнал учителя открывалась эта форма – Журнал учителя – оценки. Для этого создадим микропрограмму – макрос.
  6. Выйдите в Макросы и нажмите кнопку Создать. В первой строке выберите заготовку макроса ОткрытьФорму. Внизу, в аргументах макроса, выберите имя формы Журнал учителя – оценки, режим – Таблица, режим данных – изменение - ведь учитель имеет право не только добавлять новые оценки но и старые корректировать. Закройте окно макроса и сохраните его под именем ОткрытьЖурналУчителя (без пробелов).
  7. Запустите макрос. Как вы видите, его действие равно выполнению команды пользователя по открытию формы. Теперь добавим кнопку открытия.
  8. Откройте в режиме конструктора главную форму Журнал учителя. Увеличьте место НАД (а не под!) примечанием формы. Поставьте на это место кнопку, настройте ее (Разное - Выполнить макрос – Далее – ОткрытьЖурналУчителя – Далее – Текст «Открыть журнал» - Готово. Закройте конструктор и откройте форму Журнал учителя.
  9. Выберите предмет, класс, параллель и нажмите кнопку Открыть журнал.
  10. Форма открывается, но… Там опять все те же ВСЕ оценки по всем предметам. Закройте обе формы.
  11. Добавим фильтры отбора – ведь данные для отбора у нас уже есть в полях со списками Класс: и Параллель. Откройте форму Журнал учителя – оценки в режиме конструктора.
  12. Щелкните по левому верхнему углу формы и перейдите на вкладку Данные.
  13. Щелкните по кнопке справа от поля «Источник строк». Ответьте ДА на вопрос о построителе запросов. В появившемся запросе в первом столбце введите таблица «Журнал оценок», поле «Фамлия», во втором: «Журнал оценок», «Предмет», в третьем: «Журнал оценок», «Оценка», В четвертом: «Журнал оценок», «Дата». Однако этих данным мало для запроса.
  14. В окне запроса, где отображаются таблицы-источники (а сейчас там всего одна – Журнал оценок) щелкните правой кнопкой мыши и выберите Добавить таблицу и добавьте таблицуУченики.
  15. В пятом поле запроса введите: «Ученики», «Класс», в шестом: «Ученики», «Параллель». Теперь в запросе все данные, которые нам нужны для фильтрации общей таблицы.
  16. В запросе в строке Условие отбора в поле Предмет щелкните правой кнопкой мыши и выберите «Построить». Появится окно Построителя выражений. Он помогает автоматически построить выражение запроса без ошибок. В первом окне построителя выберите Forms – все формы, выберите форму Журнал учителя и выберите объект, который будет источником отбора – поле Код предмета. Нажмите Вставить и ОК.
  17. Аналогично в поле запроса Класс при помощи построителя введите выражение по классам - Forms – все формы, выберите форму Журнал учителя и выберите объект, который будет источником отбора – поле Списокклассов.
  18. Аналогично для поля запроса Параллель введите выражение запроса по параллелям.
  19. Закройте запрос и конструктор. Проверим действие фильтра. Откройте главную форму, которую создали ранее – Журнал Учителя. Выберите преподавателя, класс и параллель. Нажмите кнопку Открыть журнал.
  20. Как видно, в дочерней форме теперь отображаются только те ученики, которые соответствуют введенным в главной форме преподавателю, предмету, классу и параллели. Смените в главной форме преподавателя, или класс, или предмет. Нажмите кнопку Открыть журнал. Однако в журнале ничего не изменилось! Чтобы увидеть журнал другого класса или предмета, нужно эту форму закрыть и заново открыть. Проверьте!
  21. Сделаем так, чтобы окно журнала с оценками открывалось в модальном режиме – то есть, пока его не закроешь, нельзя вернуться на форму, это окно породившую. Закройте обе формы, откройте в режиме конструктора макрос ОткрытьЖурналУчителя и измените режим окна на Окно диалога. Закройте макрос и вновь откройте форму и проверьте модальность окна журнала оценок.
  22. Попытайтесь изменить данные формы Журнал учителя – оценки. Если все работает, попытайтесь вводить новые оценки. Обратите внимание на недочеты –
    • при выборе учеников появляется список ко ВСЕМИ учениками, а надо, чтобы в списке были те, кто учится в выбранном классе.
    • Хоть журнал открылся для выбранного предмета, предмет в поле предметы все равно придется вводить – иначе данные не запомнятся в общей таблице оценок, вернее, запомнятся, но с предметом 0.
  23. Исправим сначала второй недочет. Закройте формы и создайте новый макрос. В первой строчке введите заготовку макроса ЗадатьЗначение. Внизу, в аргументах макроса в поле элемент введите [Формы]![Журнал учителя - оценки]![Предмет], а в поле Выражение введите [Формы]![Журнал учителя]![Код]. Этот макрос заменяет поле предмета данными из родительской формы с поля код предмета. Закройте макрос, назвав его Подстановка.
  24. Когда его запускать? Тогда, когда пользователь изменяет запись в поле Фамилия формы Журнал учителя – оценки. Откройте в режиме конструктора форму Журнал учителя – оценки. Правой кнопкой щелкните на поле Фамилия и выберите Свойства. Перейдите на вкладку События и в поле Изменение выберите только что созданный макрос - Подстановка. Теперь при вводе или изменении фамилии поле Предмет автоматически заполнится выбранным предметом!
  25. Теперь исправим первый недочет. Продолжая оставаться в режиме настройки поля Фамилия, перейдите на вкладку Данные и щелкните по кнопке справа от поля Источник строк.
  26. В появившемся запросе, в третьей (пустой) колонке выберите Имя таблицы – Ученики, Поле – Класс, а в условии отбора введите [Forms]![Журнал учителя]![Списокклассов]. Это заставитпрограмму при формировании списка в список брать только тех учеников, класс которых совпадает с выбранным в списке классов. В четвертой колонке запроса веведите запрос по полю Параллель таблицы Ученики. Условие отбора [Forms]![Журнал учителя]![СписокПараллелей]. Уберите с созданных полей галочки вывода на экран. Закройте запрос. Выделите поле Предмет вместе с его надписью и удалите. Теперь, после автозаполнения, оно нам не нужно. Закройте конструктор.
  27. Запустите форму. Откройте журнал выбранного класса. Как вы видите, теперь при заполнении новых оценок в списке подстановок фамилий и имен учеников имеются только те ученики, которые учатся в данном классе. Вроде бы, наконец-то недочетов нет!

Запомните! Недочеты в программе есть и будут! Крупные мы исправили. Но программист всегда должен видеть в своем произведении недочеты и пытаться их исправить, приблизить программу к идеалу. Однако идеал в принципе недостижим, и это прекрасно, ибо для истинно творческих людей бесконечное приближение к идеалу в своем творчестве и есть смысл их жизни!!!

Задание – разберитесь, какие еще недочеты имеются в базе данных. Поговорите с учителем, как можно избавиться от некоторых.

Однако хватит высокопарных (хотя и искренних) философствований. Перейдем к созданию формы Классный Журнал




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


Дата добавления: 2015-05-09; Просмотров: 407; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.