digamos que num tabela eu tenha os seguintes códigos de registros:
7,9,10,11,12,14.
É possível fazer uma seleção randomica apenas entre estes números?
Valeu!!
Edição feita por: ESBF, 03/02/2004, 17:41.
Posted 26/01/2004, 16:50
Edição feita por: ESBF, 03/02/2004, 17:41.
Posted 26/01/2004, 19:30
'Criamos a conexão com o banco de dados
strCon = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=C:\nome_do_banco_de_dados.mdb;"
Set Conexao = Server.CreateObject("ADODB.Connection")
Conexao.Open strCon
'Capturamos na tabela o número total de registros existentes
ComandoSQL = "SELECT COUNT(*) AS total_registro FROM nome_da_tabela"
Set bd = Conexao.Execute(ComandoSQL)
total_registros = bd("total_registro")
Set bd = Nothing
'Fazemos um sorteio com o número total de registros encontrados
randomize()
registro_sorteado = Int(total_registros *Rnd) + 1
'Capturamos todos os registros da tabela
ComandoSQL = "SELECT * FROM nome_da_tabela"
Set bd = Conexao.Execute(ComandoSQL)
'Se o registro sorteado não for o primeiro da tabela,
'movemos o cursor para o registro sorteado
If registro_sorteado > 1 Then
bd.Move registro_sorteado
End If
'Escrevemos na tela os campos desejados do registro encontrado
Response.Write bd("nome_do_campo")
'Fechamos a conexão com o banco de dados
Conexao.Close
'Eliminamos as variáveis usadas da memória
Set registro_sorteado = Nothing
Set bd = Nothing
Set Conexao = Nothing
Set ComandoSQL = Nothing
Posted 27/01/2004, 00:18
Edição feita por: ESBF, 27/01/2004, 00:18.
Posted 27/01/2004, 00:32
Posted 27/01/2004, 16:33
Posted 27/01/2004, 20:52
'aki a string de conexão
SQL = "select * from tabela"
rs.open sql,conexao, 1, 3
rs.movelast
ultimo_registro=rs("id")
rs.close
do while x<>1
randomize
numero=rnd*ultimo_registro
sql="select * from tabela where id=" & numero
rs.open sql, conexao, 1, 3
if rs.bof or rs.eof then
x=0
rs.close
else
x=1
'aki o codigo
end if
loop
Posted 27/01/2004, 23:49
SELECT * FROM Tabela WHERE Codigo IN (7,9,10,11,12,14) ORDER BY RAND()
Posted 28/01/2004, 08:28
SELECT TOP 1 FROM tblNoticia WHERE noti_Destaque = 1 ORDER BY RAND()
Edição feita por: ESBF, 28/01/2004, 08:30.
Posted 28/01/2004, 08:50
Posted 28/01/2004, 08:54
SELECT TOP 1 FROM tblNoticia WHERE noti_Destaque = 1 ORDER BY RAND(id)
Posted 28/01/2004, 12:57
Posted 31/01/2004, 16:17
SELECT TOP 1 * FROM tblNoticia WHERE noti_Destaque = 1 ORDER BY RND(noti_CodNoticia)
Edição feita por: ESBF, 31/01/2004, 16:22.
Posted 03/02/2004, 16:09
SELECT TOP 1 * FROM tabela ORDER BY RND(id)
set rsAux = Server.CreateObject("ADODB.Recordset")
rsAux.CursorLocation = adUseClient
strQ = "Consulta" 'consulta no access
rsAux.Open strQ, conDados, adOpenStatic, adLockOptimistic, adCmdStoredProcEdição feita por: ESBF, 03/02/2004, 16:11.
Posted 03/02/2004, 16:54
Posted 03/02/2004, 17:27
rsAux.Open "SELECT * FROM tabela", conexao, adOpenStatic, adLockOptimistic, adCmdText randomize() RegistroSorteado = Int(rsAux.RecordCount * Rnd) rsAux.Move RegistroSorteado
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)