GARANTIR DESCONTO

Fórum Sorteio de Itens com Random não esta Funcionando ? #268323

12/02/2005

0

Pessoal estava utilizando antes IB6, utiliza esta rotina p/ sortear itens
o usuário diz quantos itens ele quer sortear e pronto, agora estou usando
Fb e a rotina não funcionado + alguem pode me dizer porque ?
Obrigado a tds !!!

var
i:Integer;
Quantos:Integer;
QuantItens:Integer;
Estoque:Currency ;
begin
Application.ProcessMessages ;
Quantos:=StrToInt(EdQuantos.Text);
QuantItens:=165741 ;
i:=1;
Randomize;
TableTemp.EmptyDataSet ;
ObjPro.LerDados ;
While i <= Quantos do
begin
ObjPro.Tb_Produto.RecNo:=Random(QuantItens);
TableTemp.Append ;
TableTemp.FieldByName(´Produto´ ).Text:=ObjPro.Tb_Produto.FieldByname(´Produto´ ).Text ;
TableTemp.FieldByName(´Preco_Venda´ ).Text:=ObjPro.Tb_Produto.FieldByname(´Preco_Venda´ ).Text ;
TableTemp.FieldByName(´Preco_Compra´).Text:=ObjPro.Tb_Produto.FieldByname(´Preco_Compra´).Text ;
TableTemp.FieldByName(´Quantidade´ ).Text:=ObjPro.Tb_Produto.FieldByname(´Quantidade´ ).Text ;
i:=i+1;
end;


Essistemas

Essistemas

Responder

Posts

13/02/2005

Beppe

O componente de acesso ainda é o mesmo?

Se você dispor de uma UDF com uma rotina Random, use o seguinte SQL com o FB:

select first Quantos * from Tabela order by Random

onde Quantos é o número de ítems que vc quer. Não estou certo, mas acho que isto não dá para parametrizar, então vc substitui pelo valor por vc mesmo.


Responder

Gostei + 0

14/02/2005

Essistemas

Tentei usar desta forma + não deu certo
diz que
select first 10 * from produtos
order by Random o erro é na linha order by random
não tenho uma UDF como poderia criar p/ solucionar este
problema !!

Obrigado !!


Responder

Gostei + 0

14/02/2005

Motta

palpite ...

tente ...

select first 10 produtos.*,random
from produtos
order by Random


deve existir um objeto random (function , view etc) qualquer claro !!


Responder

Gostei + 0

14/02/2005

Motta

Na realidade a random (pela sua estrutura) deve ser uma package (Oracle) , não seu se FB tem isto.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar