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 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.

Elcio: Elcio é sócio fundador da Visie Padrões Web. Pioneiro no uso e divulgação dos padrões do W3C no Brasil, Elcio já treinou equipes de dezenas de empresas como Globo.com, Terra, Petrobras, iG e Locaweb. Além disso, tem dirigido as equipes da Visie no desenvolvimento de projetos web para marcas como Brastemp, Itaú Unibanco, Johnson & Johnson e Rede Globo.

View Comments (36)

  • 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 !!!

  • 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

  • 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?

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

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

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