Я создаю систему поддержки билетов, используя Access, который напрямую взаимодействует с электронными письмами, отправленными на учетную запись Outlook.Ответы и пересылки всегда будут принадлежать той же записи заявки, что и их родитель.
Я написал несколько VBA в Outlook для автоматического создания новой заявки при обнаружении нового запроса в службу поддержки и отправки ответа с этимИдентификатор билета в теме, дающий мне ловушку для идентификации последующих писем на ту же тему (типа SELECT * FROM tblEmail WHERE Subject LIKE '*<ID>*'
), но ясно, что это никогда не сможет поймать начальное начальное письмо.
Объекты MailItem имеют свойство ConversationID, которое идеально подойдет для этой ситуации, но поля Access, доступные в связанной таблице, к папке электронной почты Outlook не совпадают со свойствами MailItem, и нет эквивалентного поля,
Я вижу три возможных способа получения нужного мне результата:
- Дублируйте данные, заставляя мой модуль outlook создавать новую запись в моей базе данных Access каждый раз, когда появляется сообщение, чтоотносится к существующему тикету и вообще не ссылается непосредственно на электронные письма.
- Дитч фактически связывает, и пишет пакеты VBA, чтобы получить форму для проверки соответствующей почтовой папки и отображения свойств MailItem, которые относятся квыбранная запись заявки, не сохраняя ничего об этих электронных письмах в таблице.
- Найдите способ вставить поле ConversationID в связанную таблицу, чтобы на него можно было ссылаться.
Мне кажется совершенно нелепым, что 1 или 2 должны быть необходимы, так как же можно достичь 3? Как создать связанную таблицу Access, которая содержит электронные письма Outlook и ссылается на их ConversationID?
Примечание. Это не обязательно должна быть Связанная таблица TM но я бы предпочел, чтобы оно динамически обновлялось, когда Outlook это делает, и может использоваться для взаимодействия с реальными сообщениями, как это делает функция MS Access.