tengo una Base de datos en Access y quiero mostrar los registro de una tabla de forma aleatoria y quiero mostrarlos de tres en tres.
Gracias.
| |||
el RND por access nada... si usas comando como el NewID con sql server funciona de maravilla. Puedes hacer asi: SELECT TOP 1 CAMPO FROM TAbla ORDER BY RND(INT(NOW*IDDATABELA)-NOW*IDDATABELA) o asi SQL = "select * from TABELA order by Rnd(Int(Now()*[ID])-Now()*[ID]);" hay una funcion muy buena que creo mi amigo para eso <% '-------------------------------------------------------------- ' RANDOM COM REGISTROS DE UM BD SEM REPETIÇÃO ' Autor: Márcio J. Lima (Guardião) ' Data de criação: 22-08-2002 - SP / Brasil '-------------------------------------------------------------- ' Gravamos o Recordset em um Array Bidimensional Set strRS = Server.CreateObject("ADODB.RecordSet") strRS.Open "SELECT * FROM membros ", strConexao, 3, 3 arySub = strRS.getRows() ' Fechamos a conexão pois não usaremos mais strRS.Close Set strRS = Nothing strConexao.Close Set strConexao = Nothing Dim TotalReg, TotalNum, vran, x, encontrou, arrGerados(0) Dim Numreg, verGerado, var_arrGerados, xLoop Function GeraRegistros(TotalNum) TotalReg=Cint(uBound(arySub,2)) ' Encontramos o Maior Array Gerado vran = 1 For x = 0 To TotalNum-1 ' LOOP de 1 p/ Total solicitado encontrou = 1 Randomize() ' Geramos o primeiro Random NumReg = Cint((rnd*TotalReg)) verGerado = Split(var_arrGerados,",") ' Verifica se nº gerado For xLoop = LBound(verGerado) To UBound(verGerado) IF Trim(verGerado(xLoop)) = Trim(NumReg) Then 'Este "response" comentado abaixo, indica qual número se repetiram 'E não armazena no Array único, fazendo gerando um novo Random 'response.write "<b>[ "& verGerado(xLoop) &","& NumReg &" ]</b><br> " x = x - 1 encontrou = 2 Exit For End IF Next IF encontrou = 1 Then ' NÃO ENCONTROU, gera o próximo número IF vran = 1 Then ' primeiro (Verificar este trecho) arrGerados(0) = NumReg vran = 2 Else arrGerados(0) = arrGerados(0) &","& NumReg End IF var_arrGerados = Join(arrGerados) End IF Next GeraRegistros = var_arrGerados End Function ' Array gerado, podemos iniciar a formatação de perguntas number = GeraRegistros(3) verNum = Split(number, ",") For x = LBound(verNum) to UBound(verNum) response.write arySub(0,verNum(x)) &"." response.write arySub(1,verNum(x)) &"<br>" Next %> un saludo |
| ||||
Entre Isaí y yo creamos una función para este menester. La puedes encontrar en los FAQ0s de ASP Aquí;: http://www.forosdelweb.com/showthrea...6&page=5&pp=20 P.D: ¿Alguien sabe algo de bakanzipp? Hace mucho que no le veo por aquí, y sus colaboraciones siempre me parecieron interesantes :/ |