Example 2



<% ' Search Results Section. %>

<% if Request.QueryString <> "" then %> 
<%
' If site visitors use Outlook to view Microsoft Exchange messages,
'  the Exciol control is installed on their computer.
if ExchangeViewer="both" or ExchangeViewer="outlook" then %>
<object id="Exciol" height=0 width=0
 CLASSID="CLSID:DAFD7A40-73FF-11D1-A811-00AA006EAC9D"
 CODEBASE="/siteserver/knowledge/search/controls/exciol.ocx#version=5,5,2148,0"
 TYPE="application/x-oleobject">
</object>

<script language="vbscript">
  Sub DisplayMsg(EntryID)
    Exciol.DisplayMsg(EntryID)
  End Sub
</script>
<% end if %>
<% if ExchangeViewer="both" or ExchangeViewer="owa" then %>
<% ' When linking to Outlook Web Access, open the link in a new window. %>
<script language="Javascript">
function openNewWindow(fileName,theWidth,theHeight) {
  window.open(fileName,"NewWindow","toolbar=0,location=0,directories=0,status=1,menubar=1,scrollbars=1,resizable=1,width="+theWidth+",height="+theHeight)
}
</script>
<% end if %>


   <% ' Set query object properties.
      set Q = Server.CreateObject("MSSearch.Query") 
      ' Define all required query properties: the query itself, and all columns
      ' that will be used in the results. 
      Q.SetQueryFromURL(Request.QueryString)
      Q.Catalog = request("ct") 
      Q.OptimizeFor="nohitcount,performance"
      Q.MaxRecords = 10
      Q.Columns = "DocAuthor, DocTitle, DocAddress, Description, Size, FileWrite"
   %>

<% ' The following debug information is useful as you extend this sample page.
   ' Set DEBUGINFO to true to see what is being passed to this page, and the
   ' resulting query property setting.
%>
<% if DEBUGINFO=true or Request("debug") <> "" then %>
  <p>
  <table cellpadding=5 border=1 bgcolor="EEEEEE">
  <tr><td>
  <b>Useful Debug Information</b><font size=2>
   <p><b>QueryString passed to this page:</b>
      <br><% = Request.QueryString %>
   <p><b>Query:</b> <% = Q.Query %>
   <p><b>Catalogs:</b> <% = Q.Catalog %>
  </font></td></tr>
  </table>
<% end if %>
<hr>

   <% ' Create the recordset holding the search results.
      on error resume next
      set RS = Q.CreateRecordSet("sequential") 
      if err <> 0 then
        createerror = err.description
      end if

   ' Log query for reporting with the Site Server Analysis feature of 
   ' Microsoft Site Server. Only log query for first page of search results.
   '  if Q.StartHit = "" and Session("q1") <> "" then 
   '    InfoToLog = "&MSS.request.Search Catalog=" & Q.Catalog &  _
   '      "&MSS.request.Search Start Hit=0" & _
   '      "&MSS.request.Search Query="& Session("q1")
   '    if err or (RS.EOF and RS.BOF) then
   '      InfoToLog = InfoToLog & "&MSS.request.Search Row Count=0"
   '    else
   '      InfoToLog = InfoToLog & "&MSS.request.Search Row Count=0" 
   '    end if
   '    ' Information to be appended cannot contain commas or spaces.
   '    InfoToLog = Replace(InfoToLog, " ", "%20")
   '    InfoToLog = Replace(InfoToLog,",","+")
   '    Response.AppendToLog InfoToLog
   '  end if


   ' If the query can't be executed, print out the error description.
     if err then 
       Response.write "&nbsp;&nbsp;" & createerror 

   ' If no matches are found, display a message.
     elseif RS.BOF and RS.EOF then
       Response.write "<p>" 
        if Q.QueryIncomplete=true then
          L_TooComplex_Error = "The query is too complex. 
            Try using a simpler query. For information on search syntax, 
            see <a href=tips.htm>Search Tips</a>."
          Response.write L_TooComplex_Error & "<p>"
        else
          L_NoMatch_Error = "No messages matching your query were found. 
            For suggestions on how to broaden your search, see <a href=tips.htm>Search Tips</a>."
          Response.write L_NoMatch_Error & "<p>"
     ' Display link for a new search. 
     L_NewSearch_link = "New Search"
     %>
     &nbsp;&nbsp;<a href="Search.asp"><% = L_NewSearch_Link %></a>
     <%
        end if

     else ' If query could be executed, display results.