Jump to content


Photo

Escolha Aleatória Entre Determinados Registros


  • Faça o login para participar
26 replies to this topic

#16 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 03/02/2004, 17:35

Olá. A solução temporária que eu dei pra esse rapaz foi exatamente essa. Mas esse seu post me deu uma idéia... Vou testar, se der certo, posto aqui pra todos.

#17 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 04/02/2004, 18:46

Olá. Não deu certo... A minha idéia tinha sido essa: já que a consulta só funciona no Access, deixava pra ele executar. Montava a consulta lá dentro com aquele SQL e no ASP fazia "SELECT * FROM Consulta". Tipo Stored Procedure. Mas não deu certo. Continuou pegando o mesmo. Alguém conseguiu alguma coisa?

#18 ESBF

ESBF

    12 Horas

  • Usuários
  • 169 posts
  • Sexo:Não informado

Posted 04/02/2004, 23:48

Ae, Leo. Olha, como falei pra vc eu só estou utilizando consultas para executar comandos no banco ou para selecionar registros.
Como não deu certo eu tentei fazer usando o texto SQL direto no ASP, mas também furou.
Agora, é muito estranho não funcionaar, pois quando a gente executa no access ele retona tudo certo, quer dizer, se ele retornou os registros certos, então estes registros deveriam ir para o recordset.
Bom, de qualquer forma vou usar aquela opção da qual te falei.
No mais, vamos esperar alguém descobrir o erro e postar aqui. :D

Valeu ae!! (y)

#19 K I L L I N G

K I L L I N G

    Batera na veia, ASP no coração

  • Banidos
  • PipPipPipPip
  • 398 posts
  • Sexo:Não informado

Posted 05/02/2004, 01:34

Pelo que entendi eu acho que deve dar assim:
strvar = "1,2,3,5,8,10"
VAR = split(strvar,",")

SQLstr=""
For i = 0 To UBound(VAR)
If SQLstr = "" then
SQLstr = "coluna LIKE '%" & var(i) & "%'"
Else
SQLstr = SQLstr & " OR coluna LIKE '%" & var(i) & "%'"
End if
Next

SQL = "SELECT * FROM tabela WHERE coluna = '" & valor & "' AND " & SQLstr
RS.OPEN SQL,CONEXÃO,1,3
http://www.fiquecomigo.com
http://www.fiquecomigo.com.br
Encontre o amor da sua vida aqui!

Vinícius Nunes Lage
vinibaterabol@msn.com

#20 Maxi

Maxi

    Normal

  • Usuários
  • 72 posts
  • Sexo:Não informado

Posted 06/02/2004, 09:44

veja isto: como ramdimizar os registros de forma fácil e simples

#21 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 06/02/2004, 13:05

Olá Maxi. Mas nesse post não diz qual é o banco de dados. O ESBF está usando Access, e pelo SQL do link que você passou:

SELECT * FROM NOME_DA_TABELA ORDER BY RAND((1000*NOME_DO_CAMPO)*DATEPART(millisecond, GETDATE()))

Parece ser de outro banco de dados, porque RAND no Access é RND. Não sei se você chegou a ler nos post anteriores, mas a consulta com o RND funciona dentro do Access, como uma consulta. O problema é quando é o ASP quem passa o SQL. Aí vem sempre o mesmo....

Mas por via das dúvidas... Funcionou ESBF?

#22 mbombonato

mbombonato

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado

Posted 06/10/2005, 09:52

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.

vou deixar os creditos para uma pagina em cache do google
http://64.233.161.10...access&hl=pt-BR

#23 Agente Linhares

Agente Linhares

    fuis...abraços!

  • Ex-Admins
  • 3138 posts
  • Sexo:Não informado
  • Localidade:Biritiba Mirim-SP

Posted 28/03/2006, 00:35

entao gente...

eu tb estava precisando de um esquema de Randomizar, mas pelo próprio SQL msmo.

como o ex. que citaram na ideia do tópico não deu certo (o que é muito estranho), ficamos meio desamparados..


MUIITOO boa essa maneira mostrada pelo mbombonato, porém tenho medode usar isso em algum projeto importante e isso começar a apresentar erro do nda...

pq pela lógica, vc faz algo relacionado a pegar o valor da hora/data atual * o campo em questão aí vc vai e subtrai esse valor pelo mesmo esquema...puts...um troço estranho..sei q ta funcionando, mas tenho receio em usar como ja disse.

alguem encontrou algum meio "correto" de fazer o RND dentro do SQL funfar direito?

ou até alguma explicação lógica pro não funcionamento do RND na SQL...

* caso alguem descubra algo, poste aqui please...tb o farei.

flw
> Busca On-line - A Busca que faltava na Internet! - Cadastre-se!
---------------------------------------------------------------------------
> BRdesign.NET - Soluções em Websites e Sistemas E-Commerce.
---------------------------------------------------------------------------
> BR-ecommerce - Sua loja virtual na internet! - Apenas R$99,90 mensais (hospedagem inclusa)!

#24 Generation

Generation

    Super Veterano

  • Usuários
  • 1546 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 28/03/2006, 00:42

segue Linhares, um link que um jeito que funcionou :)

http://blog.elcio.co...orio_no_access/
Favoritos : | OpenSuse | Opera | Firefox | NetBeans | GMail | Leia As Regras | Use a Busca | Como fazer Perguntas Inteligentes |
“Obstáculos são aquelas coisas medonhas que você vê quando tira seus olhos de seu objetivo” (Henry Ford)
“É impossível para um homem aprender aquilo que ele acha que já sabe.” (Epíteto)
“A única razão da existência do tempo é para que todas as coisas não aconteçam de uma vez.”(Albert Einstein)

#25 Agente Linhares

Agente Linhares

    fuis...abraços!

  • Ex-Admins
  • 3138 posts
  • Sexo:Não informado
  • Localidade:Biritiba Mirim-SP

Posted 28/03/2006, 13:13

obrigado Generation.

então..mas como eu disse, eu to usando esse esquema acima...

so que acredito ser um agambiarra..hehe

portanto, o q me garante que essa randomização não falhe alguma vez...tende?

deixar na mão ou algo assim.

e seria legal q isso tivesse um alogica..nao so pegar um valor qualuer, que foi como acho q foi feito e calcular c/ o id


e puts, seria legal se funcionasse a maneira correta: ORDER BY(campo)

mas por hora, fico usando essa maneira mso, q ja foi uma mão na roda..e outra, é so c/ o access maletido.no sql server tem a maneira certa q funfa e no mysql tb..hehe

so faltou no access...rs

valeu de qualuer forma.

obs: nossa, queria ver a parte da documentação q o cara q postou no blog disse ter lido..
> Busca On-line - A Busca que faltava na Internet! - Cadastre-se!
---------------------------------------------------------------------------
> BRdesign.NET - Soluções em Websites e Sistemas E-Commerce.
---------------------------------------------------------------------------
> BR-ecommerce - Sua loja virtual na internet! - Apenas R$99,90 mensais (hospedagem inclusa)!

#26 knoxville

knoxville

    Backdoor Man

  • Usuários
  • 951 posts
  • Sexo:Masculino
  • Localidade:Itajaí - SC

Posted 29/03/2006, 12:16

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.

não intendi, alguem pode me explicar como aplicar isto?
o q seria o NOW e o IDDATABELA?
brigado! (y)

#27 michaelmujica

michaelmujica
  • Visitantes

Posted 17/05/2006, 16:00

E se ao invés de 1(um) registro apenas quisessemos 4(quatro) randomicamente. A cada acesso os 4 registros são colocados randomicamente , entendem???

Abraços.
Michael Traeger




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq