ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Зчитування даних з гостьової книги
         

     

    Інформатика, програмування
    Набір процедур VBA - Зчитування даних з гостьової книги frontpage 2000 в таблицю access 2000.

    Теоретичне введення

    Секрет, як стати професійним розробником програм на Visual Basic, полягає в тому, щоб писати програми, що вимагають від нас застосування найрізноманітніших можливостей Visual Basic. Серед них: досконале знання й здатність на практиці застосовувати стандартні засоби керування панеллю інструментів і компоненти ActiveX; уміння правильно встановлювати й маніпулювати властивостями, функціями й подіями об'єкта; здатність писати ясний і чіткий програмний код з можливістю повторного використання деяких сегментів програми надалі; вміння створювати наочний і ефективний інтерфейс користувача.

    Для роботи над цією курсової мені треба було вивчити програму FrontPage, а також вивчити деякі можливості Visual Basic в додатку Access.

    Microsoft FrontPage 2000 включає всі необхідні засоби для ефективної розробки та експлуатації веб-сайтів. Користувачі можуть легко створювати якісно оформлені веб-сторінки, вибираючи найбільш зручний спосіб розробки. FrontPage 2000 дозволяє надавати закінчений і професійний вигляд веб-сторінок, імпортувати і редагувати код HTML будь-яким з існуючих способів і застосовувати новітні веб-технології. За допомогою FrontPage 2000 можна легко виконувати оновлення веб-сторінок, а також користуватися гнучкими засобами для керування вузлами Інтернету та інтрамережі. FrontPage 2000 дозволяє створювати і підтримувати вузли, стежити за їх роботою та проводити періодичні оновлення. Робочі групи і команди фахівців можуть використовувати веб-сайти для спільної роботи, а компанії - здійснювати розгортання та адміністрування FrontPage 2000 в масштабах підприємства. FrontPage 2000 допомагає заощадити час користувачам пакету Microsoft Office. Цей продукт працює за принципом додатків Microsoft Office, що спрощують його освоєння.

    Моя задача полягала в тому, щоб в програмі FrontPage створити гостьову книгу. Потім у програмі Access створити однотаблічную базу даних і в модулі Visual Basic набрати і налагодити код програм, які б зчитувати дані з гостьової книги в базу даних.

    Для того щоб набрати і налагодити програму необхідно ознайомитися з елементами, що складають основу програмування на Visual Basic, тобто з командами, операторами, функціями та ключовими словами.

    Оператори та функції

    Оператор Sub оголошує ім'я, параметри і тіло процедури.

    Оператор End Sub закінчує процедуру.

    Оператор Dim оголошує змінні і виділяє пам'ять під них.

    Оператор Set пов'язує посилання на об'єкт зі змінною або властивістю.

    Цикл Do Until ... Loop повторює блок команд, поки умова не стане вірним.

    Цикл If ... Then ... Else виконує команду (інструкцію) або блок команд в залежності від значення виразу.

    Оператор On ... GoTo передає на одну з декількох певних рядків, в залежності від значення виразу.

    Функція InStr повертає позицію першого знайденої підстроювання в рядку.

    Функція Ucase повертає рядок, була перетворена у верхній регістр.

    Оператор Mid заміщає певну кількість символів у рядку на символи з іншого рядка.

    Функція Mid повертає певну кількість символів з певної позиції рядка.

    Функція Lcase повертає рядок в нижньому регістрі.

    Функція Left повертає певну кількість символів з початку рядка.

    Оператор With виконує послідовність команд для конкретного об'єкта або змінної спеціалізованого типу.

    Функція Resume продовжує виконання програми після завершення процедури обробника помилок.

    Оператор Print записує відформатовані дані в файл.

    Оператор Function оголошує ім'я, аргументів та код підпрограми, що повертає значення (функції).

    Змінні

    Отже, мінлива являє собою тимчасове сховище для даних у нашій програмі. Хто вчився інформатики в школі, напевно, пам'ятає, що "перемінні - це такі скриньки в яких міститься інформація ...". У тексті програми ми можемо використовувати скільки завгодно змінних. Особлива користь від них - це те, що ми присвоюємо за потрібне даними короткий і легко запам'ятовується ідентифікатор. Ярлик, так би мовити. Якщо ми призначимо змінної UserName значення "Іванов Петро Іванович", то надалі використовувати вісім символів легше, ніж вісімнадцять! Змінні можуть містити практично будь-яку інформацію.

    Щоб грамотно використовувати змінну, потрібно її спочатку оголосити, зарезервувати під неї пам'ять. Для цього використовуються такі ключові слова: Dim, Private, Public, Static, Global.

    Змінні можна оголошувати на рівні модуля і на рівні процедури. Під рівнем модуля мається на увазі частина форми General і стандартний модуль, а під рівнем мається на увазі процедури Sub, Function і т.д.

    Пояснення використання Static. Описує змінні тільки на рівні процедури. Змінна, описана на рівні процедури, "живе" тільки в межах цієї процедури протягом роботи програми.

    Пояснення використання Dim. Описує змінні як на рівні модуля так і на рівні процедури. Змінна, описана на рівні процедури, живе тільки в межах цієї процедури і припиняє роботу після закінчення процедури. Її ми частіше за все і застосовуємо як лічильник, тому що він і потрібен то нам за все в даній процедурі. Змінна, описана на рівні модуля, доступна для всіх процедур даного модуля. Тобто якщо нам потрібна змінна, яку бачать всі функції та процедури, тo її треба оголосити зі словом Dim на рівні модуля.

    Пояснення використання Public. Описує змінні на рівні модуля. Таким чином мінлива стає глобальною, але на рівні форми і доступна всім іншим модулям

    Звичайно, при переході в іншу форму мінлива буде порожній, невідомою для другої форми! Щоб уникнути цього потрібно оголосити змінну у стандартному модулі зі словом Public або Global. Тоді мінлива буде доступна і відома кожної формі.

    Пояснення використання Private. Описує змінні як на рівні модуля так і на рівні процедури. Змінна, описана на рівні процедури, живе тільки в межах цієї процедури. Змінна, описана на рівні модуля, доступна лише модуля, в якому вона оголошена.

    Оголошення всіх змінних вважається доброю звичкою. На допомогу забудькуватим і незабивчівим є інструкція Option Explicit. Поміщати цю інструкцію потрібно на рівні модуля і потім вона перевіряє кожну змінну оголошена чи вона чи ні? Якщо ні - вискакує помилка. Розмір відводиться пам'яті під змінну залежить від виду цієї змінної. Основні види змінних вказані в Таблиці 1.

    Таблиця1 Основні види змінних

    Тип даних

    Розмір

    Діапазон значень

    Integer (Ціле)

    2 байти

    від -32 768 до 32 767

    Long Integer (довге ціле)

    4 байти

    від -2 147 483 648 до 2 147 483 647

    Single - precision Floating point (одинарний точності із плаваючою десяткового точкою)

    4 байтa

    від-3.402823E38 до 3.402823E38

    Double - precision Floating point (Подвійний точності із плаваючою десяткового точкою)

    8 байт

    від-1.79769313486232D308 до 1.79769313486232D308

    Currency (Грошові одиниці)

    8 байт

    від -922337203685477.5808 до 922337203685477.5807

    String (Строка)

    1 байт на символ

    від 0 до 65 535 символів

    Boolean (Логічний)

    2 байт

    True (Істина) або False (Брехня)

    Date (Дата)

    8 байт

    від January (січень) 1, 100, до December (грудень) 31, 9999

    Variant (Варіант)

    16 байт (для чисел); 22 байт на символ (для рядків)

    для всіх типів даних

    Опис розробленої програми, області застосування, методи використання.

    Набір процедур, включених у цю курсову, був спеціально створений для сайту THE TECH REPUBLIC (www.techrepublic.com).

    Цей набір процедур розроблений для зчитування даних з Гостьової книги, створеної в додатку FrontPage, в однотаблічную базу даних, створену в програмі Access.

    При роботі з Пансіон книгою дуже зручно використовувати цей набір процедур.

    Зараз дуже широко використовується Інтернет. Існує величезна кількість сайтів, на яких дуже часто можна зустріти сторінку з Пансіон книгою. Там можна не тільки просто зареєструватися, заповнивши необхідні форми, але і залишити свій коментарі з того чи іншого питання, підписатися на всілякі електронні журнали і газети і багато іншого.

    Розглянутий набір процедур працює з простою Пансіон книгою. Побачити цю сторінку і зареєструватися ви можете за адресою -

    http:// univers/college/students/emel/main.htm

    Ця Гостьова книга була створена в програмі FrontPage. Це - новий додаток розширеного пакету Microsoft Office2000. Зараз у цьому додатку створювати веб-сайти стало ще простіше. Програми пакету Office 2000 і FrontPage 2000 використовують загальні панелі інструментів, теми, меню, а також деякі інструментальні засоби, такі як фонова перевірка орфографії і "Формат за зразком" (Format Painter). FrontPage 2000 також спрощує використання форм і баз даних на веб-сайтах.

    FrontPage 2000 забезпечує розробників веб-сайтів простими й потужними інструментальними засобами. FrontPage не змінює імпортований код HTML і дає користувачам можливість самостійно налаштовувати його форматування. Працюючи в режимі редагування HTML, користувачі можуть прискорити процес створення сторінок, використовуючи кнопки і елементи меню.

    FrontPage 2000 полегшує спільну роботу. Користувачі додатків пакета Microsoft Office можуть зберігати документи безпосередньо на веб-сайтах, створених за допомогою FrontPage, а система резервування документів і звіти за проектом допомагають здійснювати спільну роботу над веб-сторінками.

    FrontPage 2000 простий в обслуговуванні та експлуатації. У ньому використовується та ж програма установки, що і в додатках Microsoft Office. Ця програма дозволяє проводити встановлення на вимогу, запускати програми з сервера і відновлювати програмне забезпечення.

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

    Надалі, використовуючи цей набір процедур, можна буде постійно оновлювати дані в цій базі даних.

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

    Система позначень, опис змінних, аргументів функцій і процедур і т.д.

    Для VBA існують угоди про найменування Реддік (RVBA), які надають вказівки з присвоєння імен об'єктів в мові Microsoft Visual Basic for Applications (VBA). Наявність угод необхідно для будь-якого програмного проекту. При використанні угод ім'я об'єкта несе в собі інформацію про його призначення. Пропоновані угоди стандартизують позначення в сфері програмування.

    Мова VBA розроблений для взаємодії з базовим додатком, наприклад з MS Access, Visual Basic, MS Excel, MS Project. Угоди RVBA застосовні до всіх розробок на мові VBA, незалежно від базового програми.

    Угоди RVBA засновані на Угорській нотації. Мета цієї нотації - лаконічне та ефективне представлення інформації про об'єкт у його імені.

    Єдиною обов'язковою частиною імені об'єкта є ознака - короткий набір символів, звичайно мнемонічний, який вказує тип об'єкта. Ознака повинен складатися з рядкових букв і зазвичай вибирається зі стандартного списку ознак, зазначеного в Таблиці 2

    таблиця2 Ознаки для змінних VBA

    Ознака

    Типи об'єкта

    Byt

    Byte

    F

    Boolean

    Int

    Integer

    Sng

    Single

    Dbl

    Double

    Cur

    Currency

    Dtm

    Date

    Obj

    Object

    Str

    String

    Stf

    String (фіксованої довжини)

    Var

    Variant

    Lng

    Long

    У цьому наборі процедур використовується Угорська нотація. Всі змінні і об'єкти мають у своєму імені ознака, яка відповідає типу цих змінних і об'єктів.

    Набір розглянутих процедур складається з двох частин: процедури LookForNameStart та процедури ProcessContact. Перед написанням коду процедур, оператор Dim оголошує змінні txtobj1 як об'єкт, що має доступ до файлової системи комп'ютера (Scripting) і зчитує текст файлу потоком (FileStream); strTemp як строкову змінну та rst1 як вбудований об'єкт (Recordset) ADO бази даних (див. Ріс7 ) і виділяє під ці змінні частину пам'яті. Оголошення змінних до написання самого коду процедур необхідно для того, щоб ці змінні були доступні більш ніж однієї процедурою.

    Оператор Sub оголошує тіло і ім'я процедури LookForNameStart.

    Оператор Dim резервує частину пам'яті під змінну fs, яка буде мати доступ до системного файлу.

    Оператор Set пов'язує посилання на новий об'єкт, що має доступ до системного файлу зі змінною fs. Також цей оператор пов'язує посилання на новий об'єкт fs, в якому відкривається файл Myformrstl.htm (См.Ріс.12) для читання (за допомогою оператора Open) з диска F: на локальному комп'ютері з об'ектомt xtobj1. Він також пов'язує rst1 з новим вбудованим об'єктом ADO бази даних. Потім в об'єкті rst1 відкривається таблиця "tblContacts" в поточному проекті CurrentProject.Connection.

    Цикл Do Until ... Loop виконується до тих пір, поки не буде знайдена рядок, який знаходиться прямо перед рядком "X_FirstName". Для цього використовується ще один цикл If ... Then ... Else ... End If, який перевіряє чи є що читається рядок txtobj1.ReadLine файлу Myformrstl.htm рядком "X_FirstName". Це здійснюється за допомогою функції InStr, яка повертає позицію шуканої рядка "X_FirstName". І якщо вона є такою, то виконується друга процедура ProcessContact нашого проекту, якщо ж ні - то триває цикл Do ... Loop.

    Для очищення ресурсів використовується метод Close для об'єктів txtobj1і rst1 і оператор Set, який посилається на порожні об'єкти txtobj1 і rst1.

    Для заповнення таблиці "tblContacts" в базі даних була створена процедура ProcessContact.

    Оператор On ... GoTo у разі помилки змушує перестрибувати програму на рядок MyErrorTrap.

    Оператор Dim оголошує змінні strFname, strLname, strCName, strSt1, strSt2, strCity, strRegion, strPostalCode, strCountry, strEmailAddr як рядкові змінні; intFirst і intLen як числові змінні і cmd1 як вбудований об'єкт ADO бази банних.

    За допомогою циклу If ... Then ... Else ... End If у цій процедурі перевіряються рядки з введеними даними з Гостьової книги, які збережені у файлі Myformrstl.htm. Цикл If ... Then ... Else ... End If за допомогою функції InStr перевіряє наявність у рядку спеціального знака "" і якщо його немає, то привласнює змінної intFirst номер позиції символу + 1, з якого буде проводитися запис. Потім змінної intLen присвоюється значення довжини запису, тобто скільки символів буде записано - 1. Змінним strFName і strLName присвоюються значення за допомогою функцій Ucase, Lcase і Mid символу з великої літери під номером, який визначено змінної intFirst рядка strTemp і символів, з номерами, наступними за intFirst з тієї ж рядки, довжиною intLen - 1. Якщо умова не виконується то рядок залишається порожньою.

    За таким же принципом змінним strCName, strSt1 і strSt2 присвоюються значення, але при цьому замість функцій Ucase, Lcase використовується функція CleanText, яка створена в цьому проекті. Вона прибирає всі зайві символи з рядка.

    У присвоєння змінним strCity, strRegion, strPostalCode, strCountry, strEmailAddr використовуються практично ті ж способи, але замість циклу If ... Then ... Else ... End If застосовується спрощений цикл, що записується в один рядок If ... Then. І він довіряв лише наявність спецсимволів в черговий рядку, і якщо вони є то Ці змінні залишаються порожніми. Також тут використовується тільки функція Mid і функції Left для strRegion, яка повертає певну кількість символів з початку рядка.

    Метод SkipLine об'єкта txtobj1 пропускає рядок.

    Для налагодження програми використовується об'єкт Debug з властивістю Print.

    Результати роботи процедур з'являються у вікні налагодження.

    Далі все лічені дані будуть послідовно вписана в таблицю tblContacts нашої бази даних.

    Процедура перевіряє порожні чи ні змінні strFName, strLName і strEmailAddr якщо ні, то вона використовує оператор With для об'єкта rst1 для заповнення полів таблиці, перевіряючи наявність запису в кожній рядковий змінної нашої процедури.

    Мітка MyExit в нашій процедурі означає, що після виконання циклу процедура закінчує роботу.

    Кожна стандартна помилка має свій номер. При помилку - 214721887 об'єкт cmd1 посилається на новий вбудований об'єкт ADO бази даних і за допомогою оператора With зв'язується з поточним проектом, змінює деякі властивості цього об'єкта, виконує їх і за оператором With слід функція відновлення Resume, тобто запускається з самого початку Sub LookForNameStart. Якщо ж номер помилки іншого, то в вікні налагодження з'являється номер та опис цієї помилки і програма повертається до мітки MyExit.

    Функція CleanText прибирає спеціальні символи за допомогою функції Replace.

    Екранні копії етапів розробки з роз'ясненнями кожного зображення.

    Для виконання цього проекту необхідно було встановити додаток MSFrontPage, який знаходиться в пакеті MSOffice2000. Його інсталяційний пакет знаходиться на комп'ютері User7 нашої локальної мережі. При запуску знайдіть програму ми вибираємо "add or remove Features" (див. Рис.1)

    Рис.1

    Потім ми вибрали FrontPage в списку і дали команду на встановлення. (См.Ріс.2 і Рис.3)

    За допомогою FrontPage Wizard я створив Гостьової книги (см.Ріс.4), яку потім встановили на сервер нашої локальної мережі. Отримавши файл з даними, отриманими через цю Гостьову книгу, я приступив до виконання другої частини проекту: створення однотаблічной бази даних і написання коду процедур.

    Частиною будь-якого проекту VBA є набір посилань на бібліотеку типів всіх компонентів IDE, які застосовуються в даному проекті. Прості проекти містять невелику кількість посилань, які застосовуються VBA, інтерфейсом автоматизації і базовим додатком. Посиланнями можна керувати інтерактивно посредствам діалогового вікна Посилання (См.Ріс.5) або програмним шляхом, посредствам Rferences класу VBProject.

    Рис.2

    Рис.3

    Guest Book

    Welcome to my first web page

    Please enter your private information:

    First Name

    Last Name

    Organization

    Street Address

    Address (cont.)

    City

    State/Province

    Zip/Postal Code

    Country

    E-mail

     

    Bottom of Form

    Рис.4

    Потім я створив однотаблічную базу даних і підключив кілька бібліотек, необхідних для роботи проекту. (Див. Рис.5 і Рис.6)

    Наступний етап розробки - написання коду (См.Ріс.7) Потім налагодження процедур.

    Так як у творців цього набору процедур, мабуть, була дещо інша Гостьова книга, то мені довелося внести деякі зміни в код процедур: поміняти адресу файлу, з якого зчитуються дані, змінити ім'я першого рядка цього файлу і скасувати кілька команд - "пропустити рядок" (Див. Рис.7 - 11).

    Як показано на малюнку 8 програма не працювала, тому що не знаходив необхідний файл. При цьому з'являється діалогове вікно з зазначенням номера помилки і її описом (См.Ріс.9)

    Рис.5

    Рис.6

    Рис.7

    Рис.8

    Рис.9

    Рис.10

    Рис.11

    X_FirstName:

    Sasha

    X_LastName:

    Sergheev

    X_Organization:

    College

    X_WorkAddress:

    A Russso 1

    X_Address2:

    A Russo 1

    X_City:

    Chishinev

    X_State:

    Moldova

    X_ZipCode:

    22222222

    X_Country:

    Moldova

    X_Email:

    [email protected]

    Рис.12

    Тексти програм у вигляді текстового файлу і опис їх підключення до системи MSOffice

    'Оголосіть змінні глобально, так щоб вони були доступні більше ніж однієї' процедурою;

    'Txtobj1 та об'єкти fs вимагають посилання на бібліотеку Microsoft Scripting RunTime

    Dim txtobj1 As Scripting.TextStream

    Dim strTemp As String

    Dim rst1 As ADODB.Recordset

    Sub LookForNameStart ()

    Dim fs As Scripting.FileSystemObject

    'Формуйте посилання до системи файлу, і використовуйте це, щоб "відкрити текстовий' об'єкт, заснований

    'на локальному файлі, що містить регістр Гостьової книги

    Set fs = New Scripting.FileSystemObject

    Set txtobj1 = fs.OpenTextFile ( "F: formrslt.htm", ForReading)

    'Відкрийте recordset на tblContacts таблиці

    Set rst1 = New ADODB.Recordset

    rst1.Open "tblContacts", CurrentProject.Connection, adOpenKeyset, _ adLockOptimistic

    'Пройти цикл через текстовий об'єкт для знаходження лінії якраз' перед 'FirstName полем

    Do Until txtobj1.AtEndOfStream

    strTemp = txtobj1.ReadLine

    If InStr (1, strTemp, "X_FirstName") 0 Then

    ProcessContact

    End If

    Loop

    'Очистити ресурси

    rst1.Close

    Set rst1 = Nothing

    txtobj1.Close

    Set txtobj1 = Nothing

    Set fs = Nothing

    End Sub

    Sub ProcessContact ()

    On Error GoTo MyErrorTrap

    Dim strFname As String

    Dim strLname As String

    Dim strCname As String

    Dim strSt1 As String

    Dim strSt2 As String

    Dim strCity As String

    Dim strRegion As String

    Dim strPostalCode As String

    Dim strCountry As String

    Dim strEmailAddr As String

    Dim intFirst As Integer

    Dim intLen As Integer

    Dim cmd1 As ADODB.Command

    'Витягти First Name в потрібному регістрі

    strTemp = txtobj1.ReadLine

    If InStr (1, strTemp, "") = 0 Then

    intFirst = InStr (1, strTemp, ">") + 1

    intLen = InStr (InStr (1, strTemp, ">"), strTemp, "") + 1

    intLen = InStr (InStr (1, strTemp, ">"), strTemp, "") + 1

    intLen = InStr (InStr (1, strTemp, ">"), strTemp, "") + 1

    intLen = InStr (InStr (1, strTemp, ">"), strTemp, "") + 1

    intLen = InStr (InStr (1, strTemp, ">"), strTemp, "") + 1

    intLen = InStr (InStr (1, strTemp, ">"), strTemp, "") + 1

    intLen = InStr (InStr (1, strTemp, ">"), strTemp, "") + 1

    intLen = InStr (InStr (1, strTemp, ">"), strTemp, "") + 1

    intLen = InStr (InStr (1, strTemp, ">"), strTemp, "") + 1

    intLen = InStr (InStr (1, strTemp, ">"), strTemp, "

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status