лучшие книги по экономике
Главная страница

Главная

Замовити роботу

Последние поступления

Форум

Создай свою тему

Карта сайта

Обратная связь

Статьи партнёров


Замовити роботу
Книги по
алфавиту

Б
В
Г
Д
Е
Ж
З
И
К
Л
М
Н
О

Перспективні технологічні засоби оброблення інформації

Страницы [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ]
[ 16 ] [ 17 ] [ 18 ] [ 19 ] [ 20 ] [ 21 ] [ 22 ] [ 23 ] [ 24 ] [ 25 ] [ 26 ] [ 27 ] [ 28 ] [ 29 ] [ 30 ] [ 31 ] [ 32 ]
[ 33 ] [ 34 ] [ 35 ] [ 36 ] [ 37 ] [ 38 ] [ 39 ] [ 40 ] [ 41 ] [ 42 ] [ 43 ] [ 44 ] [ 45 ] [ 46 ] [ 47 ] [ 48 ] [ 49 ] [ 50 ]

Dim dbБД As Database
Const sШляхІмя As String = _
"C:\Program Files\Microsoft Office\Office\Samples\Борей.mdb"
If Dir (sШляхІмя) <> "" Then
Set dbБД = OpenDatabase (Name:=sШляхІмя, Options:=True, _
ReadOnly:=False)
End If
У цьому фрагменті оператор If разом із функцією Dir використовується для перевірки існування бази даних.
Метод OpenDatabase має чотири аргументи:

  • Name — символьний рядок з ім’ям існуючої бази даних. Якщо мережа це підтримує, цей рядок може містити мережевий шлях.
  • Options — для робочої області бази даних Jet може мати значення True або False. При значенні True інші користувачі не можуть відкрити цю базу даних, що дає змогу підвищити продук­тивність роботи (значення за умовчанням — False).
  • ReadOnly — також може мати значення True або False. Якщо True, то модифікації не дозволяються.
  • Connect — рядок, що містить додаткову інформацію, включаючи паролі.

Для закриття бази застосовується метод Close. Наприклад, dbБД.Close.
Після відкриття бази даних за допомогою набору записів (об’єкт Recordset) можна витягати, додавати, змінювати та вилучати окремі записи з одної таблиці або зв’язані записи з декількох таблиць. Для створення набору записів спочатку об’являється об’єктна змінна типу Recordset, а потім використовується метод OpenRecordset:
Dim recДоставка As Recordset
Dim recДоставка2 As Recordset
Dim recЗамовлено As Recordset
Dim sSQLЗамовлено As String
Set recДоставка = dbБД.OpenRecordset (Name:= «Доставка», _
Type:= dbOpenTable)
sSQLЗамовлено = "Select * From Замовлено " & _
" WHERE (Замовлено.КодТовару = 11)"
Set recЗамовлено = dbБД.OpenRecordset _
(Name:= sSQLЗамовлено, Type:= dbOpenDynaset)
Метод OpenRecordset має такі аргументи:

  • Name — єдиний обов’язковий аргумент. Він ідентифікує джерело записів. Це символьний рядок, що містить ім’я таблиці бази даних, ім’я запиту або оператор SQL.
  • Type визначає тип створюваного об’єкта Recordset. Для баз даних Jet він може мати значення dbOpenTable, dbOpenDynaset, dbOpenSnapshot, або dbOpenForwardOnly. Перше використовується для створення табличних наборів, друге — для створення динамічних наборів, третє — для створення статичних наборів. dbOpenForwardOnly дозволяється переглядати записи лише в одному напрямку (послідовний доступ).
  • Options визначає деякі характеристики нового набору записів. Наприклад, опція dbAppendOnly дає змогу додавати в кінець набору нові записи, але не дозволяє редагувати й вилучати існуючі.
  • LockEdit — визначає спосіб блокування записів, для запобігання одночасному оновленню даних різними користувачами.

Вибір типу набору записів залежить від операцій, які з ним потрібно проводити. Табличний набір (Table) використовується для доступу до записів окремої таблиці, що зберігається в MDB-файлі. Якщо для впорядкування записів використовуватимуться індекси, то пошук у табличному наборі виконуватиметься значно швидше, ніж у наборах інших типів.
Динамічний набір (Dynaset) містить не самі дані, а посилання на записи таблиць (первинні ключі), що зберігаються в MDB-файлі або зв’язані з ним. Він найбільш гнучкий в роботі і може використовуватися для доступу до записів, отриманих у результаті виконання запиту. За допомогою таких наборів можна витягати, додавати, змінювати та вилучати окремі записи як в окремій таблиці, так і в декількох відповідно до визначення запиту.
Статичні набори (Snapshot) відрізняються від динамічних тим, що вони містять не посилання на записи в таблицях, а копії записів. Такі набори можуть використовуватися лише для читання даних. Модифікація даних у таких наборах виконуватися не може. Для перегляду записів в одному напрямку статичні набори з послідовним доступом забезпечують найкращу продуктивність.
Переміщення по набору записів зв’язане з поняттям покажчика поточного запису. У кожний конкретний момент існування набору покажчик поточного запису вказує на один із записів, який і є поточним. При відкритті об’єкта Recordset поточним є перший запис. З положенням покажчика поточного запису зв’я­зані значення низки властивостей об’єкта Recordset.
Якщо властивість «початок файла» (BOF) має значення True, то покажчик поточного запису знаходиться на початку набору записів перед першим записом. Аналогічно, якщо властивість «кінець файла» (EOF) має значення True, то покажчик поточного запису знаходиться в кінці набору записів за останнім записом. Якщо обидві властивості — і BOF, і EOF — мають значення True, то в наборі немає ніяких записів.
Властивість AbsolutePosition використовується для встановлення та визначення номера поточного запису динамічного або статичного набору записів (при застосуванні до табличного набору виникне помилка). Ця властивість відраховується від нуля (тобто, для першого запису ця властивість має значення 0). При додаванні та вилученні записів значення властивості Absolute­Position для конкретного запису може змінюватися.
Кожний запис у наборі Recordset має унікальну закладку, яка може бути використана для того, щоб зробити цей запис поточним. Щоб отримати закладку запису, потрібно зробити цей запис поточним і присвоїти значення властивості Bookmark змінній типу Variant. Якщо потім поточним стане інший запис, завжди можна повернутися до даного запису, надавши властивості Bookmark значення відповідної змінної. Закладки підтримуються тими об’єк­тами Recordset, які основані на таблицях баз даних Jet. Набори записів, що представляють таблиці інших типів, можуть не підтримувати закладки. Чи підтримує набір записів закладки, можна визначити за допомогою властивості Bookmarkable (при підтримці вона має значення True). Закладки не підтримуються статичними наборами записів, створеними з параметром dbForwardOnly.
Для визначення кількості записів в об’єкті Recordset використовується властивість RecordCount. Для табличного набору записів ця властивість точно відображає кількість записів у таблиці і відразу оновлюється при вилученні чи додаванні записів. Для динамічних і статичних наборів записів значення властивості RecordCount дорівнює кількості записів у наборі, до яких було реалізовано доступ. Щоб отримати фактичну кількість записів, у таких наборах потрібно спочатку змістити покажчик поточного запису на останній запис, а вже потім використовувати RecordCount.
Для переміщення по записах, тобто для зміни положення покажчика поточного запису, застосовуються методи групи Move.
Методи MoveFirst і MoveLast роблять поточним перший та останній запис, відповідно.
Методи MoveNext і MovePrevous зміщують положення покажчика поточного запису відповідно на наступний і попередній запис.
Метод Move зміщує положення покажчика поточного запису на певну кількість відносно поточного запису або закладки. Метод має два аргументи. Перший є обов’язковим і має тип Long, тобто він може бути додатним чи від’ємним цілим числом. Він вказує, на яку кількість записів (уперед чи назад) повинен зміститися покажчик поточного запису. Другий (необов’язковий) є закладкою, що вказує місце, з якого потрібно рухатись. Якщо він не заданий, то рух починається з поточного запису. Приклади використання методів групи Move наведено у такому фрагменті:
vЗакладка1 = recДоставка.Bookmark ’ запам’ятати
’ місцерозташування
recЗамовлено.MoveLast ’ зміститися на останній запис, щоб
‘= можна було ‘визначити кількість записів
lКілЗаписів = recДоставка.RecordCount
recЗамовлено.Bookmark = vЗакладка1 ’ повернутися до закладки
recЗамовлено.Move –7                            ’ на 7 записів назад
recЗамовлено.Move +5                            ’ на 5 записів вперед
recЗамовлено.MoveFirst                          ’ на перший запис
recЗамовлено.Bookmark = vЗакладка1 ’ повернутися до закладки
recЗамовлено.MoveNext                          ’ на наступний запис
recЗамовлено.MovePrevous                     ’ на попередній запис
Для зчитування значень полів поточного запису можна застосовувати будь-який з трьох способів посилання на об’єкт усе­редині колекції, розглянутих у темі 1. «Об’єктно-орієнтований підхід до розроблення програмних засобів», звертаючись до сімейства Fields, відповідного набору записів. Варто наголосити, що нумерація об’єктів у сімействі Fields починається з нуля.
Модифікація запису здійснюється за допомогою таких дій: викликається метод Edit (наприклад, recЗамовлено.Edit), поля запису заповнюються відповідними даними і після цього викликається метод Update (наприклад, recЗамовлено.Update). Якщо метод Update викликається без попереднього виклику методу Edit , то виникає помилка.
Для додавання до набору нового запису використовується метод AddNew (наприклад, recЗамовлено.AddNew). Запис фізично не буде збережено у базі даних, доки не буде викликано метод Update.
Для визначення, чи викликалися методи Edit або AddNew, можна користуватися властивістю EditMode. Якщо її значення збігається зі значенням константи dbEditNone, то це означає, що поточ­ного редагування не було. Якщо її значення збігається зі значенням константи dbEditProgress, то це означає, що було викликано метод Edit і поточний запис знаходиться у буфері редагування.
І нарешті, якщо її значення збігається зі значенням константи dbEditAdd, то це означає, що було викликано метод AddNew і поточний запис, що знаходиться у буфері редагування, — це новий запис, якій ще було збережено у базі даних.
Для скасування дій методів Edit чи AddNew, щоб зміни не були занесені у базу даних, використовується метод CancelUpdate.


  Література до теми

Основна
1. Галузинський Г. П., Гордієнко І. В. Сучасні технологічні засоби обробки інформації: Навч. посібник. — К.: КНЕУ, 1998. — С. 73—90.
2. Програма та методичні вказівки з курсу «Сучасні технологічні засоби обробки інформації» для магістрів спеціальності «Інформаційні системи в менеджменті» / Уклад.: І. В. Гордієнко, Г. П. Галузинський. — К.: КНЕУ, 1997. — С. 6—20.
Допоміжна
1. Воронцов С. И., Храмов И. А. Microsoft Visual Basic 5.0: ActiveX, DLL, Internet и другие …— М.: СОЛОН, 1998. — С. 33—67.
2. Карпов Б. Visual Basic 6: cпециальный справочник. — СПб.: Питер, 2000. — С. 269—300.

Страницы [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ]
[ 16 ] [ 17 ] [ 18 ] [ 19 ] [ 20 ] [ 21 ] [ 22 ] [ 23 ] [ 24 ] [ 25 ] [ 26 ] [ 27 ] [ 28 ] [ 29 ] [ 30 ] [ 31 ] [ 32 ]
[ 33 ] [ 34 ] [ 35 ] [ 36 ] [ 37 ] [ 38 ] [ 39 ] [ 40 ] [ 41 ] [ 42 ] [ 43 ] [ 44 ] [ 45 ] [ 46 ] [ 47 ] [ 48 ] [ 49 ] [ 50 ]


ВНИМАНИЕ! Содержимое сайта предназначено исключительно для ознакомления, без целей коммерческого использования. Все права принадлежат их законным правообладателям. Любое использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие или полученные в связи с использованием содержимого сайта.
© 2007-2020 BPK Group.