|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Лабораторная работа 1.2Получение информации о содержимом почтового ящикаПодключение к базе данных Exchange Server средствами ADO/Exchange OLE DB Provider, поля сообщения, получение информации в Recordset о содержании почтового ящика Задание:Измените созданную вами на предыдущей лабораторной работе процедуру MailboxProcessing() таким образом, чтобы для всех сообщений в почтовом ящике (вне зависимости от их вложенности) в окно Immediate выводилась информация о:
Решение:Код процедуры MailboxProcessing() после внесеняи изменений может быть таким: Sub MailboxProcessing() Dim sURL As String sURL = "file://./backofficestorage/nwtraders1.msft/mbx/Admin" Dim cn As New ADODB.Connection cn.Provider = "ExOLEDB.DataSource" cn.ConnectionString = sURL On Error GoTo ErrorHandler cn.Open On Error GoTo 0 Dim sSQL As String sSQL = "SELECT ""DAV:displayname"", ""http://schemas.microsoft.com/exchange/outlookmessageclass"", " & _ """http://schemas.microsoft.com/mapi/proptag/x0e080003"", ""DAV:href"", ""DAV:parentname"", " & _ """DAV:creationdate"", ""DAV:getlastmodified"", ""DAV:lastaccesssed"" " & _ "FROM SCOPE ('DEEP TRAVERSAL OF """ & sURL & """') WHERE ""DAV:isfolder"" = False" 'sSQL = "SELECT ""http://schemas.microsoft.com/mapi/proptag/x0e080003"", ""DAV:href"", ""DAV:hassubs"", ""DAV:displayname"" " & _ "FROM SCOPE ('SHALLOW TRAVERSAL OF """ & sConnString & """') WHERE ""DAV:isfolder"" = true" Dim rs As New ADODB.Recordset rs.LockType = adLockOptimistic rs.CursorType = adOpenStatic rs.Open sSQL, cn Do While rs.EOF = False Debug.Print rs.Fields("DAV:displayname").Value & vbTab & _ rs.Fields("http://schemas.microsoft.com/exchange/outlookmessageclass").Value & vbTab & _ rs.Fields("http://schemas.microsoft.com/mapi/proptag/x0e080003").Value & vbTab & _ rs.Fields("DAV:href").Value & vbTab & rs.Fields("DAV:parentname").Value & vbTab & _ rs.Fields("DAV:creationdate").Value & vbTab & rs.Fields("DAV:getlastmodified").Value & _ vbTab & rs.Fields("DAV:lastaccesssed").Value rs.MoveNext Loop Exit Sub ErrorHandler: Dim ADOError As ADODB.Error For Each ADOError In cn.Errors MsgBox ADOError.NativeError & vbCrLf & ADOError.Description Next End Sub
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Получить учебные материалы по этому курсу |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||