Считывание данных из гостевой книги

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

?я 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 NameLast NameOrganizationStreet AddressAddress (cont.)CityState/ProvinceZip/Postal CodeCountryE-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:

sergheev@mail.md

Рис.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, "&nbsp;") = 0 Then

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

intLen = InStr(InStr(1, strTemp, ">"), strTemp, "<") - intFirst

strFname = UCase(Mid(strTemp, intFirst, 1)) &_

LCase(Mid(strTemp, intFirst + 1, intLen - 1))

Else

strFname = ""

End If

 

Извлечь Last Name в нужном регистре

 

txtobj1.SkipLine

strTemp = txtobj1.ReadLine

If InStr(1, strTemp, "&nbsp;") = 0 Then

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

intLen = InStr(InStr(1, strTemp, ">"), strTemp, "<") - intFirst

strLname = UCase(Mid(strTemp, intFirst, 1)) & _

LCase(Mid(strTemp, intFirst + 1, intLen - 1))

Else

strLname = ""

End If

 

Извлечь Organization Name в любом регистре

 

txtobj1.SkipLine

txtobj1.SkipLine

txtobj1.SkipLine

strTemp = txtobj1.ReadLine

If InStr(1, strTemp, "&nbsp;") = 0 Then

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

intLen = InStr(InStr(1, strTemp, ">"), strTemp, "<") - intFirst

strCname = CleanText(Mid(strTemp, intFirst, intLen))

Else

strCname = ""

End If

 

Извлечь строки с первым и вторым адресами

 

txtobj1.SkipLine

strTemp = txtobj1.ReadLine

If InStr(1, strTemp, "&nbsp;") = 0 Then

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

intLen = InStr(InStr(1, strTemp, ">"), strTemp, "<") - intFirst

strSt1 = CleanText(Mid(strTemp, intFirst, intLen))

Else

strSt1 = ""

End If

txtobj1.SkipLine

strTemp = txtobj1.ReadLine

If InStr(1, strTemp, "&nbsp;") = 0 Then

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

intLen = InStr(InStr(1, strTemp, ">"), strTemp, "<") - intFirst

strSt2 = CleanText(Mid(strTemp, intFirst, intLen))

Else

strSt2 = ""

End If

 

Извлечь City, Region, Postal Code, and Country

&nbs