Я пытаюсь создать несколько пользовательских кнопок в Outlook, которые взаимодействуют с таблицей, содержащейся в базе данных Access. Пока у меня есть кнопки, работающие в Outlook, выполняющие код, который создает собственный класс доступа к данным, который, в свою очередь, обрабатывает открытие и закрытие соединения с базой данных. Насколько я могу сказать, это много работает.
Однако из этого класса я даже не могу выполнить простой запрос выбора. Может кто-нибудь помочь мне понять, почему приведенный ниже код может не работать? Я всегда получаю набор записей, в котором нет строк, но если я запускаю тот же sql с помощью конструктора запросов Access, он работает нормально.
Public Function GetJobID(ByVal xEmailID As String) As Integer
'Returns the JobID associated with a given EmailID from the email link table.
'Returns a fail constant if no link exists.
Dim rs As ADODB.Recordset
Dim sql As String
'Exit if not connected.
'Cast to boolean because VBA doesn't recognise connection state integer as boolean.
If Not CBool(mConn.State) Then
GetJobID = RESULT_FAIL_INTEGER
Exit Function
End If
sql = "SELECT [JobID] FROM [EMAIL_LINK_TABLE] WHERE [EmailID]='xEmailID'"
sql = Replace(sql, "EMAIL_LINK_TABLE", EMAIL_LINK_TABLE)
sql = Replace(sql, "xEmailID", xEmailID)
On Error Resume Next
Set rs = mConn.Execute(sql)
If rs.RecordCount > 0 Then
GetJobID = rs(1).Value
Else
GetJobID = RESULT_FAIL_INTEGER
End If
End Function