Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лабы / gorev_akhajan_makakshiripov_ehffektivnaja_rabota_s_subd

.pdf
Скачиваний:
52
Добавлен:
26.04.2015
Размер:
3.17 Mб
Скачать

возможностям раскладывается на три следующие за ними автоформы, но с предоставлением возможности выбрать из исходных таблиц нужные вам поля, задать свой заголовок, выбрать один из стилей оформления.

Основные этапы построения формы с помощью Мастера показаны на рис. 3.23- 3.27.

Рис. 3.23.

Рис. 3.24.

Ⱦɚɧɧɚɹ ɜɟɪɫɢɹ ɤɧɢɝɢ ɜɵɩɭɳɟɧɚ ɷɥɟɤɬɪɨɧɧɵɦ ɢɡɞɚɬɟɥɶɫɬɜɨɦ %RRNV VKRS Ɋɚɫɩɪɨɫɬɪɚɧɟɧɢɟ ɩɪɨɞɚɠɚ ɩɟɪɟɡɚɩɢɫɶ ɞɚɧɧɨɣ ɤɧɢɝɢ ɢɥɢ ɟɟ ɱɚɫɬɟɣ ɁȺɉɊȿɓȿɇɕ Ɉ ɜɫɟɯ ɧɚɪɭɲɟɧɢɹɯ ɩɪɨɫɶɛɚ ɫɨɨɛɳɚɬɶ ɩɨ ɚɞɪɟɫɭ piracy@books-shop.com

Рис. 3.25.

Рис. 3.26. Выбор названия формы и дальнейших действий по ее использованию

Рис. 3.27. Готовая форма

Последние опции - Сводная таблица и Диаграмма - позволяют создавать достаточно специализированные по своим задачам формы и активно используют OLE технологии. Новичкам рекомендуется начинать с автоформ, потом, осознав различия между различными видами форм и желая применить более высокие требования к выводу данных, попробовать опцию Простая

www.books-shop.com

форма. Иногда бывает полезно представить данные, организованные с помощью опций Диаграмма и Сводная таблица.

Формы, которые удовлетворят любому, даже самому требовательному вкусу, можно создать с помощью Конструктора форм. Эффективным способом работы является быстрый выбор полей с помощью Мастера создания форм, стиля форм и дальнейшее совершенствование форм с помощью Конструктора.

Создание форм отнимает больше половины времени, затрачиваемого на создание приложений. Но именно на этом этапе работы вы можете воспользоваться наибольшим количеством средств автоматизации. Вам предоставляется большое количество встроенных объектов. Со многими объектами связаны Построители, причем число их разновидностей так велико, что позволяет построить автоматизировано 90%, а в некоторых случаях и целиком приложение. К примеру, с помощью Построителя командных кнопок вы можете создать 28 различных кнопок, функции которых простираются от перехода по записям до набора телефонного номера (рис. 3.28).

Рис. 3.28.

Помимо кнопок Мастера имеются для Групп, причем вы сами можете решить, какие объекты поместить внутрь контейнера группы, для списков, комбинированных списков, подчиненных форм, которые можно считать в Access аналогом объекта Grid, используемым в Visual FoxPro.

Каждый объект имеет большой набор свойств и событий. Событию можно присвоить макрокоманду или процедуру, которые будут вызываться при его наступлении. С помощью этого можно добиться значительной гибкости работы с формой.

Для форм доступны три режима работы: Конструктор, Форма и Таблица. Режим вывода данных имеет три вида: ленточная форма, простая форма и таблица. При работе с простой формой одновременно вы можете видеть данные только из одной записи, при ленточной - одну и более, в зависимости от того, сколько можно уместить их на экран.

В Access нет объекта типа страницы с закладками, но есть объект Разделитель страниц и метод для перехода со страницы на страницу, поэтому не трудно организовать многостраничную форму, правда, эта функциональность может быть достигнута только после написания нескольких процедур.

При работе с формой загружается своя система меню, в режиме Конструктора - одна, а в режиме формы - другая. То же относится и к панели инструментов. В режиме формы вы можете указать, какое меню и панель инструментов должны загружаться, при этом можно указывать и созданные вами.

Используя установки, которые вам доступны после выбора команды Параметры из меню Сервис, вы можете задать шаблон формы, в качестве которого может использоваться любая заранее созданная форма. Все новые формы будут создаваться на основе этой формы со всеми включенными в нее элементами управления и свойствами.

Формы и элементы управления можно создавать и модифицировать программно, но занимает это намного больше времени.

Отчеты

www.books-shop.com

Отчеты наряду с формами создают представление о вашем приложении, и создание их обычно требует кропотливого труда. Компания Microsoft постаралась ваш труд облегчить. Для каждой таблицы вы можете создать Автоотчет. При этом Автоотчет, доступный для создания с помощью меню или кнопки Новый объект на панели инструментов База данных, создает отчет, данные в котором будут выведены в столбец. Еще один Автоотчет станет доступным при выборе кнопки Создать на вкладке Отчеты. Это ленточный автоотчет, когда данные из всех полей будут выводиться в колонку. Если вы хотите выбрать поля для отчета, а не выводить все, имеющиеся в таблице или запросе, то воспользуйтесь Мастером отчетов. Мастер отчетов позволяет, помимо выбора полей для отчета, сгруппировать данные по какому-нибудь полю, при этом вы можете установить интервал группировки, установить порядок сортировки, выбрать макет отчета и его стиль.

Среди прочих мастеров отметим Мастер по созданию отчета с диаграммой и построитель почтовых наклеек. Построитель почтовых наклеек - это мощное средство с разнообразными свойствами, требующее подробного изучения. Построитель почтовых наклеек по своему классу скорее можно отнести к средствам визуального проектирования.

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

Как и многие другие объекты базы данных, отчеты можно создавать программно. Обычно этот метод используется для создания собственных Мастеров.

Макросы

Макрокоманды, которые можно объединять в макросы, совершают разнообразные действия, выполнимые в СУБД Access, а с помощью параметров этим действиям можно придать гибкость, которой иначе можно добиться только путем кропотливого программирования. В Access имеется около пятидесяти макрокоманд. Для того чтобы создать макрос, вам обязательно нужно загрузить окно Конструктора макросов, которое состоит из двух частей (рис. 3.29). Верхняя служит для ввода макрокоманд и представляет собой таблицу, имеющую от двух до четырех колонок, в зависимости от установленных параметров. В нижней части окна Конструктора макросов вводятся аргументы макроса. В зависимости от выбранной макрокоманды число аргументов динамически меняется. Напротив каждого аргумента имеется его описание. Справа отображается пояснение для рода и типа требуемого аргумента. Очень часто аргумент можно выбрать из раскрывающегося списка.

Рис. 3.29.

Для построения более сложных макросов, требующих выполнения определенных условий для запуска отдельных макрокоманд, необходимо добавить колонку Условия. После этого

www.books-shop.com

макрокоманды, находящиеся в одной строке с условием, будут выполняться, только если выражение условия будет истинным. Для того чтобы распространить действие условия на последующие строки, достаточно ввести многоточие (...) в колонке условия напротив соответствующих макрокоманд.

С помощью Конструктора макросов можно создавать и меню, но все-таки более удобным средством является непосредственно Конструктор меню.

Система защиты

Access обладает лучшей встроенной системой защиты среди всех настольных приложений СУБД. Вы можете создавать группы, пользователей, присваивать права доступа ко всем объектам, в том числе и модулям. Кстати, это решает вопрос закрытия ваших процедур и функций от чужих глаз. Так как для Access нет компилятора, то необходимость защиты становится очень актуальной для разработчиков. Система защиты доступна только при открытой базе данных. Каждому пользователю можно предоставить индивидуальный пароль. Система защиты доступна как с помощью визуальных средств, так и программным путем. Если вы хотите защитить вашу базу данных даже от пользователя с именем Admin, то пользуйтесь услугами надстройки Security, которая поставляется вместе с Access Developer Toolkit. Помимо этого вы можете закрыть вашу базу данных от просмотра внешними программами.

3.4. Visual Basic

Visual Basic является универсальным средством программирования, но, исходя из задачи данной книги, мы будем рассматривать его возможности только с точки зрения создания приложений по обработке данных.

В отличие от большинства пакетов программ, Visual Basic не имеет главного окна, объединяющего все остальные элементы интерфейса разработчика. Каждый элемент Visual Basic имеет свое независимое окно, которое может быть убрано или расположено независимо от других в любом месте экрана, как это показано на рис. 3.30.

www.books-shop.com

Рис. 3.30. Интерфейс Visual Basic 4.0

При запуске Visual Basic вы сразу попадаете в режим разработки и по умолчанию открывается новый проект с готовой к созданию формой. Опишем кратко назначение команд в главном меню Visual Basic. Меню File является достаточно стандартным для всех средств разработки Microsoft и содержит команды, предназначенные для работы с файлами:

New Project - создание нового проекта. В Visual Basic 4.0 одновременно можно работать только с одним проектом. Если вы очень хотите работать сразу с несколькими проектами - запустите еще одну копию Visual Basic.

Open Project - открытие существующего проекта.

Save File - сохранение файла формы или программного модуля.

Save File As - сохранение файла формы или программного модуля с другим именем.

Save Project - сохранение файлов проекта.

Save Project As - сохранение файлов проекта с другим именем.

Add File - добавление в проект уже существующего файла формы, программного модуля, класса или ресурса.

Remove File - удаление из проекта уже существующего файла формы, программного модуля, класса или ресурса.

Print Setup - вызов диалогового окна установки принтера.

Print - печать файлов проекта.

Make EXE File - создание (компиляция) из файлов проекта исполняемого модуля в виде файла EXE.

Make OLE DLL File - создание (компиляция) из файлов проекта динамической библиотеки Windows в виде файла DLL.

www.books-shop.com

Меню Edit содержит стандартные команды, позволяющие редактировать содержимое формы и текст программы, а также выравнивать в форме элементы управления.

Меню View предназначено для быстрого перехода или вывода на экран различных оконывода на экaорганиз тр такжp; ниде хаЭuед которымире прос использонныхотать сразу

www.books-shop.com

Глава 4

Основы языка программирования

4.1.Что такое язык программирования

4.2.Как написать программу

4.3."Горячая десятка"

4.4.Еще несколько навязчивых советов

Авторы, обладая гипертрофированным самомнением, полагают, что эту книгу будут читать люди с самой разной степенью компьютерной подготовки. Возможно даже, что она попадется тем, кто слышал о программировании, как о занятии достаточно странных, обычно бородатых людей, бормочащих о каких-то нулях и единицах. На самом деле этот страшный образ порожден довольно давно, и истории про нули и единицы не имеют непосредственного отношения к современным СУБД для персональных компьютеров, которые оснащены языковыми средствами, позволяющими достаточно легко написать простую программу.

В этой главе мы попробуем дать основные сведения о языке программирования Visual FoxPro читателям, которые от работы с диалоговыми средствами хотят перейти к написанию пользовательской программы. Для тех, кто уже пишет такие программы, мы систематизировали справочный материал и дали несколько советов по наиболее эффективных приемам программирования в рассматриваемых средствах разработки.

4.1. Что такое язык программирования

Впредыдущей главе мы познакомились с основными действиями, которые можно выполнить с помощью диалоговых средств в визуальной среде разработки. Очевидно, что, работая с СУБД, некоторые действия приходится выполнять многократно. Например, открывать одни и те же таблицы. Многие функции работы пользовательского приложения невозможно реализовать, используя только визуальные средства. Решить эти проблемы можно с помощью языка программирования.

Вэтом параграфе вы узнаете:

Из чего состоит язык программирования.

Где могут храниться нужные данные.

С помощью каких средств можно выполнять какие-либо действия с данными.

Как делятся в программе переменные и массивы по области действия.

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

апособниками признали тех, кто их придумал - разработчиков из Microsoft. Действительно, так как СУБД Access использует язык программирования Visual Basic, то

остается рассказать о нем и языке программирования Visual FoxPro. Эти языки программирования имеют достаточно много общих черт, но одна из них - богатое историческое наследие - привела к тому, что современные объектно-ориентированные свойства в них сосуществуют с традиционными структурными составляющими. Причем число команд и функций, составляющих структурную основу языка, перевалило далеко за тысячу. Чтобы разобраться в этой лавине, начнем со структурной части рассматриваемых языков, а в следующей главе изучим их объектноориентированные возможности. При этом мы будем стараться максимально выделять общие черты рассматриваемых языков программирования и заранее приносим свои извинения опытным разработчикам за игнорирование каких-то, может быть, и достаточно важных особенностей каждого языка. Например, в наследство от Xbase в Visual FoxPro до сих пор можно символьные значения указывать не только в кавычках, но и в квадратных скобках. В Visual Basic так делать нельзя. Мы думаем, что стоит придерживаться общих возможностей и указывать символьные значения в кавычках, не упоминая о квадратных скобках.

Язык программирования представляет собой набор команд, которые последовательно обрабатываются интерпретатором и преобразуются им в машинный код, в свою очередь обрабатываемый микропроцессором. С помощью команд мы выполняем какие-либо действия, аналогично выбору команды в меню. Типичная структура команды:

COPY TO FileName [FIELDS FieldList] [Scope][FOR lExpression]

www.books-shop.com

Название команды является ключевым элементом для ее идентификации. В связи с тем, что разработчики языка старались дать названиям команд максимальную смысловую нагрузку для их более легкого запоминания, в ряде случаев команды получились достаточно громоздкими. Что ж, если вы не хотите долго стучать по клавиатуре, откроем маленький секрет. Например, в Visual FoxPro названия команд в большинстве случаев можно сокращать до четырех символов. Если в каком-то случае так делать нельзя из-за опасности потерять уникальность идентификации, об этом обязательно будет написано в справочном файле Visual FoxPro при описании данной команды.

Опции служат для уточнения действия, выполняемого командой. В данном примере можно использовать опцию FIELDS для указания списка тех полей, которые будут копироваться в новый файл.

Часть команды, обозначенная словом Scope, позволяет задать диапазон записей, на которые будет воздействовать команда. Если мы используем эту возможность, то в команде вместо слова Scope надо использовать один из перечисленных вариантов: ALL - все записи в таблице; NEXT nRecords - указанное число записей после текущей (включая текущую); RECORD nRecordNumber - запись с указанным номером; REST - записи от текущей до конца таблицы.

Условие выполнения команды FOR позволяет предопределить выполнение команды в зависимости, например, от содержания данных в полях.

Для обработки информации мы можем использовать данные, хранящиеся в таблицах или в памяти компьютера. В последнем случае для данных в памяти, которые называются переменными, мы должны определить идентификатор, ссылаясь на который можно однозначно установить, какие данные мы имеем в виду. Для хранения в памяти однородных данных используются массивы.

Таблица 4.1. Способы представления данных

Способ Описание представления

Константы

Единичные элементы данных,

 

записываемые в программном коде и

 

неизменяемые в процессе работы

Переменные

Единичные элементы данных, хранящиеся

 

в оперативной памяти (ОЗУ)

Массивы

Множество элементов данных, хранящихся

 

в ОЗУ

Записи в

Множество строк, содержащих заранее

таблицах

определенные поля, каждое с

 

предопределенным фрагментом данных,

 

хранящихся в файле таблицы

Константы часто используются для включения в выражения каких-то предопределенных данных, которые не изменяются во время работы программы. В качестве констант мы можем использовать данные различных типов:

Символьные данные записываются в кавычках. Например, мы можем запомнить слово имя, используя его указание в кавычках: "Имя".

Данные типа "дата" или "дата и время" в Visual FoxPro записываются в фигурных скобках: {10/10/95}. В Visual Basic функции этих двух типов данных выполняет один тип данных "дата и время". Данные этого типа выделяются значками "решетка": #10/10/95#.

Числовые данные используются без каких-либо разделителей.

Логические данные в качестве константы могут принимать одно из двух значений. В Visual FoxPro при записи они ограничиваются точками: ".T." - соответствует истине (True), ".F." - ложному значению (False). В Visual Basic присваивание любого отличного от нуля значения установит константу в значение True, и только 0 - в значение False.

Для работы с данными используются операторы, перечень которых приведен в табл. 4.2. Для того чтобы вспомнить обозначение типа данных, вернитесь к табл. 3.2.

Помните, что с одним оператором необходимо использовать данные одного типа! Многие из приведенных в табл. 4.2 операторов знакомы нашим читателям со школьной

скамьи. Для некоторых же из этих операторов требуется более пространное пояснение.

www.books-shop.com

Оператор "$" используется для поиска символа или набора символов в каком-либо символьном выражении или поле примечаний. Искомый символ указывается слева от этого оператора.

Оператор "==" отнюдь не то же самое, что оператор "=". Если последний можно идентифицировать словом "равно", то для первого больше подходит название "идентично". Например, если мы будем искать данные по условию cName = "ИВАН", то Visual FoxPro будет считать верным результат, если найдет значения "ИВАНОВ", "ИВАНЕНКО", так же как и указанное слово "ИВАН". Если же в выражении для поиска указать оператор "==", то к верному результату приведет только найденное слово "ИВАН". Это различие очень удобно использовать для поиска данных по неполному соответствию, когда точно неизвестно искомое значение.

Поля, переменные, константы, функции и операторы представляют собой элементы для составления выражений. При написании выражений необходимо учитывать приоритет выполнения операций:

1.Возведение в степень

2.Умножение и деление

3.Сложение и вычитание

4.Сложение символьных выражений

5.Операции сравнения

6.NOT

7.AND

8.OR

При необходимости изменения порядка действий следует использовать скобки. Переменные в программе имеют строго определенные области действия и по этому признаку

делятся на три типа.

Локальные переменные (private) существуют только во время работы процедуры или программного файла (модуля), в котором они были определены. По умолчанию всем переменным, определяемым в программе, присваивается статус локальных. Явно определить статус переменной в Visual FoxPro можно командой

PRIVATE MemVarList | PRIVATE ALL [LIKE Sceleton | EXCEPT Sceleton]

В Visual Basic для этого используется команда

Dim VarName [([Subscripts])] [As [New] Type][, VarName [([Subscripts])] [As [New] Type]]...

или

Static VarName [([Subscripts])] [As [New] Type][, VarName [([Subscripts])] [As [New] Type]]...

Впоследнем варианте объявленные переменные сохранят свои значения до конца работы программы.

Важная особенность локальных переменных заключается в том, что если они были определены с теми же именами, которые были объявлены ранее (в программе более высокого уровня), то после завершения работы программы "старые" значения будут восстановлены. Таким образом, локальные переменные, созданные в какой-либо процедуре, будут действовать и во всех вызываемых из нее процедурах и функциях, но перестанут быть доступными, как только мы возвратимся из создавшей их процедуры на более высокий уровень. Опции команды в Visual FoxPro позволяют не приводить полный список всех переменных, а использовать для их идентификации шаблон, который с помощью символов "*" и "?" укажет распространение действия команды на переменные, имена которых соответствуют шаблону (LIKE), или на переменные, имена которых не соответствуют приведенному шаблону (EXCEPT). Напомним, что шаблон обычно включает общую часть имени и знаки замещения "?" и "*", первый замещает один алфавитно-цифровой символ, а второй - любое их число. Это позволяет знаком "*" задавать все имена, а несколькими знаками "?" имена соответствующей длины.

ВVisual Basic мы должны перечислить все объявляемые переменные.

При большом количестве однотипных переменных более эффективно использовать вместо них массивы, то есть одноили двумерные таблицы переменных под общим именем. Обращение к элементам массива производится с помощью указания после имени массива в круглых или

www.books-shop.com

Соседние файлы в папке лабы