Platform SDK: Exchange 2000 Server |
[This is preliminary documentation and subject to change.]
Opening an ADO Recordset object is required for obtaining a list of folder items. This example opens an ADO Record object of a folder, and then opens a recordset based on a Web Store SQL query on the folder. As a test, it outputs all the DAV:displayname values in alphabetical order.
Dim Rec Dim Rs Dim strURL Dim strQ Dim DomainName Dim strLocalPath 'specify your own domain DomainName = "microsoft.com" 'specify a URL to folder or item strLocalPath = "public folders/reports/sales" Set Rec = CreateObject("ADODB.Record") Set Rs = CreateObject("ADODB.Recordset") 'this URL is for a public folder strURL = "file://./backofficestorage/" & DomainName & "/" & strLocalPath Rec.Open strURL 'Construct the SQL query to run on the folder -- 'To avoid confusion in escaping quotes, 'Chr(34)'s are used to delimit the URL strQ = "select " strQ = strQ & " ""urn:schemas:mailheader:content-class"" " strQ = strQ & ", ""DAV:href"" " strQ = strQ & ", ""DAV:displayname"" " strQ = strQ & " from scope ('shallow traversal of " strQ = strQ & Chr(34) & strURL & Chr(34) & "')" strQ = strQ & " ORDER BY ""DAV:displayname"" " Rs.Open strQ, Rec.ActiveConnection Rs.MoveFirst While Not Rs.EOF Response.Write Rs.Fields("DAV:displayname").Value & "</br>" Rs.MoveNext Wend Rs.Close Rec.Close
Dim Rec As New ADODB.Record Dim Rs As New ADODB.Recordset Dim strURL As String Dim strQ As String Dim DomainName Dim strLocalPath 'specify your own domain DomainName = "microsoft.com" 'specify a URL to folder or item strLocalPath = "public folders/projects/documentation" 'this URL is for a public folder strURL = "file://./backofficestorage/" & DomainName & "/" & strLocalPath Rec.Open strURL 'Construct the SQL query to run on the folder -- 'To avoid confusion in escaping quotes, 'Chr(34)'s are used to delimit the URL strQ = "select " strQ = strQ & " ""urn:schemas:mailheader:content-class"" " strQ = strQ & ", ""DAV:href"" " strQ = strQ & ", ""DAV:displayname"" " strQ = strQ & " from scope ('shallow traversal of " strQ = strQ & Chr(34) & strURL & Chr(34) & "')" strQ = strQ & " ORDER BY ""DAV:displayname"" " Rs.Open strQ, Rec.ActiveConnection Rs.MoveFirst While Not Rs.EOF Debug.Print Rs.Fields("DAV:displayname").Value Rs.MoveNext Wend Rs.Close Rec.Close