Главная » Просмотр файлов » А.Ю. Гончаров Access 2003

А.Ю. Гончаров Access 2003 (960524), страница 45

Файл №960524 А.Ю. Гончаров Access 2003 (А.Ю. Гончаров Access 2003) 45 страницаА.Ю. Гончаров Access 2003 (960524) страница 452017-12-26СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 45)

Программа MS Outlook должна быть настроена заранее дляосуществления физической отправки писем. В зависимости от настроек письмамогут отправляться немедленно по мере формирования, если активно подключение к Интернет)'. В другом случае письма накапливаются в папке «Исходящие»Outlook, а затем отправляются во время сеансового доступа к Интернету. Дляначала новой рассылки или продолжения текущей рассылки нажмите кнопку«Отправить письма» на вкладке «Письмо». Галочка «МОЖНО РАБОТАТЬ»должна быть установлена.

Для остановки рассылки снимите указанную галочку.260Глава 11Примечание. Во время формирования писем Outlook выводит на экран предупреждающие сообщения о том, что сторонняя программа пытается отправитьписьмо (это сделано с целью защиты от компьютерных вирусов). Вы должныдать разрешение на отправку писем.Выбор параметров рассылки.

На вкладке «Дополнительно» можно установитьдополнительные параметры: количество адресов, указанных в одном письме(минимальное значение 1), и временной интервал в секундах между отправкойписем.11.5. Создание дополнительных элементовуправленияНа вкладке Дополнительно сосредоточены элементы управления, которые неуместились на первой вкладке. Кроме того, лишняя вкладка позволяет сделать основную более простой, чтобы пользователь не запутался в обилии полей и кнопок.Логика работы программы требует использования еще двух параметров.Во-первых, надо указывать, сколько адресов можно размещать в одном письме.Во-вторых, письма могут отправляться с определенным временным интервалом.Многие почтовые серверы (в целях борьбы со спамом) настроены так, что прибольшом количестве исходящих писем в единицу времени приостанавливаютобслуживание клиента.На нашу вкладку поместим два поля.

Первое будет называться Kopii (значение по умолчанию 5), а второе — Interval (значение по умолчанию 30). Оба полябудут использоваться программой для считывания параметров.Для работы с таблицей адресов полезно сделать отдельную форму. Ее можносформировать при помощи мастера, выбрав все поля и параметры по умолчанию,или сделать автоформу. Назовем ее Адреса. Пример формы показан на рис. П.8.Главное здесь - выделить достаточно места для полей типа Memo.Теперь нам потребуется кнопка с надписью «Просмотр и правка адресов». Онадолжна открывать форму, и эту кнопку удобнее всего сделать при помощи мастера. В мастере кнопок на первом шаге выбрать категорию «Работа с формой»и кнопку «Открыть форму» (рис. 11.9).

На вторЬм шаге выберем форму Адреса.Третий шаг мастера пройдем без изменения параметров. На следующем шагенадо выбрать опцию «Текст-» и задать надпись на кнопке. Теперь можно нажатькнопку Готово, так как последний шаг мастера не имеет смысла.Пример базы данных рассылки почты261ФИО ]Виннн Иванович ПухРмупыаг 'ОргаюваадяJOOO "Винни Пу?По.цшделемнсРуководитель отдела!Рис. 11.8. Форма для работы с адресами электронной почтыВыберите действие, которое будет выполняться принажатии кнопки.Каждая категория содержит собственный набор действии,Действия;Закрыть форпуИзменить фильтр фориыОбновить данные формыОткрыть страницуПечать текущей формыПечать формыПрименить фильтр формыРис. 11.9.

Мастер стандартных кнопокПоследняя кнопка имеет надпись «Подготовить список адресов к новой рассылке». Когда программа отправляет письма, то для каждого обработанного адреса значение поля flag устанавливается как 1. Это позволяет прервать рассылкув любой момент, а потом продолжить с нужной записи. Но перед началом новойрассылки поле flag надо обнулить. Это делает связанная с кнопкой процедура:Private Sub Кнопка58_С11сК()' Сброс поля flagDim dbs As Database 'База данныхDim rst As Recordset 'Источник email-адресовDim i As Integer 'Счетчик262Глава 11Dim r As Integer 'Счетчик обработанных записейIf {МздВохС'Вы действительно хотите начать новую рассылку?_Данные о предыдущей рассылке будут уничтожены.", 4)) = vbYes ThenSet dbs = CurrentDb 'Выбор базы данных'Открываем таблицу с почтовыми адресамиSet rst = dbs.OpenRecordset("SELECT * FROM [ТаблицаАдреса];")If rst.RecordCount о 0 Then 'Проверяем записиrst.HoveLast 'Последняя записьrst.MoveFirst 'Первая записьг = ОFor i = 1 То rst.RecordCount 'Просматриваем адресаrst.Editrst!flag = 0 'Изменяем значениеrst.Updateг = г + 1rst.MoveNext 'Следующий адресNextMsgBox "Обработано записей: " & гEnd IfElseEndEnd IfEnd SubВ этой процедуре с помощью функции MsgBoxC) создается окно с контрольнымвопросом к пользователю.

Если последний отвечает «Да», то поле обнуляется.Вкладка с дополнительными параметрами показана на рис. 11.10. На ней естьсвободное место, что неплохо на тот случай, когда базу данных потребуется усовершенствовать.11.6. Программа для отправки писемМы уже создали кнопку с надписью «Отправить письма», а теперь создадимпрограмму, которая будет заниматься отправкой. В режиме конструктора формнадо открыть окно свойств кнопки и выбрать параметр Нажатие кнопки(щелчок мышью). С помощью кнопки с тремя точками надо выбрать опцию«Программа». Тогда будет создана заготовка процедуры, которая будет выполняться при нажатии кнопки:Пример базы данных рассылки почтыi Jil Рассылка : форма263U :ППисьма_„Адреса Инструкция - ДополнительноКоличество копий: 5Интеовал, сек:30[ Просиотр и правка адресовПодготовить список адресов к новой отправкеРис.

11.10. Вкладка дополнительных параметровPrivate Sub Otpravit_Click()End SubПри разработке формы эта кнопка получила имя Otpravit. Теперь можно дополнить процедуру стандартными операторами обработки ошибок. В случае возникновения ошибки будет выведено сообщение на экран. Теперь код программыстанет таким:Private Sub Otpravit_CHck()On Error GoTo Err_Otpravit_Click' место для кодаExit_Otpravit_Click:Exit SubErr_Otpravit_Click:MsgBox Err.DescriptionResume Exit_Otpravit_CHckEnd SubГлава 11гСмысл этой конструкции таков. При возникновении ошибки управлениедолжно передаваться на метку Err_Qtpravit_Click, а затем выполнение процедуры прекращается после перехода на метку Exit_Otpravit_Click.

В этомслучае обработку ошибки выполняет сам Access. Этот код универсален, и егоможно использовать в качестве шаблона при создании самых разных программ.Имена меток, разумеется, можно придумать свои, данные имена сгенерированыавтоматически, и поэтому они такие длинные и неудобочитаемые.

На время отладки программ бывает полезно отключать команду On E r r o r для того, чтобы привозникновении ошибки можно было сразу перейти в редактор Visual Basic и отладить код. Приведенный выше листинг можно использовать как заготовку для создания любых процедур обработки событий.Отправкой писем в нашем случае будет заниматься программа MS Outlook 2003.Для того чтобы работать с объектами Outlook, в редакторе Visual Basic надо подключить дополнительную библиотеку. С помощью команды Tools ^> Referencesнадо выбрать компонент «Microsoft Outiook 11.0 Object Library». На рис. 11.11 видно, какие библиотеки необходимы для работы этой базы данных.leferences - pochtaAvailable Refe'ences:<S Visual Basic For Actuation!V Wcrosof t Access 11.0 Object librae»У.

OLE Automation^.Microsoft DrtQ3.6 Object LibraryV Microsoft ActiveX 3ata Ob]ects 2.5 Lbraryv- Windows Media Player< Mfcrosoft Office Web Components 11.0/Mfcrosof t Office № We= Coupon ;ri:sасигта.пiMoosoft ActiveX Data Objects 2,1 Library1Д5 Helper COM Component L.OTypeLfaТД^ OUTlll К P.nfnrnl I П TvriB I ihrsrvMicrosoft Outlook 11.0 Obiect Library Location0;\Ргсдгагрр|1е!|0Language. StandardРис. 1 1 . 1 1 . Список необходимых объектных библиотекПолный текст процедуры выглядит так:Private Sub Otpravit_Click()On Error GoTo Err_Otpravit_Click1Отправка писемDim prog As Outlook.Application ' Объект - программа OutlookDim baza As Database ' Объект - база данныхПример базы данных рассылки почтыDim tablica As Recordset ' Таблица ТаблицаПисьмаDim i As Integer ' Счетчик циклаDim portion As Integer ' Счетчик порцийDim zapis As Integer ' Номер записиDim pismo As Mailltem ' Объект - почтовое сообщениеDim dopfail As String ' Присоединяемый файлDim Copies As Integer ' Число копий письмаDim pauza As Integer ' Величина интервала ожиданияDim PauseTime, Start ' Переменные для таймераDim Konec As Boolean ' Конец таблицыDim myNamespace As Outlook.NameSpace' Создание объектов для письмаSet prog = Mew Outlook.ApplicationSet myNamespace = prog.GetNamespaceC'MAPI")' Начальные значения переменныхdopfile = " "If Len(Trim(Me!Text9» > 0 Then dopfail = Me!Text9dopfile = Trim(dopfile)pauza = Me!IntervalKonec = FalseIf pauza < 0 Then pauza = 1Copies = MelKopiiIf Copies < 0 Then Copies = 11Подключение таблицыSet baza = CurrentDb ' Работаем с этой же БДSet tablica = baza.OpenRecordset("SElECT * FROM [ТаблицаАдреса] WHERE([Да]=Тгие);")' Основной циклDo While Me!Check34 And Not KonecMe.Refresh ' Пересчет данных формыIf tablica.RecordCount <> 0 Then ' Таблица не должна быть пустойtablica.MoveLast ' Последняя записьtablica.MoveFirst ' Первая записьzapis = 1'Ищем новые записиDo While tablica! flag = 1 And zapis < tablica.RecordCounttablica.MoveNext ' Выбор следующей записиzapis = zapis + 1Loop265266Глава 11If tablica.RecordCount - zapis >= Copies Then1Определение количества адресовportion = CopiesElseportion = tablica.RecordCount - zapis + 1End If' Формирование письма в формате OutlookSet pismo = prog.Createltem(olMailltem) ' Создание объектаpismo.Subject = MelTema ' Тема сообщенияpismo.Body = MelTekst ' Текст сообщенияIf dopfail <> "" Then pismo.Attachments.Add dopfail ' Дополнительный файлFor i = 1 To portion ' Перебор очередной порции адресовIf tablica!Да And Not Konec ThenIf tablicalflag <> 1 Thenpismo.Recipients.Add tablica!Email ' Еще один адресtablica.Edittablicalflag = 1 ' Адрес использованtablica.UpdateEnd IfEnd IfIf zapis < tablica.RecordCount Thentablica.MoveNext ' Выбор следующего адресаzapis = zapis + 1ElseKonec = TrueEnd IfNextMelObrab = zapis ' Индикация номера записи в форме1pismo.Display ' Показ письма в окне.

Характеристики

Тип файла
PDF-файл
Размер
24,39 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6374
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее