Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2017, 12:37   #1
Elena666
 
Регистрация: 27.06.2015
Сообщений: 3
По умолчанию Несколько получателей письма Outlook

Здравствуйте,
Подскажите, пожалуйста, как реализовать.

Необходимо, чтобы, при отправке отчета, в получателях оказывались все адреса из поля "Фамилия" запроса/отчета.

Запрос, по которому, формируется отчет, с параметрами. Соответственно появляется ошибка: "Отсутствует значение одного или нескольких параметров".

Пример прилагаю.

Спасибо.
Вложения
Тип файла: rar Пример.rar (40.8 Кб, 17 просмотров)
Elena666 вне форума Ответить с цитированием
Старый 09.03.2017, 09:55   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

вариант
Код:
Sub Письмо()
Set objOut = GetObject(, "Outlook.Application")
objOut.Session.Logon
Set objItem = objOut.CreateItem(0)
With objItem
  .To = ListFam("Таблица", "Фамилия")
  .CC = ""
  .Subject = "Тема письма"
  .Body = "Мое сообщение"
  .Display
End With
End Sub

Public Function ListFam(nameQuery, nameField)

'nameQuery - имя ТАБЛИЦы с получателями, nameField - имя поля в запросе

    Dim s As String
    Dim rst As DAO.Recordset
    Dim st As String
    Dim dateFrom, dateTo
    dateFrom = Replace(Format([Forms]![Главная_форма]![Мини_форма]![Поле0], "d/m/yyyy"), ".", "/")
    dateTo = Replace(Format([Forms]![Главная_форма]![Мини_форма]![Поле2], "d/m/yyyy"), ".", "/")
    s = "SELECT " & nameField & _
        " FROM " & nameQuery & " WHERE " & _
        "(((Дата_начальная) >= #" & dateFrom & "# " & _
            "AND (Дата_начальная)<=#" & dateTo & "#) " & _
            "AND ( (Состояние         =""Не начато"") " & _
            "OR (Состояние       =""Выполняется"") " & _
            "OR (Состояние       =""Отложено"") " & _
            "OR (Состояние       =""Ожидание""))) " & _
            "Group BY " & nameField & ";"
    
    st = ""
    Set rst = CurrentDb.OpenRecordset(s)
    Do Until rst.EOF
        st = st + ";" & (rst(0) & "")
        rst.MoveNext
    Loop
    If Len(allLines) > 1 Then allLines = Mid(allLines, 1)
    Set rst = Nothing
    ListFam = st
End Function
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 13.03.2017, 20:10   #3
alekseytrunov
 
Регистрация: 09.03.2017
Сообщений: 3
По умолчанию

ну как вышло?
alekseytrunov вне форума Ответить с цитированием
Старый 16.03.2017, 05:17   #4
Elena666
 
Регистрация: 27.06.2015
Сообщений: 3
По умолчанию

Спасибо, огромное - все получилось!

Последний раз редактировалось Elena666; 16.03.2017 в 05:22.
Elena666 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнение списка получателей OUTLOOK VBA Drug_prizrak Помощь студентам 4 12.01.2017 10:24
Формат тела письма в OutLook'е Olper Microsoft Office Excel 8 29.08.2011 17:07
Формирование письма в Outlook asale HTML и CSS 3 18.10.2009 13:34
Форматирование письма OUTLOOK'а oTyler Microsoft Office Excel 0 28.07.2008 14:49