Registro aleatório no Access

SELECT TOP 1 CAMPO FROM TABELA ORDER BY RND(NOW()+IDDATABELA)
Ahá, descobri! Porque ninguém me contou isso antes? (Acabei de inventar, se você conhece um jeito melhor, por favor me avise.)
UPDATE: Testei ontem num OLEDB e funcionava, fui testar hoje num Jet com uma tabela menor e não funcionou nem a pau. Uma lidinha na documentação do Access[bb] me levou a: SELECT TOP 1 CAMPO FROM TABELA ORDER BY RND(INT(NOW*IDDATABELA)-NOW*IDDATABELA)
Essa funcionou em todo lugar que eu testei.


36 respostas para “Registro aleatório no Access”

  1. Avatar de Ninteressa
    Ninteressa

    Valeu, funcionou perfeitamente

  2. Avatar de Julianocalao
    Julianocalao

    Essa ajudou demais Elcio.. Muito obrigado pelo post!!!

  3. Avatar de Luiz Matias

    Cara… meus parabéns !!! Eu estava procurando algo assim faz tempo, pra colocar num bd access, pois no MySQL eu já havia conseguido. Parabéns !!! Esta instrução me salvou !!!

  4. Avatar de marcio
    marcio

    eu gostaria de saber como faço para fazer um formulario aleatorio?
    exemplo: quando uma pessoa acessar o meu cadastro, automaticamente aparecer no formulario o nome do cliente pelo qual a pessoa esta se cadastrando?
    por favor!!!! aguardo resposta? por favor peço que envie essa resposta para o meu email: honopla@hotmail.com
    7

  5. Avatar de Júnior
    Júnior

    Campeão!

  6. Avatar de Fabiano

    Cara, você merece o nosso respeito!
    Agora porque o select não funciona assim no asp: “select codigo, banner from tabela order by rnd(codigo)” visto que funciona perfeitamente direto no access?

  7. Avatar de Kasper
    Kasper

    Cara, não sou de comentar, mas sabe a quanto tempo tava procurando algo assim que realmente funcionasse? Obrigado.

  8. Avatar de Rafael

    Este : SELECT TOP 1 CAMPO FROM TABELA ORDER BY RND(INT(NOW*IDDATABELA)-NOW*IDDATABELA , funciona perfeitamente , muito obrigado ai , fiquei um tempao procurando !!!!

  9. Avatar de JOSE ROBERTO
    JOSE ROBERTO

    Cara, serei grato a vc estava procurando uma formula a muito tempo e voce acabou de resolver meu problema, obrido!!

  10. Avatar de Junior
    Junior

    Cara…..impressionante o que você conseguiu pensar……meus parabéns……parabéns mesmo….

  11. Avatar de Andre Bandeira

    Simplesmente Brilhante!!!!

    Obrigado pela Obra Prima !!!!

    []’s

  12. Avatar de Gustavo Spitale

    Cara!! FUNCIONOU PERFEITAMENTE!! VALEU DEMAISS!!!!

  13. Avatar de Fabricio Cardoso
    Fabricio Cardoso

    Kra pansei quase uma hora testanto mais conseguir ao resultado que eu queria valeu mesmo foi muito util

  14. Avatar de Fabricio Cardoso
    Fabricio Cardoso

    Oi pessoal? Uma pergunta essa sua instrução Sql funciona nesta visão:

    Quero fazer o sorteio doS regitros de uma tabela que tem no máximo 5 a 10 registro cadastrados.Através dessa instrução funciona? E como faço?
    Agradeço

  15. Avatar de Fabrício Serrante
    Fabrício Serrante

    Pessoal, estou com um problema e não consigo resolver já faz 3 dias….estou no modo formulário e estou criando uma caixa de combinação, mas quando estou selecionando os itens que desejo que apareça e logo depois tem a opção de avançar, logo que clico ali apareçe uma msg assim: componente activeX não pode criar objeto
    O que vem ser isso e como faço para solucionar este problema, fico no aguardo de ajuda de alguém.
    Desde já agradeço a todos
    Fabrício.

  16. Avatar de carlos damelio
    carlos damelio

    Muy buena solución, carlos de buenos aires.

  17. Avatar de Leo

    Era o que tava procurando pra resolver um probleminha meu aqui.
    valeu pela força,
    abraços

  18. Avatar de PAULO

    Meus parabens, mesmo olhando a documentação do Access nao tinha conseguido resolver esse problema !

    Muito obrigado por compartilhar essa solução conosco.

  19. Avatar de Eduardo
    Eduardo

    Ops!!! Era erro na consulta não tem nada a ver com a funçã Now() desconsiderem minha dúvida, desculpe e Obrigado.

  20. Avatar de Eduardo
    Eduardo

    Olá, essa função funcionou quando fiz localmente, mas ao enviar ao servidor apresenta o seguinte erro:

    “Microsoft OLE DB Provider for ODBC Drivers error ‘80040e10’
    [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.”

    Meu Windows e Access está em Inglês, o servidor acredito ser um Windows Português. Isso influencia???

  21. Avatar de Eduardo
    Eduardo

    Caras, este Select funciona no SQL SErver… Abraços Edu

  22. Avatar de Tivin
    Tivin

    Cara, fiquei ate as 3 procurando um jeito.. e agora vou dormir graças a vc! valeu d+

  23. Avatar de victor
    victor

    ele traz sempre os mesmo quando eu faço isso por exemplo select top 5 * from dbo.FMTB015_CLIENTE ORDER BY RAND(CLI_NU_SEQUENCIAL) Alguem sabe porque ? obrigado

  24. Avatar de Clémerson
    Clémerson

    Esta procurando um esquema para geral registros aleatórios e pesquisando no Google, graças a Deus ehehe achei vocês… obrigado….[]s

  25. Avatar de Marcelo
    Marcelo

    Não man, eu coloco a consulta direto no Access e funciona normalmente, mas quando eu coloco a consulta na página para fazer a chamada pro banco Access não funciona. Sempre volta a mesma linha. Eu resolvi de outra forma aqui, usando vetor. Olha a solução ai. Dim vetor vetor = array() set qtd = Conexao.execute(“SELECT count(*) as qtd FROM TABELA”) set cod = Conexao.execute(“SELECT cod FROM TABELA”) qtd = qtd(“qtd”) redim vetor(qtd) i = 1 while not(cod.EOF) vetor( i ) = cod(“cod”) i = i + 1 cod.movenext wend Randomize randomico = CInt(Rnd()*qtd) if(randomico = 0)then randomico = 1 end if

  26. Avatar de Elcio
    Elcio

    Tentou as duas soluções do post e essa que o Hugo colocou nos comentários? Nenhuma funcionou?

  27. Avatar de Marcelo
    Marcelo

    como esta escrito parece que é o ID da tabela no catalogo de dados. Mas blz, sim , eu ja coloquei a PK da tabela, mas sempre retorno o mesmo valor.

  28. Avatar de Elcio
    Elcio

    Marcelo, substitua IDDATABELA pela Primary Key da sua tabela (geralmente se chama codigo, id ou id_nomedatabela…)

  29. Avatar de Marcelo
    Marcelo

    Ola amigos, preciso saber como pegar o [ID] de uma tabela no Access para poder usar essa cunsulta : SELECT TOP 1 CAMPO FROM TABELA ORDER BY RND(INT(NOW*IDDATABELA)-NOW*IDDATABELA Como eu posso pegar o ID de uma tabela no Access ? obrigado Marcelo Diniz

  30. Avatar de hugo gariglio
    hugo gariglio

    SQL = “select * from TABELA order by Rnd(Int(Now()*[ID])-Now()*[ID]);” esse aqui rodou beleza em SQL e Acess… baum também!

  31. Avatar de Alexandre Aquino
    Alexandre Aquino

    Você quebrou uma dor de cabeça, foi difícil lhe encontrar, mas valeu a pena, resolvel meu problema, obrigado! Deus lhe abençoe!

  32. Avatar de Jorge
    Jorge

    Estou queimando minha mufa nisso a três dias, já testei de tudo e nada, quer dizer até agora… Valeu mesmo pela ajuda!!! Um abraço

  33. Avatar de André Silveira
    André Silveira

    Excelente mano.. perfeito..

  34. Avatar de André Silveira
    André Silveira

    Excelente mano.. perfeito..

  35. Avatar de Alexandra
    Alexandra

    Vc salvou minha vida!! Valeu!

  36. Avatar de Roni
    Roni

    Porra! Você é o único cara que conseguiu resolver de verdade esse problema… Parabéns!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *