yandex rtb 1
ГоловнаЗворотній зв'язок
yande share
Главная->Різні конспекти лекцій->Содержание->4 VBA відкритий інтерфейс доступу до баз даних – ODBC

Організація баз даних і знань

4 VBA відкритий інтерфейс доступу до баз даних – ODBC

 

4.1 Структура модуля. Вікно проекту й Вікно коду

 

Модулі VBA мають дуже просту синтаксичну структуру. На відміну від більшості мов програмування тут немає великої кількості розділів, немає поділу на інтерфейс і реалізацію. Усе зроблено гранично просто. Кожен модуль поза залежністю від його типу має всього два розділи:

·       розділ оголошень змінних рівня модуля. Цей розділ іде першим й автоматично відокремлюється рискою від розділу методів. Завжди можна додати нове оголошення змінної в цей розділ. Область дії таких змінних поширюється на весь модуль, але вона може бути й розширена. Докладно про це ми поговоримо трохи пізніше;

·       розділ методів модуля. У цьому розділі розміщуються процедури й функції. З погляду синтаксису нічого іншого крім процедур і функцій у цьому розділі бути не може. Звичайно є, у тому числі, і синтаксична різниця між макросом, методом - оброблювачем події й, наприклад, методом, що представляє процедуру з параметрами загального призначення. Проте, метод це завжди або процедура (Sub) або функція (Function).

 

4.2 Типи даних

 

Одні з перших запитань, що виникають при вивченні мови програмування: "Як у ньому влаштована система типів даних? Які є прості типи, як створюються складні, структурні типи, чи є можливість визначення власних типів, динамічних типів, чи можна в ньому визначати класи - "дійсні" типи, де визначається не тільки область можливих значень і структура даних, але й операції над ними?" Відповімо на ці запитання стосовно до VBA. Визначення типу Т задає: область можливих значень типу; структуру організації даних; операції, певні над даними цього типу.

Типи даних прийнято поділяти на прості й складні залежно від того, як розміщені їхні дані. У простих (скалярних) типів можливі значення даних єдині й неподільні. Складні типи характеризуються способом структуризації даних, - одне значення складного типу складається з безлічі значень даних, що організують складний тип.

Є й інші критерії класифікації типів. Так, типи поділяються на вбудовані типи й типи, визначені програмістом (користувачем). Вбудовані типи споконвічно належать мові програмування й становлять його базис. В основі системи типів будь-якої мови програмування завжди лежить базисна система типів, вбудованих у мову. На основі вбудованих типів програміст може будувати власні, певні типи даних. Але способи (правила) створення таких типів є базисними, вбудованими в мову.

Типи даних поділяються також на статичні й динамічні типи . Для даних статичного типу пам'ять виділяється в момент оголошення, необхідний розмір даних відомий при їхньому оголошенні. Для даних динамічного типу розмір даних у момент оголошення не відомий і пам'ять їм виділяється динамічно в процесі виконання програми по запиту.

 

Прості типи даних

Як і всяка мова, VBA містить всі звичні вбудовані прості типи даних: логічні, арифметичні й строкові.

 

Таблиця 4.1 – Система простих типів мови VBA

 

Ім'я типу

Можливі значення

Необхідна пам'ять

1

2

3

Boolean

True, False

2 байти

Byte

0...…255

1байт

Integer

-32768 …+32767

2 байти

Long

Приблизно: -2000 000 000…+2000000000

4байти

Decimal

Приблизно 30 десяткових цифр. Можна вказати число цифр після десяткової крапки

.

12 байтів

Single

- 3,4E38 …-1,4 E-45 для негативних значень 1,4E-45 … 3,4E38 для позитивних значень

 

4 байти

Double

-1,7E308 … -4,9E-324 для негативних значень4,9E-324 … 1,7E308 для позитивних значень

 

8 байтів

Currency

Десяткові числа з фіксованою позицією коми. Можливі 15 цифр до коми й 4 після

8 байтів

 

Продовження таблиці 4.1

 

1

2

3

String

Є два види рядків: рядки фіксованої довжини мають до 216 символів. Рядки змінної довжини мають до 2 31 символів

10 байтів +1 байт на символ у звичайному кодуванні й 2 байти в кодуванні Unicode

Date

Дати змінюються в діапазоні від 1 січня 100 р. до 31 грудня 9999 р.

8 байтів

Object

Посилання на об'єкт (покажчик)

4 байти

Variant

Універсальний тип, значенням якого можуть бути дані кожного з перерахованих вище типів, об'єкти, значення NULL і значення помилок ERROR

Залежить від контексту, але не менш 16 байтів

 

Масиви

Найпростіший і найпоширеніший структурний тип - масив - упорядкована сукупність даних одного типу. Порядок на елементах масиву задається індексами його елементів. У VBA масиви можуть бути одномірними й багатомірними.

Синтаксис оголошення масивів розширений, - після ім’я змінної у круглих дужках вказується перелік розмірностей масиву:

{Dim | Private | Public | Static }<ім'я змінної> (<список розмірностей >)

[ As <ім'я типу>]

Динамічні масиви

Динамічні масиви VBA - це потужний засіб. Масив уважається динамічним , якщо при первісному оголошенні не вказується його розмірність, але вона може бути визначена й перевизначена надалі оператором ReDim. Розмірність визначається динамічно в тій процедурі й у той момент, коли вона стає фактично відомою. Зверніть увагу, у цьому операторі межі зміни індексів можна задати не тільки як константи, але і як вирази, залежні від змінних.

Якщо потім потрібно змінити межі або розмірність масиву, ви можете знову задати оператор перевизначення ReDim і почати новий цикл роботи з масивом. І ще одна "приємність" - можна зберегти усі раніше отримані елементи й розширити масив, додавши нові елементи. Для цього треба просто задати ключове слово Preserve при перевизначенні масиву. Динамічні масиви з успіхом можна застосовувати там, де необхідні динамічні структури даних, наприклад, списки, стеки, черги.

 

43