Заключение
Компьютеризация радикально изменила ход развития туристических компаний. При правильном применении технологий не только повышается производительность труда работников, но и оказывается влияние на размер прибыли фирмы. Было установлено, что сотрудничество между менеджерами и профессиональными программистами становится реальным стимулом к правильному использованию существующих программно-информационных систем. Поэтому программное обеспечение должно применяться с учетом всех специфических факторов компании. Естественно, нет ничего удивительного в том, что компьютерная система, неприемлемая для одной компании, может эффективно использоваться другой.
Чтобы использовать полностью компьютерный потенциал, все большее количество руководителей организаций считает необходимым дополнять штат менеджеров специалистами в области программного обеспечения. Несомненно, возможности компьютера когда-нибудь устранят потребность в большом штате. Но сможет ли компьютер когда-либо оценить стратегические возможности или принимать решения — неизвестно. Наиболее важным фактором при этом является гибкость приспособления компьютерных систем к потребностям менеджмента.
В данной научно-исследовательской работе определены и изучены источники по созданию базы данных туристического предприятия. В отчете приведен текст программного кода в Visual Basic (MS Access) автоматической рассылки электронной почты по адресам клиентам неоплативших вовремя заказ. Для составления работающей программы по получению и отправки сообщений по электронной почте из базы данных необходимо разработать модуль почтовой программы с интерфейсом командной строки.
Новацией в работе является подготовка стандартной базы данных MS Access для автоматической рассылки электронной почты по адресам клиентов, заказавших туры и ее автоматического обновления по результатам полученных ответных сообщений, что дает возможность небольшим турфирмам обойтись без дорогостоящего Интернет-интерфейса к своим информационным базам данных.
ЛИТЕРАТУРА Ефимова О.В., Моисеева М.В., Ю.А. Шафрин Практикум по компьютерной технологии. Примеры и упражнения. Пособие по курсу «Информатика и вычислительная техника» - Москва: ABF,1997
Горячев А., Шафрин Ю. Практикум по информационным технологиям. М.: Лаборатория базовых знаний, 2001
Морозов М.А., Морозова Н.С. Информационные технологии в социально-культурном сервисе и туризма. Оргтехника. Москва: ACADEMA. 2002.
Золотова С.И. Практикум по Access. М.: ФИНАНСЫ И СТАТИСТИКА. 2000.
Сигел Ч. Изучи сам Access 97. ПОПУРРИ. Минск 1998.
Приложение 1 Схема базы данных
Приложение 2 Модуль рассылки электронной почты из MS Access
Процедура Email() рассылает письма, параметры которых указаны в записях таблицы eLetters: Имя поля
| Тип данных
| Описание
| eLetterID
| Счетчик
|
| Recipient
| Текстовый
| Адрес получателя
| CopyTO
| Текстовый
| Адрес для отсылки копии
| Subject
| Текстовый
| Тема письма
| Body
| Поле MEMO
| Текст письма
| AttachedFileName
| Текстовый
| Полное имя присоединенного файла
| Option Compare Database Option Explicit
'Данный модуль рассылает письма, выбирая содержание и реквизиты письма из таблицы eLetters 'Основная процедура - Email() Она формирует файл sendmail.bat и при подтверждении пользователя запускает его '(с) 2001 Юрий
'Константы, конфигурирующие программу blat.exe Public Const PathToBlat As String = "C:Blat" Public Const PathToEmailFile As String = "C:mail" Public Const ServerName As String = " ИмяПочтовогоСервера " Public Const UserName As String = " Логин "
'Таблицы кодировок Public Const S_WIN = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯабвгдеёжзийклмнопрстуфхцчшщьыъэюя" Public Const S_KOI8R = "бвчздеiцъйклмнопртуфхжигюыэшщяьасБВЧЗДЕЈЦЪЙКЛМНОПРТУФХЖИГЮЫЭШЩЯЬАС" Public Const S_DOS866 = "ЂЃ‚ѓ"…р†‡?‰Љ"ЊЌЋЏђ""""•--�™њ"љќћџ ЎўЈ¤Ґс¦§Ё©Є"¬®Їабвгдежзиймлкноп" Public Const S_ISO88595 = "°±ІіґµЎ¶·ё№є"јЅѕїАБВГДЕЖЗИЙМЛКНОПРСТУФХсЦЧШЩЪЫЬЭЮЯабвгдежзиймлкноп"
'Процерура рассылки писем из таблицы. Главная процедура модуля Sub Email()
Dim rst As DAO.Recordset Dim n As Long Dim strToFile, FileName As String
'Убиваем старый командный файлы
On Error Resume Next Kill (PathToBlat & "sendmail.bat") Kill PathToEmailFile & "Body*.txt" On Error Goto 0
'Создаем bat-файл n = FreeFile FileName = PathToBlat & "sendmail.bat" n = FreeFile Open FileName For Output As #n strToFile = "blat.exe -install " & ServerName & " " & UserName & vbCrLf Print #n, , strToFile
Set rst = CurrentDb.OpenRecordset("SELECT eLetterID FROM eLetters") If Not rst.EOF Then
rst.MoveLast rst.MoveFirst
End If Do While Not rst.EOF
strToFile = StringForBat(rst!eLetterID) 'Строка для одного письма Print #n, , strToFile rst.MoveNext
Loop rst.Close
Close #n
If MsgBox("bat-файл для отсылки писем создан", vbQuestion + vbYesNo + vbDefaultButton2, "") = vbYes Then Call Shell(FileName, vbHide)
End Sub
Function StringForBat(ByVal eLetterID As Long) As String
'Создается командный файл и запускается Dim Recipient, Subject, body, CopyTO, AttachedFileName, FileName, strToFile As String Dim rst As DAO.Recordset Dim n As Long
'Параметры письма Set rst = CurrentDb.OpenRecordset("SELECT * FROM eLetters WHERE eLetterID=" & eLetterID) Recipient = rst!Recipient CopyTO = rst!CopyTO Subject = rst!Subject body = CODE_TO_CODE(rst!body) AttachedFileName = rst!AttachedFileName rst.Close
'Создаем txt-файл для тела сообщения n = FreeFile FileName=PathToEmailFile & "Body" & EletterID & ".txt"
Open FileName For Output As #n Print #n, Spc(0), Trim(body) Close #n
StringForBat = "blat.exe " & chr(34) & FileName & chr(34) & " -t " & Recipient If Not (CopyTO = "") Then StringForBat = StringForBat & " -c " & CopyTO If Not (Subject = "") Then
Subject = CODE_TO_CODE(Subject) StringForBat = StringForBat & " -s " & Chr(34) & CODE_TO_CODE(Subject, , S_DOS866) & Chr(34)
End If
If Not (AttachedFileName = "") Then StringForBat = StringForBat & " -attach " & chr(34) & AttachedFileName & chr(34) StringForBat = StringForBat & " -mime"
End Function
'функция перекодировки
Public Function CODE_TO_CODE(ByVal Ustr As String, Optional S_Input = S_WIN, Optional S_OutPut = S_KOI8R) As String
Dim i, k As Integer
CODE_TO_CODE = ""
For i = 1 To Len(Ustr)
k = InStr(1, S_Input, Mid(Ustr, i, 1), vbBinaryCompare) If k > 0 Then CODE_TO_CODE = CODE_TO_CODE & Mid(S_OutPut, k, 1) Else CODE_TO_CODE = CODE_TO_CODE & Mid(Ustr, i, 1) End If
Next i
End Function
|