Hola Amigo...
Pruebalo asi...
<%
Dim buscar
buscar= Trim(Request("buscar") )
buscar=Replace(Request("buscar"),"'", "''")
'*****************************
' Conectamos a la BD.
Set oConn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.Recordset")
oConn.Open = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("clientes.mdb")
' seleccionamos todos los registros.
sql = "SELECT * FROM datos WHERE ((grupo = 'patrocinador') AND (pclaves LIKE '%" & buscar & "%' OR nombre LIKE '%" & buscar & "%' OR descripcion LIKE '%" & buscar & "%')) "
RS.OPEN sql, oConn, 3, 1
If Not Rs.EOF THEN
DIM cuenta
FOR cuenta=1 TO 3 Step 1
intTotalRecords = rs.RecordCount
Randomize()
intRandomNumber = Int((intTotalRecords * Rnd))
rs.Move intRandomNumber
%>
<b><font color="#FF0033"><br>
</font></b> </strong></font><b><font face="Verdana, Arial, Helvetica, sans-serif"><b><font face="Verdana, Arial, Helvetica, sans-serif"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FF0033"><%=RS("nombre")%></font></b></font><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FF0033"><br>
<%=RS("descripcion")%><br>
</font><font face="Verdana, Arial, Helvetica, sans-serif"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FF0033"><%=RS("url")%></font></b></font><br>
</b></font></b><font color="#999999" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>
<%
If (cuenta=3) Then
Response.Write "Ha terminado el bucle..."
END IF
Next
'Cerramos y limpiamos (como siempre).
RS.Close
oConn.close
Set RS = Nothing
Set oConn = Nothing
Else
Response.Write "No se encontraron registros acorde a su busqueda en la sección PATROCINADORES"
End If
%>
Me funciono a medias... es decir... me mostraba todos los registros osea solo 3 y hacia el random pero de vez en cuando fallaba y salia el error El valor de BOF o EOF es True....
Intenta con este a ver... yo seguire intentando a ver que puede ser... pero es extraño de verdad....
Saludos...