Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marcelocardoso

Select com LIMITES

Recommended Posts

Pessoal!

 

1) Como posso limitar no SELECT em access o limite dos registros apresentados na tela? pois quero apenas apresentar 10 produtos apenas?

 

2) E como posso fazer no SELECT para trazer os produtos randomicamente, tipo desordenadamente tipo banners?

 

 

Se puderem me ajudar agradeço aos colegas.

 

 

 

Marcelo Cardoso

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso do total de produtos você pode fazer usando o TOP 10, tipo:

 

ASP

[*]Select TOP 10 campo * from........

 

Campos Aleatorios:

 

ASP

[*]<%

 

[*]

 

[*]'--------------------------------------------------------------

 

[*]

 

[*]' RANDOM COM REGISTROS DE UM BD SEM REPETIÇÃO

 

[*]

 

[*]' Autor: Apolo Roberto (Explore)

 

[*]'--------------------------------------------------------------

 

[*]

 

[*]

 

[*]

 

[*]' 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

 

[*]

 

[*]%> 

 

[*]

 

 

nesta linha: number = GeraRegistros(3)

O número 3 indica quantos registros você deseja, no caso, serão gerados 3 registros aleatórios diferentes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.