Особливості проектування додатків Access., MS Office, Програмні керівництва, статті

Однією з причин, чому Access завоював таку велику популярність у всьому світі як засіб розробки додатків баз даних, Є швидкість, з якою розробляються подібні програми в порівнянні з іншими засобами. Причому, це визнають і програмісти, які займаються розробкою баз даних за допомогою інших пакетів. У цій статті я розповім про деякі особливості Access, Які й сприяють такий «акселерації».


Форми і звіти.


Як відомо, основна частина програми бази складається з діалогових вікон, або просто форм. Зазвичай у кожної форми є своє джерело даних – таблиця або запит. Часто початківці розробники Access навіть не замислюються про це, а от програмістам, які використовують інші засоби розробки, не орієнтовані спеціально на бази даних, це добре відомо. Їм доводиться створювати підключення до джерела бази даних (зазвичай через ADO), чіпляти це джерело до форми, потім чіпляти до кожного контроль відповідних йому поле таблиці. В Access все це зроблено за замовчуванням, що і дозволяє значно прискорити проектування додатків.


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


Отже, заходимо на вкладку форми, тиснемо «створити в режимі конструктора». Викликаємо в конструкторі панель властивостей форми (подвійним клацанням по формі або тиснемо кнопку «Властивості»). Розгортаємо панель елементів, якщо її немає, то тиснемо кнопку «Панель елементів» – та, що з «молотками»). Тепер на панелі елементів вибираємо елемент, наприклад «Напис» і задаємо параметри елемента (у формі налаштувань) – шрифт, висоту шрифту, вирівнювання і т. д. Те ж саме робить з іншими елементами. В результаті отримуємо порожню форму, в якій задані користувальницькі параметри контролів. Щоб переконатися в цьому, закидаємо небудь котроля на форму, і дивимося, які в нього параметри – як видно, ті, які задавалися в налаштуваннях. Тепер, щоб ці параметри контролів були задані для всіх майбутніх форм, а не тільки для цієї, потрібно створену форму вказати як шаблон.


Спочатку збережемо її, наприклад під ім’ям «ФормаШаблон». Потім тиснемо Сервіс – Параметри – Форми і звіти і вказуємо в полі «Шаблон форми» ім’я нашого шаблону – «ФормаШаблон». Таким же чином можна створити шаблон налаштувань звіту, зберегти його і вказати в полі «Шаблон звіту».


Ці налаштування зберігаються тільки для поточного проекту бази даних. У новому проекті знову з’являться стандартні – тип «Звичайний». Щоб застосувати для користувача шаблон в новому проекті, імпортуємо його в проект і вкажемо його ім’я.
При створенні форм, часто доводиться вирівнювати елементи. Щоб справа пішла швидше, можна вирівнювати їх все відразу: виділяємо групу елементів (вікном або утримуючи Shift), потім правою кнопкою – і вибираємо стиль вирівнювання: по лівому краю, по правому і т. д. Такий спосіб зручний, коли потрібно зрушити групу контролів, які розкидані по формі – зрушуємо один «як треба», а решта вирівнюємо по ньому.


Запити.


В Access є відмінний майстер створення запитів. Мені особисто найбільше подобається, що запит можна редагувати в графічному режимі, що набагато наочніше, до того ж імовірність помилки в синтаксисі SQl зведена практично до мінімуму – адже пише майстер. Як правило, в 90% випадків його вистачає, руками доводиться писати тільки зовсім вже незрозумілі речі, та й ті зазвичай попередньо створюються в майстра.


Як працювати з майстром, думаю, немає потреби розповідати. Зупинюся лише на такому моменті: іноді доводиться прописувати рядок SQl в модулі форми. Очевидно, щоб уникнути помилок, а заодно прискорити процес створення, краще «наклацати» запит до майстра, перевірити його, потім перемкнутися в режим SQL, скопіювати отримані «кракозябри» в буфер і вставити в текст модуля. Такий спосіб дозволяє, навіть не розуміючи практично нічого в SQl, створювати досить складні запити, до того ж швидкість створення запитів на порядок вище, ніж вручну. Правда, синтаксис в VBA дещо відрізняється від того, що пише майстер в конструкторі. Ось деякі особливості:



замість «;» (крапка з комою) в VBA слід писати просто «,» (кома)


в конструкції WHERE для полів типу «дата» повинна бути дата в «буржуйському» форматі. SQL по іншому не зрозуміє. Тобто 22.02.04 повинно виглядати як 02/22/07. Для цього зручно використання функцію Format. Для поточної дати він повинен виглядати так: Format (Date (), “# MM / DD / YY #”)


Модулі.


Практично всі починали «творити» свої перші програми за допомогою спеціальних майстрів, а їх в Access не мало, на кожній вкладці вікна програми є свій майстер: майстер створення таблиць, майстер створення запитів, майстер створення форм, майстер створення звітів, майстер створення сторінок доступу до даних. Серед усієї цієї гвардії особливо виділяється «майстер створення програм» – макрос.


Часто початківці розробники Access не поспішають «розбиратися» з VBA, вважаючи за краще користуватися майстрами. Тим не менш, можна створювати досить складні програми … практично не розбираючись у програмуванні! І робиться це за допомогою макросів.


Макрос в Access являє собою структуру, що складається з однієї або декількох макрокоманд, які виконуються або послідовно, або в порядку, заданому певними умовами. За допомогою макросів можна виконати практично всі дії над об’єктами Access. Кожна макрокоманда має певне ім’я і, можливо, один або декілька аргументів, які задаються користувачем. Наприклад, при використанні макрокоманди ОткритьФорму (OpenForm) в якості аргументів необхідно задати, по крайней мере, ім’я відкривається форми і режим виведення її на екран.


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



Можливості макрокоманд обмежені в порівнянні з можливостями мови VBA, тому в ряді випадків без програмування на VBA не обійтися


Макроси можна використовувати практично скрізь, де застосовуються процедури VBA, проте процедури VBA, як правило, виконуються швидше


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


На відміну від процедур макроси при перетворенні програми в. Mde формат не компілюються і можуть редагуватися і навіть віддалятися.


Є ще одна причина, по якій початківцям розробникам варто придивитися до макросам: за допомогою макросів можна … вивчати VBA. Поясню на прикладі.


Припустимо, Ви хочете написати процедуру експорту запиту в Excel, і як водиться, не знаєте, як це зробити. Заходимо на вкладку Макроси, тиснемо «створити». В поле Макрокоманда вибираємо «ВивестіВФормате». В аргументах дії встановлюємо параметри: тип об’єкта – запит, ім’я об’єкта – (ім’я запиту), формат виводу – Microsoft Excel (*. xls), назва файлу – (наприклад D :/ Табліца.xls), автозавантаження – ні. Зберігаємо макрос. Тепер, щоб подивитися, як все це виглядає в VBA, виділяємо у вікні проекту макрос, вибираємо Сервіс – Макрос – Перетворити макроси і далі по діалогу. В результаті з’явиться модуль, в якому серед іншого буде:



DoCmd.OutputTo acQuery, “”, “MicrosoftExcelBiff8(*.xls)”, “”, False, “”, 0


Таким чином, можна створювати процедури що називається «по шматочках», вивчаючи заодно VBA.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*