pega no historico da lista minha resposta sobre isso.. te mandei uma funçao
q te ajudara mto...

[]´s
Bruno Lichot
Micrologos Dream Team
Equipe Editorial ClubeDelphi DevMedia

[EMAIL PROTECTED]
[EMAIL PROTECTED]

www.micrologos.com.br - www.clubedelphi.net - www.dugrj.com.br
----- Original Message -----
From: "Francisco Thiago" <[EMAIL PROTECTED]>
To: <delphi-br@yahoogrupos.com.br>
Sent: Thursday, May 04, 2006 4:36 PM
Subject: [delphi-br] Index no CDS não funciona. O que pode ser?


> Muitos dos meus e-mails para o yahoo tem voltado, por isso vou enviar este
> novamente
>
>
> Caros amigos!
>
> Tenho uma procedure que ordena o CDS de acordo com os campos que eu passar
> no parâmetro. Ele tenta criar o índice. Se já tiver um índice criado, ele
> monta outro com as mesmas características, só que descendente.
>
> A questão é que não está funcionando direito. Vejam o código. Eu comento
> onde está o erro.
>
> class procedure TDbUtils.OrderByField(FieldName: string;
>   DataSet: TClientDataSet);
> var
>   ls_index        :string;
>   ls_IndexName    :string;
> begin
>   with DataSet do
>   begin
>     //Monta nome do Índice
>     if Pos(';',FieldName) <> 0 then
>       ls_IndexName := Copy(FieldName,1,Pos(';',FieldName)-1)
>     else
>       ls_IndexName := FieldName;
>
>     if IndexName = 'IDX_'+ls_IndexName then
>     begin
>       ls_Index := 'IDX_'+ ls_IndexName +'_D';
>       IndexDefs.Clear;
>       with IndexDefs.AddIndexDef do
>       begin
>         Name := ls_index;
>         DescFields := FieldName;
>         Fields := FieldName;
>         Options := [ixDescending];
>       end;
>       IndexName := ls_Index;
>     end
>     else
>     begin
>       ls_index := 'IDX_'+ ls_IndexName;
>       IndexDefs.Clear;
> (*
>
> Com esse trecho de código funciona. Ele indexa normalmente.
>       with IndexDefs.AddIndexDef do
>       begin
>         Name := ls_index;
>         Fields := FieldName;
>       end;
>       IndexFieldNames := FieldName;
> *)
>
>
> { Com esse código aqui não funciona }
>       IndexDefs.Clear;
>       with IndexDefs.AddIndexDef do
>       begin
>         Name := ls_index;
>         DescFields := '';
>         Fields := FieldName;
>         Options := [];
>       end;
>       IndexName := ls_Index;
>     end;
>   end;
> end;
>
>
> Alguém teria uma sugestão?
>
>
> Obrigado
>
>
> Francisco Thiago de Almeida
> Enter & Plug Informática
> Divisão: Desenvolvimento e Banco de dados
> Franca / SP
> msn: [EMAIL PROTECTED]
> http://enterplug.no-ip.com/sistema_ctrc/
>
>
>
> _______________________________________________________
> Abra sua conta no Yahoo! Mail: 1GB de espaço, alertas de e-mail no celular
e anti-spam realmente eficaz.
> http://br.info.mail.yahoo.com/
>
>
> --
> <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
>
>
>
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>
> __________ Informação do NOD32 IMON 1.1521 (20060504) __________
>
> Esta mensagem foi verificada pelo NOD32 sistema antivírus
> http://www.eset.com.br
>
>



--
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]



Yahoo! Grupos, um serviço oferecido por:
PUBLICIDADE


Links do Yahoo! Grupos

Responder a