RxMemory
Olá...
Alguém sabe como ordenar os registros em uma tabela temporária??
Por exemplo tenho os seguintes campos:
cFabric
Fantasia
cConstrucao
cRefer
dRefer
dModelista
dtCorte
dtReuniaoTecnica
ParTecIni
quero ordenar na sequência: cFabric, Fantasia, cConstrucao
Alguém sabe como ordenar os registros em uma tabela temporária??
Por exemplo tenho os seguintes campos:
cFabric
Fantasia
cConstrucao
cRefer
dRefer
dModelista
dtCorte
dtReuniaoTecnica
ParTecIni
quero ordenar na sequência: cFabric, Fantasia, cConstrucao
Daia
Curtidas 0
Respostas
Steve_narancic
28/12/2006
RxMemory.SortOnFields(´CAMPO´,True,False);
GOSTEI 0
Daia
28/12/2006
Obrigada...
Mas como faço para ordenar mais de uma campo... por exemplo:
FPrincipal.temp.SortOnFields(´dRefer´,´Fantasia´,´dFabric´,False,True);
Tem como?
Mas como faço para ordenar mais de uma campo... por exemplo:
FPrincipal.temp.SortOnFields(´dRefer´,´Fantasia´,´dFabric´,False,True);
Tem como?
GOSTEI 0
Steve_narancic
28/12/2006
tenta
ou
FPrincipal.temp.SortOnFields(´dRefer;Fantasia;dFabric´,False,True);
FPrincipal.temp.SortOnFields(´dRefer,Fantasia,dFabric´,False,True);
ou
FPrincipal.temp.SortOnFields(´dRefer;Fantasia;dFabric´,False,True);
GOSTEI 0
Daia
28/12/2006
até aceitou o código do jeito q vc colocou, mas não está organizando...
Coloquei o código no BeforePrint da banda...
Coloquei o código no BeforePrint da banda...
GOSTEI 0
Daia
28/12/2006
alguém?
GOSTEI 0
Daia
28/12/2006
na verdade ele está ordenando na ordem decresente... e gostaria que fosse ascendente... alguém pode me ajudar?
GOSTEI 0
Ronaldo Pimenta
28/12/2006
Olha eu estou meio que sem tempo para te explicar mas dá uma
olhada pra ver se vc tira algum proveito
procedure TF_ListPADRAO.ClassificaoCrescente1Click(Sender: TObject);
begin
dmOrdem:= True;
OrdenarDbGrid;
end;
procedure TF_ListPADRAO.Classificacaodecrescente1Click(Sender: TObject);
begin
dmOrdem:= False;
OrdenarDbGrid;
end;
procedure TF_ListPADRAO.OrdenarDbGrid;
begin
// Coluna é uma váriavel string que recebe o campo que vai ser ordenado
if Coluna = ´´ then Exit;
// Caso já exista um indice para este campo então ele deleta
if (Indice <> ´´)and(Indice = Query.IndexName) then Query.DeleteIndex(Indice);
case dmOrdem of // ordem é uma private boolean
False: Query.AddIndex(Coluna, Coluna, [ixDescending],´´,´´,0); // ordena desc
True: Query.AddIndex(Coluna, Coluna, [],´´,´´,0); // ordena asc
end;
Query.IndexName:= Coluna;
Query.First;
Indice:= Coluna; // indice é uma ´private string´ que guarda o indice criado
end;
Té +
olhada pra ver se vc tira algum proveito
procedure TF_ListPADRAO.ClassificaoCrescente1Click(Sender: TObject);
begin
dmOrdem:= True;
OrdenarDbGrid;
end;
procedure TF_ListPADRAO.Classificacaodecrescente1Click(Sender: TObject);
begin
dmOrdem:= False;
OrdenarDbGrid;
end;
procedure TF_ListPADRAO.OrdenarDbGrid;
begin
// Coluna é uma váriavel string que recebe o campo que vai ser ordenado
if Coluna = ´´ then Exit;
// Caso já exista um indice para este campo então ele deleta
if (Indice <> ´´)and(Indice = Query.IndexName) then Query.DeleteIndex(Indice);
case dmOrdem of // ordem é uma private boolean
False: Query.AddIndex(Coluna, Coluna, [ixDescending],´´,´´,0); // ordena desc
True: Query.AddIndex(Coluna, Coluna, [],´´,´´,0); // ordena asc
end;
Query.IndexName:= Coluna;
Query.First;
Indice:= Coluna; // indice é uma ´private string´ que guarda o indice criado
end;
Té +
GOSTEI 0
Daia
28/12/2006
tentei, mas não funcionou...
meu código está assim, e está funcionando, só que está ordenando decrescente e eu queria diferente...
Eu imagino que falta algum parâmetro no código, mas não estou conseguindo encaixar...
FPrincipal.temp.SortOnFields(´Fantasia;dFabric;cConstrucao;dRefer´, False, True);
meu código está assim, e está funcionando, só que está ordenando decrescente e eu queria diferente...
Eu imagino que falta algum parâmetro no código, mas não estou conseguindo encaixar...
FPrincipal.temp.SortOnFields(´Fantasia;dFabric;cConstrucao;dRefer´, False, True);
GOSTEI 0
Ronaldo Pimenta
28/12/2006
Olha, o componente RxMemory não responde a todos os metodos de um dataset como é o caso do comando Filter que não funciona, não tenho tempo agora pra testar este teu comando, sem mais. Tchau!
GOSTEI 0
Daia
28/12/2006
ok.. tudo bem... vou continuar pesquisando..deve haver alguma forma de fazer isso...
GOSTEI 0
Aroldo Zanela
28/12/2006
Colega,
Não seria o caso de utilizar um ClientDataSet?
Não seria o caso de utilizar um ClientDataSet?
GOSTEI 0