Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.59/116: Рейтинг темы: голосов - 116, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 23.07.2012
Сообщений: 15
1

Отправка письма из Access'a

11.09.2012, 13:40. Показов 24289. Ответов 34
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Мир всем. Такая ситуация - в базе данных появляется готовая заявка, требуется создать что-то типа готового "макета", например: "ваша заявка готова", и отправить электронное письмо с этим текстом клиенту, можно ли это реализовать в Accesse & Outlook?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.09.2012, 13:40
Ответы с готовыми решениями:

отправка письма
Знатоки, подскажите как можно сделать отправку данных из БД по почте, но не ввиде файла, как это...

Отправка письма через Lotus
Добрый день, подскажите как отправить результат запроса на почту используя Lotus? Добавлено...

Отправка письма Outlook с вложением
Здравствуйте, Помогите, пожалуйста, как сделать: необходимо отправить письмо из Access через...

Отправка письма из Access средствами outlook
Добрый день! Я уверен, что такие вопросы были ранее, но мне необходимо следующие. У меня есть...

34
2092 / 1168 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
11.09.2012, 14:18 2
Самый простой способ - команда DoCmd.SendObject (отправить объект, при этом в опциях можно задать "нет объекта", а также другие полезные опции):
Visual Basic
1
DoCmd.SendObject acSendNoObject, , , "адрес", , , "Тема сообщения", "Текст сообщения"
2
0 / 0 / 0
Регистрация: 23.07.2012
Сообщений: 15
11.09.2012, 15:14  [ТС] 3
Ameli, а можно как-то сделать так, чтобы каждый раз не писать код, а, например, назначить выполнение этой команды на отдельную кнопку в форме?
0
Эксперт MS Access
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
11.09.2012, 15:27 4
Цитата Сообщение от Kollaps Посмотреть сообщение
[b]а можно как-то сделать так, чтобы каждый раз не писать код, а, например, назначить выполнение этой команды на отдельную кнопку в форме?
Даже нужно так сделать. В форме образуете поля для соответствующих разделов сообщения (а еще лучше сделать таблицу в которой будут эти поля и форму основать на этой таблице) и на клик кнопки повесить код
Visual Basic
1
DoCmd.SendObject acSendNoObject, , , Me.ПолеАдреса, , , Me.ПолеТемы, Me.ПолеСообщения
1
2092 / 1168 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
11.09.2012, 15:28 5
Этот код и будет являться процедурой обработки события Нажатие кнопки
Вложения
Тип файла: rar Отправка письма.rar (10.4 Кб, 757 просмотров)
1
0 / 0 / 0
Регистрация: 23.07.2012
Сообщений: 15
11.09.2012, 15:46  [ТС] 6
Ameli, Большое спасибо. Я добавил в вашу форму еще поле "Дата подачи заявки", а вот как сделать так, чтобы эта самая дата отображалась в тексте письма ("Ваша заявка от дд.мм.гг готова")? Попробовал записать по аналогии с адресом почты (Me![Поле3]), однако не получилось.
0
1302 / 508 / 63
Регистрация: 09.08.2012
Сообщений: 2,056
11.09.2012, 22:08 7
Цитата Сообщение от Kollaps Посмотреть сообщение
Я добавил в вашу форму еще поле "Дата подачи заявки", а вот как сделать так, чтобы эта самая дата отображалась в тексте письма
смотри вложение
Вложения
Тип файла: rar Отправка письма1.rar (12.3 Кб, 650 просмотров)
2
2092 / 1168 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
12.09.2012, 09:43 8
Visual Basic
1
DoCmd.SendObject acSendNoObject, , , Me![Поле1], , , "Тема сообщения", "Ваша заявка от " & Me![ПолеСДатой] & " готова"
2
0 / 0 / 0
Регистрация: 23.07.2012
Сообщений: 15
12.09.2012, 12:30  [ТС] 9
Всем спасибо, все работает =)
0
2 / 2 / 0
Регистрация: 23.10.2012
Сообщений: 33
26.07.2013, 10:29 10
Цитата Сообщение от mobile Посмотреть сообщение
Даже нужно так сделать. В форме образуете поля для соответствующих разделов сообщения (а еще лучше сделать таблицу в которой будут эти поля и форму основать на этой таблице) и на клик кнопки повесить код
Visual Basic
1
DoCmd.SendObject acSendNoObject, , , Me.ПолеАдреса, , , Me.ПолеТемы, Me.ПолеСообщения
подскажите плс. как в тело сообщения добавить текст больше чем 255 символов?
0
Эксперт MS Access
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
26.07.2013, 11:41 11
Fatalmf, не знаю, не слышал о таком ограничении. И проверить не могу. Мой почтовый клиент не поддерживает MAPI, требуемый для SendObject.

Если условие >255 обязательное и победить SendObject не удается, то попробуйте отправлять через CDO. Там это точно возможно.
1
2 / 2 / 0
Регистрация: 23.10.2012
Сообщений: 33
26.07.2013, 12:45 12
Цитата Сообщение от mobile Посмотреть сообщение
Fatalmf, не знаю, не слышал о таком ограничении. И проверить не могу. Мой почтовый клиент не поддерживает MAPI, требуемый для SendObject.

Если условие >255 обязательное и победить SendObject не удается, то попробуйте отправлять через CDO. Там это точно возможно.
может я что-то неправильно делаю, но мне нужно текст (с форматированием) загнать в тело письма, текст для всех сообщений одинаковый и достаточно длинный и в таблице не хочется создавать поле с дублирующимся текстом. может есть способ из файла или ещё что?? подскажите куда копать или может код есть.
Буду очень благодарен за помощь!!!
0
2092 / 1168 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
29.07.2013, 09:46 13
Не пойму, в чем проблема, у меня текст > 255 символов отлично вставляется в сообщение. Просто создала поле на форме, вставила в него длинный текст и отправляю:
Visual Basic
1
DoCmd.SendObject acSendNoObject, , , Me.ПолеАдреса, , , Me.ПолеТемы, Me.ПолеСообщения
1
2 / 2 / 0
Регистрация: 23.10.2012
Сообщений: 33
29.07.2013, 11:17 14
Цитата Сообщение от Ameli Посмотреть сообщение
Не пойму, в чем проблема, у меня текст > 255 символов отлично вставляется в сообщение. Просто создала поле на форме, вставила в него длинный текст и отправляю:
Visual Basic
1
DoCmd.SendObject acSendNoObject, , , Me.ПолеАдреса, , , Me.ПолеТемы, Me.ПолеСообщения
Всем спасибо! все разрешилось
можно посмотреть здесь Вставка текста с форматированием в тело письма
0
569 / 169 / 22
Регистрация: 18.10.2012
Сообщений: 912
29.07.2013, 12:05 15
Здравствуйте. стоит такая же задача: за день до наступления стадии заказа, отправить e-mail с сообщением всем заинтересованным лицам, у меня такие вопросы
1. Список заинтересованных лиц, наверное лучше сделать таблицу(код, ЗаинтересованныеЛица - где будут храниться их e-mail) ?
0
2 / 2 / 0
Регистрация: 23.10.2012
Сообщений: 33
29.07.2013, 12:17 16
Цитата Сообщение от duh_si Посмотреть сообщение
Здравствуйте. стоит такая же задача: за день до наступления стадии заказа, отправить e-mail с сообщением всем заинтересованным лицам, у меня такие вопросы
1. Список заинтересованных лиц, наверное лучше сделать таблицу(код, ЗаинтересованныеЛица - где будут храниться их e-mail) ?
Все верно!
0
1047 / 531 / 66
Регистрация: 16.01.2013
Сообщений: 4,093
02.10.2013, 14:16 17
разобрался

Visual Basic
1
2
3
4
5
6
7
8
9
Private Sub Кнопка0_Click()
On Error GoTo ErrorHandler
DoCmd.SendObject acSendNoObject, , , Me![Поле1], , , "Тема сообщения", Me![Поле4]
   MsgBox ("Это сообщение никогда не появится")
   GoTo Ends:
ErrorHandler:
  MsgBox ("Вы отменили отправку письма уведомление на запуск работы!!! Пожалуйста не забудьте сообщить о запуске нужному отделу")
Ends:
End Sub
0
96 / 92 / 16
Регистрация: 13.04.2015
Сообщений: 545
26.01.2016, 18:11 18
mobile, а не подскажите как в несколько адресов закинуть почту сразу...
простите что влез, просто очееень надо.
адреса думал вытащить запросом, а вот как почту сразу на несколько из этого запроса отправить - ума не приложу((
0
Эксперт MS Access
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
26.01.2016, 19:08 19
Цитата Сообщение от Aleks777 Посмотреть сообщение
как в несколько адресов закинуть почту сразу...
Для этого обычно достаточно перечислить все адреса через точку с запятой. Например по кнопке в форме создать список корреспондентов отправки. Сканируем рекордсет формы, создаем текстовую переменную с адресами через точку с запятой
Visual Basic
1
2
3
4
5
6
7
8
9
Dim s
With Me.recordset
   .Movefirst
   Do until .eof
      s=s & ";" & !ПолеАдреса
      .Movenext
   loop
End with
s=mid(s,2)
Далее подставить в нужное место переменную s в которой будут все адреса из записей формы. Если нужны не все адреса, то предварительно надо отфильтровать форму или задать ей источником правильный запрос.
1
96 / 92 / 16
Регистрация: 13.04.2015
Сообщений: 545
26.01.2016, 20:19 20
mobile, у меня чуть другая проблема...Отправка почты VBA в несколько адресов
адреса могут дублироваться (и будут(()
0
26.01.2016, 20:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.01.2016, 20:19
Помогаю со студенческими работами здесь

Отправка письма автоматически при изменении поля
Всем привет! Вопрос в следующем. Как сделать отправку письма на email автоматически при изменении...

MS Access VBA отправка письма без outlook
Доброго времени суток всем. Возникла необходмостъ отправить репорт по емаилу без юзера в Outlookе...

Отправка письма php. Письма со скрипта на локальном сервере (Denwer) не приходят на почту.
Доброго Времени Суток!!! Я запускаю Денвером php скрипт со следующим кодом <?php $name=$_GET;...

Отправка письма большому кол-ву адресатов в одном письма(код почему-то не верно работает)
Добрый вечер! Имеется готовый макрос для отправки файла, который перед этим выгружает в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru