Hola
 
No lo había probado creyendo que funcionaba

. Prueba ahora    
Código asp:
Ver original- <%@LANGUAGE="VBSCRIPT"%> 
- <% 
- Function NoAleatorio(inicio, fin) 
- Randomize() 
- NoAleatorio = Int((fin - inicio + 1) * Rnd + inicio) 
- End Function 
-   
- Response.Write "SACAR REGISTROS ALEATORIAMENTE<br /><br />" 
-   
- 'Numero de registros que devolveremos del recordset 
- recNo = 3 
-   
- set oConn=Server.CreateObject("ADODB.Connection") 
- oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("./Prueba.mdb")&";"  
- SQL = "SELECT TOP " & recNo &" id, referencia, nombre, tamano FROM tabla5 ORDER BY " & NoAleatorio(1,4) &"" 
-   
- '---Debug----- 
- 'Response.Write(SQL) 
- 'Response.End() 
- '------------- 
-   
-   
- set rs = oConn.Execute(SQL) 
- registros = rs.GetRows 
- rs.Close 
- Set rs = Nothing 
- oConn.Close 
- Set oConn = Nothing 
-   
-   
- For i = 0 To UBound(registros,2)  
- Response.Write registros(0,i)  &" - " & registros(1,i)  &" - " & registros(2,i)  &" - " & registros(3,i) & "<br />" 
- Next 
- %> 
Nota; Fíjate en esto 
NoAleatorio(1,4). En este caso obcila en el 1 y el 4 por que son el número de campos que he seleccionado. Si en tu caso seleccionas 7 campos, entonces sería 
NoAleatorio(1,7) 
Suerte