Запрос на добавление из Outlook не работает должным образом с Access - PullRequest
1 голос
/ 07 октября 2019


У меня проблема при выполнении запроса на добавление в Microsoft Access из Microsoft Outlook.

Цель:
На уровне Microsoft Outlook я хочу выполнить запрос на добавление, расположенный вБаза данных Microsoft Access, которая создаст запись в «журнальной» таблице, содержащей информацию об отправленной электронной почте. (добавление инициируется событием «Application_ItemSend»)

Проблема:
Когда я запускаю запрос, Access добавляет только 2 из 7 полей: переменная "strSenderEmail" и функция "сейчас () ", который вставляется в запрос -> тем самым я имею в виду, что в таблице" Журнал "у меня есть только информация об отправителе и дате, но тема, получатель и т. д. пусты.

Дополнительная информация:
- имена параметров правильные -> У меня нет информации, что что-то неверно или отсутствует
- все параметры введены
- я попытался передать параметр поочередно: "qdf.parameters (1)= test "но не работает
- если я запускаю этот запрос из доступа и вставляю параметры" из рук ", все работает правильно.

Вопрос:
Почему мой запрос не добавляется правильно? В качестве альтернативы я попробую команду SQL для вставки данных или добавления набора записей в таблицу.

Код функции:

strBackendPath - path of backend access
Qapp_001 - name of the append query in access

Set dbs = DBEngine.OpenDatabase(strBackendPath) 'set connection with backend 
Set qdf = dbs.QueryDefs(Qapp_001)               'set update merged processes query 
<br>
qdf![strSenderEmail] = GetOriginalSenderAddress(objMailItem)  'this is external function, this variable is actually working properly -> information are added in new record
qdf!strReceiverEmail = "test1"      'insert receiver 
qdf!strSubject = "test2"            'subject of the e-mail 
qdf!struserUID = "test3"            '(Environ$("Username"))         
qdf!bytCommunicationType = 1        'define type of communication 
qdf!bytStatus = 1                   'define status

qdf.Execute                         'run append query 
<br>
Set qdf = Nothing   'clear query 
Set dbs = Nothing   'clear database 


Столбцы в таблице журнала:

ID  SenderEmail ReceiverEmail   Subject PreparationDateAndTime  userUID CommunicationType

Код SQL запроса на добавление (из Access):

    PARAMETERS 
strSenderEmail LongText, strReceiverEmail LongText, strSubject LongText, struserUID Text ( 255 ), bytCommunicationType Byte, bytStatus Byte;    
    INSERT INTO 
Tbl_02_Log ( SenderEmail, ReceiverEmail, Subject, PreparationDateAndTime, userUID, CommunicationType, Status )
    SELECT 
[strSenderEmail] AS Expr1, [strReceiverEmail] AS Expr2, [strSubject] AS Expr3, Now() AS Expr4, [struserUID] AS Expr5, [bytCommunicationType] AS Expr6, [bytStatus] AS Expr7;

Спасибо за вашу помощь.

...