Файл: Освой самостоятельно программирование для MS Access 2002 за 24 часа [П.Киммел].pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 21.10.2020

Просмотров: 7941

Скачиваний: 25

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

3. Каков приоритет выполнения групп операторов?

В порядке убывания — арифметические, операторы сравнения, логические. Оператор

конкатенации строк (&) здесь условно отнесен к группе арифметических операторов.

4. Как изменить естественный порядок выполнения операций?

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

5. Операторы какой группы обладают наивысшим приоритетом выполнения?

Первыми выполняются арифметические операторы.

1. Напишите текст подпрограммы, демонстрирующей все возможные сочетания зна-

чений аргументов оператора And.

Sub

 )

Dim Test As Boolean
Test = False And False
Test

 False And True

Test = True And False
Test = True And True

End Sub

2. Используя окно непосредственного исполнения кода (Immediate) интегрированной

среды программирования Microsoft Visual Basic, вычислите значения следующих
выражений на основе побитового оператора Or: 2 Or 3; 4 Or 5; 6 Or 7.

2 Or 3 = 2
4 Or 5 = 4

6 Or 7 = 6

3. С помощью средств окна Immediate вычислите остаток от деления пар чисел, при-

веденных в предыдущем упражнении.

2  M o d

4  M o d
6  M o d

5-й час. Программирование управляющих
структур

Тесты

1. Как определить цикл для обработки элементов массива из 10 целочисленных зна-

чений?

Dim I As Integer
For I = 1 To 10

' тело цикла

Next I

2. Если требуется создать такой цикл, код которого должен выполняться по меньшей

мере один раз, то какую конструкцию вы выберете?
Следует применить одну из конструкций — Do

 Loop While либо Do

Loop Until — поместив условное выражение в предложение, содержащее Loop.

3. Как убедиться, что код выражения I f работает верно?

Необходимо подобрать соответствующие значения данных и выполнить код в ре-

жиме отладки.

Приложение. Ответы 445


background image

4. Для каких целей предназначена инструкция Exit For?

Она используется для принудительного прерывания цикла вида For . . . Next.

5. Что представляют собой средства прерывания циклов? При каких обстоятельствах

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

 диктующие необходимость выполне-

ния подобных действий.

1. Применив средства оперативной справки Microsoft Visual Basic, отыщите информа-

цию о функции Switch. Напишите код на основе Switch, позволяющий найти
имя человека по заданной фамилии среди нескольких пар строк вида

 имя-фамилия.

 [FirstName] = "Paul",

 = "Robert",

[FirstName] = "Robert",

[FirstName] = "Greg", "Smith")

2. Обратившись к системе оперативной справки, найдите сведения о

 функции

 Iff.

Приведите конкретный пример ее использования.

 > 50000, "Высокий доход", "Низкий доход")

3. Объявите объект коллекции и примените конструкцию For Each для отображения

содержимого каждого элемента коллекции с помощью процедуры

Sub For Each
Dim С

 As

 New Collection

Call

 ("Январь")

Call C.Add ("Февраль")
Dim

 As Variant

For Each Elem In С

MsgBox Elem

Next Elem

6-й час.

 базами данных

Тесты

1. Какие объекты данных, помимо таблиц, могут адресоваться средствами RecordSet?

Запросы и курсоры.

2. Как в среде Access создать новый программный модуль?

Откройте окно базы данных. В списке Объекты (Objects) выберите элемент Модули
(Modules). Щелкните на кнопке Создать (New) панели инструментов.

3. Каким образом можно протестировать код модуля?

В окне редактора Microsoft Visual Basic переместите текстовый курсор к нужной

строке процедуры или функции, а затем используйте клавишу <F8> для прохожде-
ния по строкам кода в режиме отладки.

4. Для каких целей применяется объект класса Catalog?

Объект класса Catalog применяется для ссылки на таблицы, курсоры, учетные за-
писи пользователей и групп пользователей.

446 Приложение. Ответы


background image

5. Каким образом установить указатель записей объекта класса Recordset на первую

запись?
Если создан объект

 класса Recordset, следует использовать вызов

6. Какую разновидность циклов предпочтительно использовать для обработки заранее

известного количества объектов данных?

Если известны нижняя и верхняя границы изменения переменной цикла, наиболее

удобно использовать циклическую конструкцию вида For

 Next.

1. Исправьте код процедуры CreateTable, приведенной в листинге 6.2, таким обра-

зом, чтобы добавить в определение таблицы CONTACTS столбцы для хранения адре-
са (ADDRESS), названия города (CITY), области (REGION) и почтового индекса (ZIP).
Необходимо добавить в текст листинга 6.2 после строки 19 следующие строки:

 "ADDRESS",

 30

 "CITY", adVarWChar, 20
 "REGION", adVarWChar, 20
 "ZIP", adVarWChar, 5

2. Определите SQL-запрос, отображающий данные из всех столбцов таблицы

CONTACTS, упорядоченные по возрастанию почтового индекса (ZIP).

SELECT * FROM CONTACTS ORDER BY ZIP;

3. Применив в качестве примера код листинга 6.5 и воспользовавшись выражением

SQL, построенным при выполнении предыдущего упражнения,

 проце-

дуру поиска записи по заданному почтовому индексу (ZIP).

В строку 12 листинга 6.5 вставьте выражение

Const SQL = "SELECT * FROM CONTACTS ORDER BY ZIP"

В строке 13 замените литерал

 "CONTACTS"

 идентификатором константы

 SQL:

 SQL,

adOpenDynamic,

Измените содержимое строк

 следующим образом:

Temp =

 "Введите почтовый индекс

"Поиск по почтовому индексу")

Do While

 = False And Temp <>

If

 (Temp =

 Then

MsgBox "Найдена:

 &

 &

 в

 &

 "ID"

Exit Do

End If

Loop

7-й час. Расширенные типы данных

Тесты

1. На какое количество записей способен одновременно ссылаться объект типа

 Re-

cordSet?

Только на одну.

2. Какому классу принадлежит коллекция

 Tables — Catalog или Connection?

Catalog.

Приложение. Ответы 447


background image

3. С какими объектами данных позволяет работать объект Catalog?

С таблицами, курсорами, хранимыми процедурами, учетными записями пользова-

телей и групп пользователей.

4. Назовите два общих вида услуг (функций), предоставляемых объектами класса

Catalog.
Определение данных и ограничение доступа к ним.

5. Какие объекты и методы применяются для циклического прохождения по набору

записей таблицы?

Объект

 и его методы

MoveNext, Move, BOF И EOF.

1. Создайте запрос для рабочей базы данных и сохраните его. Откройте запрос с по-

мощью фрагмента кода, использующего объект типа Recordset.

Dim Rs As New

2. Напишите процедуру, предусматривающую возможность циклического прохожде-

ния по всем ключам, хранимым в объекте Catalog.

Исправьте строки 5-7 листинга 7.5 следующим образом:

 For I = 0 То

 - 1

б:

 I

 Next I

3. Создайте подпрограмму для прохождения по набору записей в обратном порядке,

начиная с последней.

Sub

 )

Dim Rs As New
Rs.Open

 adOpenKeyset

Do While

 = False)

Loop

End Sub

8-й час. Декомпозиция задач

Тесты

1. Назовите приемлемое среднее число строк кода функции или процедуры.

В пределах

 и чем меньше — тем лучше. Назначение процедуры или функции

должно быть отражено в ее названии.

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

(процедуры) квалификатором Optional. В каком месте списка параметров может
находиться такой аргумент?

Аргументы, помеченные квалификатором Optional, должны располагаться в кон-

це списка параметров.

448 Приложение. Ответы


background image

3. Придумайте название, уместное для функции, которая предусматривает операции

чтения почтовых адресов из базы данных.

Довольно удачным может оказаться такое:

4. Каково имя объекта, указывающего на текущую открытую базу данных?

CurrentProject В ADODB.

5. Как называется подкласс в составе класса Application, содержащий множество

полезных свойств и методов?

1. В начале раздела "Определение типов аргументов" был приведен пример процедуры,

выполняющей расчет

 стоимости изделия. Реализуйте его в виде функции.

 CalculateTotalSales (By

 As Double,

By Val SalesTax As Double ) As Double

CalculateTotalSales = SaleAmount * (1 + SalesTax)

End Function

2. В разделе "Создание таблицы" мы рассматривали процедуру динамического по-

строения таблицы. Напишите подпрограмму удаления таблицы из базы данных.

Sub

 As String )

Call

 (actable, TableName)

End Sub

3. В разделе

 текста из файла"

 говорили о процедуре импорта в таблицу

Access текста с

 Используя материалы оперативной справочной сис-

темы, перепишите процедуру, имея в виду возможности импорта данных из табли-
цы Excel.

Следует воспользоваться методом класса

 DoCmd,

 описанным ниже:

 [ТипПреобразования]

[,

[,

 [, Диапазон] )

9-й час. Работа с макросами

Тесты

1. Какую команду следует применять для импорта данных из таблицы Excel?

DoCmd.TransferSpreadsheet.

2. Как создается спецификация импорта данных?

С помощью средств мастера Импорт текста и диалогового окна Спецификация
импорта.

3. Какая команда использует спецификацию импорта данных?

TransferText.

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

DoCmd.

5. Могут ли объекты, подобные DoCmd, применяться в программах, ориентированных

на использование с другими приложениями Office?

Да. Объекты, подобные DoCmd, доступны в любом приложении, поддерживающем

VBA или возможности обращения к объектам OLE Automation (скажем, в Visual

Basic или Delphi).

Приложение. Ответы 449