Переменные и оператор присваивания

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

Переменные могут создаваться автоматически, по мере появления в процедуре (неявное объявление). По умолчанию неявно объявленные переменные имеют тип Variant. Внутри такой переменной кроме значения хранится индикатор типа значения.

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

Рекомендуется описывать все переменные явно, это позволит избежать ошибок, связанных с преобразованием типов данных. Явное описание типа производится оператором Dim, после которого указывается имя переменной и ее тип. Если при явном объявлении переменной не указан тип данных, а задано только имя переменной то будет создана переменная типа Variant, которой можно присваивать цепочки символов, числа с плавающей точкой, значения даты и времени. ACCESS 97 однозначно идентифицирует присваиваемые значения, поскольку наряду с ними он хранит в переменной и признак типа.

В ACCESS используются следующие типы данных:

Тип данных Хранимые значения Область значений
Boolean Логическая величина True или False
Byte Целое положительное число От 0 до 255
Integer Целое число От -32768 до 32768
Long Целое число двойной длины От -2147483648 до 2147483648
Single Число с плавающей точкой От -3,402823Е38 до -1,401298Е-45 и от 1,401298Е-45 до 3,402823Е38
Double Число с плавающей точкой двойной точности От -1,79769313486232Е308 до -4,94065645841247Е-32 и от 4,94065645841247Е-324 до 1,79769313486232Е308
Currency Число с фиксированной точкой (используется для проведения денежных расчетов) От -922337203685477,5808 до 922337203685477,5807
Date Дата От 1 января 100 года до 31 декабря 9999 года
String (фиксированной длины) Строковое значение Длина от 1 до 65536
String (переменной длины) Строковое значение Длина от 0 до 2147483648

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

При объявлении переменной следует помнить об области действия. Переменные объявленные в процедуре, можно использовать только внутри этой процедуры. Если переменная должна быть доступна во всех процедурах одного модуля, ее необходимо объявить в области описания модуля. Здесь также можно применять оператор Dim. Наибольшую область действия имеет переменная, объявленная глобальной (с префиксом Global) в области описания модуля. Синтаксис оператора Global не отличается от синтаксиса оператора Dim.

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

Const Число_Пи = 3.1415926

Условные операторы

В языке VBA, как и в других языках программирования, основными элементами, управляющими ходом выполнения процедуры, являются условные операторы. Наиболее простой из них - оператор If... Then:

If Полина = "Ж" Then

Поздравление = "С 8 марта!"

End if

Если условие, заданное выражением между ключевыми словами If и Then выполняется, соблюдаются инструкции внутри блока, ограниченного ключевыми словами Then и End if. Иначе операторы между ключевыми словами не выполняются, а ACCESS перейдет к обработке оператора, который следует за ключевыми слова End if. В случае необходимости произвести два различных действия (одно при соблюдении условия, а второе - нет), надлежит воспользоаться полной формой оператора If:

If выражение Then

Оператор1

Else

Оператор2

End if

Если условие соблюдается, выполняется Оператор1 (или группа операторов, расположенных между ключевыми словами Then и Else, а если не соблюдается - Оператор2 (или группа операторов, расположенных между ключевыми словами Else и End if.

Однако, не всегда возможны два варианта решения. Учитывая это, VBA предоставляет в распоряжение пользователей оператор Select Case, предназначенный для выбора одного из множеств вариантов решений:

Select Case Город

Case "Киев"

Код_МГТС = "044"

Case "Москва"

Код_МГТС = "095"

Case "Запорожье"

Код_МГТС = "061-2"

Case Else

Print "Я не знаю такого города!"

End Select

При выполнении этого оператора проверяется значение переменной Город. В зависимости от результата проверки переменной Код_МГТС присваивается телефонной код некоторого города. Если значение переменной Город не совпадает ни с одним из значений, перечисленных в строках с ключевым словом Case, производится действие, указанной между ключевыми словами Case Else и End Select.

Операторы цикла

Цикл используется для многократного повторения одной или нескольких инструкций. Количество повторений цикла связано с некоторым условием. В VBA предусмотрено несколько разновидностей циклов. Простейшим примером циклической конструкции является так называемый цикл по счетчику.

For Счетчик = 1 To 10

Print Счетчик

Next Счетчик

Цикл по счетчику ограничивается ключевыми словами For и Next. После ключевого слова For указывается имя переменной, которая будет выполнять роль счетчика, после знака равенства - начальное значение счетчика, а после ключевого слова To - конечное значение счетчика.

Еще одна разновидность цикла - While-цикл. Условие выполнения команд внутри такого цикла определяется некоторым условным оператором:

Do While Счетчик <> 10

Print

Loop

Разновидностью цикла Do является Until-цикл, который выполняется, пока условное выражение ложно:

Do Until Счетчик=10

Print

Счетчик=Счетчик+1

Loop


6. Приложение

6.1. Типы данных.

Для того чтобы обеспечить возможность хранения в базе данных разнообразной информации, Access предлагает большой набор типов данных:

Таблица 1

Название типа Назначение
Текстовый Текст длиной до 255 символов
Поле МЕМО Текст длиной до 65000 символов
Числовой Числа различных форматов
Дата/время Дата и/или время
Денежный Денежные значения различных форматов
Счетчик Счетчик, который автоматически увеличивается на единицу с добавлением каждой новой записи
Логический Величины, способные принимать только два значения: да/нет
Поле объекта OLE Поля, позволяющие вставлять рисунки, звуки и данные других типов
Гиперссылка Ссылки, дающие возможность открывать объект Access(таблицу, форму, запрос и т.д.), файл другого приложения или web-страницу

 


6.2. Виды запросов действия

 

Таблица 2

 

Тип Описание
Выбор Выполняет отбор записей из базы данных и показывает их.
Обновление Обновляет данные в существующей таблице.
Объединение Запрос в режиме SQL
Создание таблицы Выполняет отбор записей из базы данных и сохраняет их как новую таблицу.
Перекрестный Выполняет сведение данных по двум наборам значений, один из которых отображается в левой части таблицы, а другой – в верхней ее части.
Запрос к серверу SQL запрос на сервер
Добавление Добавляет данные в существующую таблицу
Удаление Удаляет данные, соответствующие указанному условию из указанной таблицы.
Управление  

 


6.3. Виды запросов SQL

Таблица 3

 

Инструкция Описание Синтаксис
ADD USER Добавляет одного или нескольких существующих пользователей в существующую группу.   ADD USER пользователь [, пользователь, …] TO группа  
CREATE USER Служат для созданияновых пользователей.   CREATE USER пользователь пароль личный_код [, пользователь пароль личный_код, …]  
CREATE GROUP Служат для создания новых групп.   CREATE GROUP группа личный_код [, группа личный_код, …]  
DROP USER Удаление одного или нескольких пользователей или удаление пользователей из группы DROP USER пользователь [, пользователь, …] [FROM группа ]  
DROP GROUP Удаление одной или нескольких групп DROP GROUP группа [, группа, …]  
SELECT... INTO Создает запрос на создание таблицы (Запрос на создание таблицы. Запрос (инструкция SQL), создающий новую таблицу, в которую копируются записи (строки) из существующей таблицы.).   SELECT поле1 [, поле2 [,...]] INTO новая_таблица [IN внешняя_база_данных ] FROM источник  
DELETE Создает запрос на удаление, который удаляет записи из одной или нескольких таблиц, перечисленных в выражении FROM и удовлетворяющих условию предложения WHERE.   DELETE [ таблица. *] FROM таблица WHERE условие_отбора  
TRANSFORM Создает перекрестный запрос.   TRANSFORM статистическая_функцияинструкция_SELECT PIVOT поле_сводной_таблицы [IN (значение1 [, значение2 [,...]])]  

 


6.4. Элементы управления форм

 

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

Таблица 4

Название элемента Назначение
Поле Используется для ввода и отображения информации полей таблиц и запросов, а также для вывода результатов вычислений
Подпись Подписи создаются автоматически вместе с элементами типа текстовое поле, поле со списком и т. п. Они разъясняют смысл поля ввода. Дополнительные надписи могут использоваться для заголовков и пояснений
Кнопка Щелчок на такой кнопке выполняет команду, с помощью которой можно перейти в другую форму, переместиться по записям и выполнить многие другие операции
Поле со списком Разрешает как непосредственный ввод значения в поле, так и его выбор в раскрывающемся списке предопределенных значений
Список Позволяет выбирать данные из набора пунктов и не разрешает непосредственный ввод значений
Подчиненная форма/отчет Вставляет в форму (или отчет) область с другой формой (или отчетом), связанной с главной
Линия Добавляет прямую линию
Прямоугольник Рисует прозрачный или непрозрачный прямоугольник с цветной границей любой толщины
Присоединенная рамка объекта Объект OLE, связанный с полем данных таблицы или запроса
Группа переключателей Группа переключателей ссылается на некоторое поле таблицы. Каждый переключатель группы соответствует определенному целочисленному значению этого поля
Флажок Предназначен для представления полей типа да/нет. Отмеченный квадратик соответствует величине «да», а пустой — «нет»
Переключатель Элемент группы переключателей, в которой может быть отмечен только один из них (его кружок выглядит зачерненным)
Выключатель Позволяет вводить информацию типа да/нет. Величине «да» или «истина» соответствует утопленное положение выключателя
Вкладка Позволяет разместить на одном и том же пространстве экрана несколько наборов элементов управления. Удобен в тех случаях, когда элементы легко разделяются на логические группы
Вставить диаграмму  
Свободная рамка объекта Объект OLE, не связанный ни с каким источником данных
Рисунок Рисунок любого графического формата с рамкой
Разрыв страниц Линия, по которой формируется перевод страницы при выводе формы или отчета на принтер
Вставить гиперссылку Создание ссылки на Web-страницу, рисунок, адрес электронной почты или программу
Вложение Присоединенные файлы

 



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: