<% strFieldName = Request("Field") strTableName = Request("Table")strOrderByField = Request("OrderBy") ' SValue = Seach String From Form / QueryString ' SType = Search Type (All Words or Any Word) From Form / QueryString SValue = Request("SValue") SType = Request("SType") ' For Loop To Move Through Search String, Counting Spaces, and ' Incrementing WordCounter By One At Each Occuranceh For i = 1 to len(SValue) If mid(SValue, i, 1) = " " Then WordCounter = WordCounter + 1 End If Next ' Now, We Add One To Include The First Word WordCounter = WordCounter + 1 ' Next We Dim Word As An Array, With The Maximum Number Of Words ' To Allow - In This Case, 100 Dim Word(100) ' Now, We Fill The Array With The Words CurrentWord = 1 For i = 1 to len(SValue) If mid(SValue, i, 1) = " " Then CurrentWord = CurrentWord + 1 Else Word(CurrentWord) = Word(CurrentWord) + mid(SValue, i, 1) End If Next ' Now Lets Build The SQL Statement Based On What Search Type (SType) ' Was Selected ' First Part Of SQL SQL = "SELECT * FROM " & strTableName & " WHERE " ' For Loop To Concatenate SQL String Together For i = 1 to WordCounter If SType = "AllWords" Then If i <> WordCounter Then SQL1 = SQL1 & strFieldName & " LIKE '%" & Word(i) & "%' AND " ElseIf i = WordCounter Then SQL1 = SQL1 & strFieldName & " LIKE '%" & Word(i) & "%'" End If ElseIf SType = "AnyWord" Then If i <> WordCounter Then SQL1 = SQL1 & strFieldName & " LIKE '%" & Word(i) & "%' OR " ElseIf i = WordCounter Then SQL1 = SQL1 & strFieldName & " LIKE '%" & Word(i) & "%'" End If End If Next ' Finishing Part Of SQL Statement. if Len(strOrderByField) > 0 then SQL = SQL & SQL1 & " ORDER BY " & strOrderByFieldElse SQL = SQL & SQL1 End If Response.Write SQL%> <% Set dbConn = Server.CreateObject("ADODB.Connection") dbConn.Open "DSN=NorthWind" Set rsRecords = Server.CreateObject("ADODB.Recordset") rsRecords.Open SQL, dbConn, 3 %> <% If Not rsRecords.EOF And Not rsRecords.BOF Then %> <% For i = 0 to rsRecords.Fields.Count-1 %> <% Next %> <% Do While Not rsRecords.EOF %> <% For i = 0 to rsRecords.Fields.Count-1 %> <%rsRecords.MoveNext%> <% Loop %>
<%=rsRecords.Fields(i).Name%>
<%Response.Write(rsRecords(i))%> <% Next %>
<% Else Response.Write("Unable to find an entry") End If %>