Seleção aleatória de registros

Delphi

11/07/2005

Por favor, alguem pode me ajudar. Estou com o seguinte problema:
Preciso desenvolver uma mala direta dando ao usuário a possibilidade de escolha aleatória de para quem enviar a mala. O problema é como fazer isso. Alguma idéia?
Grato.


Jats

Jats

Curtidas 0

Respostas

Caninha51

Caninha51

11/07/2005

Vc quer uma instrução sql q ter retorne registros aleatórios eh?
Qual banco tu usa?


GOSTEI 0
Jats

Jats

11/07/2005

Alo
Uso o SQL Server 6.5 e Delphi 7. Tenho que preparar uma tela onde o usuário escolheria, aleatoriamente, os destinatarios da mala


GOSTEI 0
Jats

Jats

11/07/2005

Resolvi da seguinte maneira: montei uma tela com uma CheckListBox preenchida com os nomes de todos os clientes. Ai o usuário fará sua escolha de quais ele quer enviar mala direta. Com o auxilio de uma stored procedure que eu criei salvo em um determinado campo da tabela os clientes escolhidos e com esses monto a instrução sql para envio da mala.


GOSTEI 0
Motta

Motta

11/07/2005

o SqlServer não tem uma function que gere nºs randomicos ?


GOSTEI 0
Khundalini

Khundalini

11/07/2005

Se eu fosse fazer esse tipo de seleção aleatória, carregaria os registros dos clientes da mala direta em um ClientDataSet e usaria a função Random pra me gerar um número aleatório entre 0 e a quantidade de registros do ClientDataSet - 1. Assim, funciona pra qualquer banco de dados.

[]
Rubem Rocha
Manaus, AM


GOSTEI 0
Jats

Jats

11/07/2005

Motta e Khundalini

Não sei se entendi bem essa solução. Dessa maneira, usando essa função Random, o usuário poderia selecionar para quem mandar a mala direta?
O caráter aleatório, nesse caso, deve ser dado pelo usuário. Ou seja, ele que escolhe para quem mandar a mala, sem nenhum critério pré-definido no banco.

Grato


GOSTEI 0
Khundalini

Khundalini

11/07/2005

Ah, então vc agora explicou! Quando vc falou aleatório, entendi que o programa iria escolher um cliente ao acaso pra enviar correspondência a ele! Se for isso, é só pegar o resultado da consulta e colocar num DBGrid e programar a correspondência para imprimir apenas aquele registro.

[]s
Rubem Rocha
Manaus, AM


GOSTEI 0
POSTAR