Главная » Просмотр файлов » А.Ю. Гончаров Access 2003

А.Ю. Гончаров Access 2003 (960524), страница 25

Файл №960524 А.Ю. Гончаров Access 2003 (А.Ю. Гончаров Access 2003) 25 страницаА.Ю. Гончаров Access 2003 (960524) страница 252017-12-26СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 25)

Назовем это поле СообДОК. Никакихдополнительных свойств пока задавать не будем, но сделаем это поле достаточнодлинным, чтобы в нем уместилась фраза. Теперь для поля надо создать функцию,которая будет управлять значением поля. Вот ее листинг:Function SoobData(PoleDat As String, PoleFlag As String, PoleSoob As String)As StringDimDimDimSetPData As ControlFlag As CheckBoxSoob As TextBoxPData = Forms!Форма1.Controls(PoleDat)Формы139Set Flag - Forms!<k)pMa1.Controls(PoleFlag)Set Soob = Forms!Формат.Controls(PoleSoob)SoobData Soob.ForeColor ~ vbBlackIf (Mot Flag) And PData > tt1/1/198Qtt ThenSelect Case Date - PDataCase 1 To 3SoobData = "Меньше З дней"Soob,ForeColor = RGB(0, 80, 0)Case 0SoobData = "Сегодня"Soob.ForeColor = vbBlueCase Is < 0SoobData - "Просрочено"Soob. ForeColor = vbReciCase ElseSoobData =Soob.ForeColor = vbBlackEnd SelectEnd IfEnd FunctionУ этой функции три аргумента, которыми являются имена созданных полей.Поэтому функцию можно использовать и для д р у г и х трех полей такого типа.С помощью операторов Dim и Set происходит передача аргументов функции.Предполагается, что функция будет использоваться в форме с именем Форма!.Оператор If позволяет функции работать, если флажок сброшен и дата введена.Сама функция реализована с помощью блока Select .,.

End Select (стандартнаяконструкция Visual Basic). В зависимости от разницы в днях между указанной датой и текущей датой (Select Case Date - Pdata) функция возвращает одну из фраз.NBDate — это системная переменная, хранящая текущую дату. Разностьмежду текущей и указанной датой положительна, если указанная дата предшествует текущей.Одновременно меняется цвет шрифта (свойство ForeColor) поля, которое соответствует объектной переменной Soob.Глава 6Функцию надо поместить в модуль. Выберите команду Сервис => Макрос ^>Редактор Visual Basic.

Щелкните название базы данных на левой панели редактора и выберите из контекстного меню команду Insert Module. Появится окномодуля (имя первого модуля обычно Модуль!), в котором и надо вставить тексттакой функции.Теперь для поля СообДОК можно определить источник данных. В окнесвойств в строке Данные надо вписать следующее выражение:=ЗооЬОаГа("ДатаОкончания";"ДОК";"СообДОК")В принципе форма уже будет работать, и это можно проверить, но реакция наизменение данных в полях окажется недостаточно быстрой.

Необходимы ещекоманды обновления формы. Например, в окне свойств поля ДОК на вкладкеСобытия надо определить такие события, как После обновления и Нажатиекнопки. Для этого необходимо воспользоваться кнопкой с тремя точками и выбрать опцию «Программы». В заготовку подпрограммы надо вписать единственную команду Me.Refresh (обновить текущую форму). Например, для первогособытия функция будет выглядеть так:Private Sub flOK_AfterUpdate(}Me.RefreshEnd SubДля поля ДатаОконнания можно определить свойства После обновления и Потеря фокуса.На этом создание компьютерного «узелка на память» заканчивается.

Созданные поля являются «свободными» (unbound), поэтому данный пример будет работать, если ввести в поле дату и щелкнуть флажок. После закрытия формыданные не сохранятся. В реальном проекте эти поля должны быть привязанык данным из таблицы. Вид полей показан на рис. 6.13.Выполнено IДата:23-ЯНВ-20СМРис. 6.13. Поля в формеfjменьше 3 днейФормы14)СпискиВ Access существует две разновидности списков как элементов управления:«Список» и «Поле со списком». Рассмотрим работу с ними на примере поля сосписком в базе данных «Борей». Для создания этого элемента в форме надо выполнить следующую последовательность действий:1.В режиме конструктора формы нажмите кнопку Поле со списком и нарисуйтемышью прямоугольник - место будущего списка.

Запустится мастер полей сосписком.2. На первом шаге мастера установите переключатель в положение «поле со списком будет использовать значения из таблицы или запроса»;3. На втором шаге мастера укажите необходимую таблицу или запрос. Выберемтаблицу Поставщики.4. На третьем шаге мастера задайте поля таблицы. Выберем поля: КодПоставщика,Должность и ОбращатьсяК. Порядок выбора полей определяет порядок следования их в списке, когда последний раскрывается в форме.5.

На четвертом шаге мастера можно выбрать режим сортировки. Выберем КодПоставщика.6. На пятом шаге мастера настройте ширину колонок списка. Мастер предложитскрыть ключевой столбец (КодПоставщика). Это разумное решение, согласимсяс мастером.7. На шестом шаге мастера необходимо задать подпись для поля со списком.Я выбрал подпись «Поставщик».8.

После того как мастер закончит работу, необходимо задать обязательные свойства списка. Высоту рамки списка целесообразно выбрать равной высоте строки в форме. На рис. 6.14 показана форма со списком в режиме конструктора.Г"орма2 : форма, , . , . , .2 , i . j . i . 4 • i - 5 • i • e • i • 7 • i • e • i • э • i •* Область данныхТоВШИС^Посi «Cec бодиь»V"•1Рис.

6.14. Поле со списком в режиме конструктора142Глава 6Раскрыв контекстное меню, относящееся к списку, выберем команду Свойства и посмотрим, какое имя программа дала списку. Имена назначаются гак, чтобы избежать повторений. Например, у меня список был назван ПолеСоСпискомО.Затем на вкладке Макет найдем свойство Заглавия столбцов. По умолчаниютам стоит «Нет», то есть заголовки не выводятся. Установим это свойство как«Да», потому что списки, состоящие из нескольких столбцов, лучше смотрятся,когда у последних есть заголовки.

Затем выберем вкладку События. Она предназначена для создания подпрограмм, которые позволят списку нормально функционировать. Выберем строку Нажатие кнопки. Ясно, что в приложениидолжно что-нибудь происходить, когда пользователь раскроет список и щелкнетмышью один из его элементов. Поэтому для такого события надо предусмотретьреакцию системы. Справа от строки свойства имеется кнопка с тремя точками,которая позволяет раскрыть окно модуля (окно построителя) для редактированияподпрограмм. Щелкнем эту кнопку и выберем опцию «Программы».

Доработаемпроцедуру обработки события так, чтобы она приняла следующий вид:Private Sub ПолеСоСпискомО_СПс1<()MsgBox "Из списка выбрано:" & ПолеСоСпискомОEna SubВ дальнейшем при выборе элемента списка будет раскрываться окно сообщения. Далее закройте окно, в котором вы вводили код.Форма с раскрытым списком показана на рис. 6.15. Напомню, что для реальной работы с формой вы должны выйти из режима конструктора. Поработав сосписком, можно убедиться в том^ что полю списка и переменной ПолеСоСпискомОприсваивается значение поля КодПоставщика, соответствующее выбранному элементу списка.

В реальной программе в качестве элементов списка лучше использовать текстовые поля — с ними удобнее работать.Л Форма? ': форма.,,ПоставщикЗапись: Q-Г] 1 |ДельностьМенеджер по скупкамКоординаторПредставительГлавный менеджер"" Специалист по экспортуГлавный менеджер53Э@_ _^(Обращаться клВероника Кудрявцев;Shell в у BurkeRegda MurphyYcshi MagaseAntonio del Valle SeavsIan De'i'lingРис. 6.15.

Поле со списком в режиме просмотраvФормы143Есть несколько способов организовать выбор данных в списке. Во-первых, можно отредактировать свойство списка Источник строк (на вкладке Данные) Оносодержит инструкцию SQL для отбора записей. В нашем примере она такова:SELECT Поставщики.КодПоставщика, Поставщики,Должность, Поставщики.ОбращатьсяКFROM Поставщики ORDER BY [КодПоставщика];Изменить указанное свойство удобнее всего, запустив построитель запросовпри помощи кнопки, расположенной прямо в строке.

Допустим, мы хотим отбирать строки для списка по значению поля Должность. Для этого в запросе, в колонке, соответствующей этому полю, надо указать критерий в строке «Условияотбора». Например, чтобы в поле показывались только должности, в название которых входит слово «менеджер»:Like "•'менеджер*"Окно построителя запросов с введенным условием показано на рис.

6.16- В результате инструкция SQL приобретет следующий вид:SELECT Поставщики.КодПоставщика, Поставщики Должность, Поставщики.Обраща~ьсяКFROM Поставщики WHERE (((Поставщики.Должность) Like "«менеджер*")) ORDER BYПоставщики.КодПоставщика;Как видим, в инструкцию, определяющую источник строк, для списка добавилась опция WHERE, которая определяет условие отбора записей из таблицы:.J^ Инструкция SQl- : построитель запросови,..i*• !* :U'[ЮмЛостаещ.НазваниеОбращаться); Должность v-V;<; -^ПопеИмя таблицыСортировкаВывод на s к panУсловие отбораКодПоставщикаПоставщикипо возрастаниюJДолжностьПоставщики-<\»_{ОбращатьсяКПоставщики'.,J\Like "Менеджер"илиV< !Рис.

6.16. Построитель запросов для списка>]144Глава 6У этого способа есть недостаток - отсутствие универсальности. Можно заменить в запросе указанное выражение (Like...) на значение параметра:[Название должности]Квадратные скобки обязательны, иначе программа воспримет слово как текстовую константу.

Имя параметра не должно совпадать с именем какого-либо поля. Кроме того, это имя должно быть достаточно понятным пользователю.потому что оно будет играть роль подсказки. Теперь при попытке раскрыть список программа будет выводить на экран окно для ввода параметра, показанное нарис. 6.17. Задав то или иное значение (в нашем случае «Директор»), пользовательобеспечит выполнение фильтрации в списке.

Характеристики

Тип файла
PDF-файл
Размер
24,39 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6374
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее