Criar índice em tabela temporária.

Delphi

02/10/2003

Olá companheiros,

Estou com um problema em que preciso criar uma tabela temporária para solucioná-lo. Estou utilizando o componente MemoryTable da RxLib e a tabela é criada com sucesso.
O problema é que eu não consigo criar um índice para ordenar os registros pertencentes a ela. Tenho dois campos: Código e Data e preciso ordenar a tabela por estes dois campos.
Se alguém puder me dar alguma dica para eu resolver este problema. Caso alguém já tenha feito isso sem utilizar o MemoryTable eu também aceito outra sugestão.

Grato.

Paulo Roberto F. Serra
Fortaleza-CE


Paulo-serra

Paulo-serra

Curtidas 0

Respostas

Macario

Macario

02/10/2003

Colega nunca usei componentes da rxlib mas eu ja usei assim

tblTemp.Close;
tblTemp.DataBaseName := cTemp;
tbltemp.TableType := ttParadox;
tblTemp.TableName := ´PGer0000´;
With Tbltemp.FieldDefs do
Begin
Clear;
Add( ´Primario´ , ftAutoInc, 00, True);
Add( ´CodEmp´, ftString, 03, False);
Add( ´CodCli´, ftString, 05, False);
Add( ´DesCli´, ftString, 50, False);
Add( ´CodPro´, ftString, 16, False);
Add( ´DesPro´, ftString, 60, False);

Add( ´Dnf´, ftString, 10, False);
Add( ´Nop´, ftString, 05, False);
Add( ´Ped´, ftString, 10, False);
Add( ´Nfi´, ftString, 10, False);
Add( ´Unidade´, ftString, 03, False);
Add( ´Estado´, ftString, 02, False);
Add( ´Municipio´, ftString, 30, False);


Add( ´TotPro´, ftFloat, 00, False);
Add( ´VlrTot´, ftFloat, 00, False);
Add( ´Percentual´,ftFloat, 00, False); //Percentual QTE.
Add( ´PercVlr´, ftFloat, 00, False); //Percentual VLR.
Add( ´CustoM´, ftFloat, 00, False);
Add( ´EncFin´, ftFloat, 00, False);
Add( ´SaldoEst´, ftFloat, 00, False);
Add( ´Ipi´, ftFloat, 00, False);
end;

tblTemp.IndexDefs.Clear;
tblTemp.IndexDefs.Add( ´IPRIMARIO´, ´PRIMARIO´, [ixPrimary] );
tblTemp.IndexDefs.Add( ´IECNF´, ´CODEMP;CODCLI;NFI´, [ixCaseInsensitive] );
tblTemp.IndexDefs.Add( ´IECPRO´, ´CODEMP;CODCLI;CODPRO´, [ixCaseInsensitive] );
tblTemp.IndexDefs.Add( ´IEPROC´, ´CODEMP;CODPRO;CODCLI´, [ixCaseInsensitive] );
tblTemp.IndexDefs.Add( ´IESEG´, ´CODEMP;CSG;CODCLI;CODPRO´, [ixCaseInsensitive] );
tblTemp.IndexDefs.Add( ´IEZON´, ´CODEMP;CODZONA;CODCLI;CODPRO´, [ixCaseInsensitive] );
tblTemp.CreateTable;
tblTemp.Open;
tblTemp.IndexName := ´IECPRO´;
End;


espero que ajude


GOSTEI 0
POSTAR