Bom dia,
Eu utilizo com uma Query.
Vc também pode utilizar com um ClientDataSet, adicionando ao index o 
field da tabela

procedure OrdenaGrid(grid: TwwdbGrid; Field : String);
var
 posicao : integer;
begin
  with (grid.DataSource.DataSet as TIBQuery) do
  begin
    posicao := pos(' ORDER BY', UpperCase(SQL.Text));
    if posicao = 0 then
      sql.Add(' ORDER BY ' + Field)
    else
      if pos(' DESC', UpperCase(SQL.Text)) = 0 then
         sql.text := Copy(sql.text, 1, Posicao - 1) + ' ORDER BY ' + 
Field + ' DESC'
      else
         sql.text := Copy(sql.text, 1, Posicao - 1) + ' ORDER BY ' +Field;

    open;
   
  end;
end;

Luiz Carlos escreveu:
>
> Coutinho - Yahoo escreveu:
> >
> > Luis Carlos.
> >
> > Não sei se os colegas que te responderam antes entenderam o que vc
> > deseja. Eu entendi que você quer controlar, aleatoriamente, ou como der
> > na telha, em determinado momento a ordem de inclusão de registros numa
> > tabela...
> >
> > Bem, pelo visto você deseja alterar hoje de uma forma, amanhã, de 
> outra...
> >
> > Eu sugiro que vc coloque um campo numérico, com valor inteiro, e coloque
> > um índice único neste campo... Este campo é o que vc deverá alterar,
> > inserindo números sequencialmente para que sejam apresentados na ordem
> > que vc deseja.
> >
> > Lembre, que o conteúdo do campo é o que ordena, e se for um campo
> > string, o sgbd vai letra a letra, fazendo a indexação, então:
> > "Antonia", vem antes de "Antonio", "Jorge" antes de "José"... e assim
> > sucessivamente.
> >
> > Você pode ainda usar vários campos... por exemplo
> > Se for gerar um view (ou pesquisa do access), crie um campo que analise
> > o valor do campo, e te dê uma resposta lógica (boolean), e depois, use
> > outro campo para ser a próxima chave do índice... e um terceiro e assim
> > sucessivamente... aí sua imaginação é que vai dizer, mas ainda assim, eu
> > usaria um "sql" para isso, pois você poderá manipulá-lo de forma mais
> > "controlada"
> >
> > Sds
> > Emanuel Coutinho
> >
> > Luiz Carlos escreveu:
> > >
> > > Olá a todos,
> > >
> > > Estou com o seguinte problema; tenho uma sequencia de 5 registros e
> > > gostaria de mudar a ordem deles, podendo escolher em que posição
> > > inseri-los, por exemplo:
> > > modo original:
> > > 1 - registro 1
> > > 2 - registro 2
> > > 3 - registro 3
> > > 4 - registro 4
> > > 5 - registro 5
> > >
> > > resultado desejado:
> > > 1 - registro 2
> > > 2 - registro 3
> > > 3 - registro 4
> > > 4 - registro 5
> > > 5 - registro 1
> > >
> > > isso de forma aleatório,
> > >
> > > alguma idéia?
> > >
> >
> >
> > Mensagens neste tópico
> > 
> <http://br.groups.yahoo.com/group/delphi-br/message/192092;_ylc=X3oDMTM4dWQ3aGVuBF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BG1zZ0lkAzE5MjEzMgRzZWMDZnRyBHNsawN2dHBjBHN0aW1lAzEyMjIxODE5MDkEdHBjSWQDMTkyMDky
>  
> <http://br.groups.yahoo.com/group/delphi-br/message/192092;_ylc=X3oDMTM4dWQ3aGVuBF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BG1zZ0lkAzE5MjEzMgRzZWMDZnRyBHNsawN2dHBjBHN0aW1lAzEyMjIxODE5MDkEdHBjSWQDMTkyMDky>>
>  
>
> > (4) Responder (através da web)
> > 
> <http://br.groups.yahoo.com/group/delphi-br/post;_ylc=X3oDMTJyNzFqZGg5BF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BG1zZ0lkAzE5MjEzMgRzZWMDZnRyBHNsawNycGx5BHN0aW1lAzEyMjIxODE5MDk-?act=reply&messageNum=192132
>  
> <http://br.groups.yahoo.com/group/delphi-br/post;_ylc=X3oDMTJyNzFqZGg5BF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BG1zZ0lkAzE5MjEzMgRzZWMDZnRyBHNsawNycGx5BHN0aW1lAzEyMjIxODE5MDk-?act=reply&messageNum=192132>>
>  
>
> > | Adicionar um novo tópico
> > 
> <http://br.groups.yahoo.com/group/delphi-br/post;_ylc=X3oDMTJldXI4dm5kBF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTIyMjE4MTkwOQ--
>  
> <http://br.groups.yahoo.com/group/delphi-br/post;_ylc=X3oDMTJldXI4dm5kBF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTIyMjE4MTkwOQ-->>
>  
>
> >
> > Mensagens
> > 
> <http://br.groups.yahoo.com/group/delphi-br/messages;_ylc=X3oDMTJlbHFjaGtvBF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA21zZ3MEc3RpbWUDMTIyMjE4MTkwOQ--
>  
> <http://br.groups.yahoo.com/group/delphi-br/messages;_ylc=X3oDMTJlbHFjaGtvBF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA21zZ3MEc3RpbWUDMTIyMjE4MTkwOQ-->>
>  
>
> > | Arquivos
> > 
> <http://br.groups.yahoo.com/group/delphi-br/files;_ylc=X3oDMTJmcDh0a2tpBF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA2ZpbGVzBHN0aW1lAzEyMjIxODE5MDk-
>  
> <http://br.groups.yahoo.com/group/delphi-br/files;_ylc=X3oDMTJmcDh0a2tpBF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA2ZpbGVzBHN0aW1lAzEyMjIxODE5MDk->>
>  
>
> > | Fotos
> > 
> <http://br.groups.yahoo.com/group/delphi-br/photos;_ylc=X3oDMTJlaWJyNmdmBF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA3Bob3QEc3RpbWUDMTIyMjE4MTkwOQ--
>  
> <http://br.groups.yahoo.com/group/delphi-br/photos;_ylc=X3oDMTJlaWJyNmdmBF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA3Bob3QEc3RpbWUDMTIyMjE4MTkwOQ-->>
>  
>
> > | Links
> > 
> <http://br.groups.yahoo.com/group/delphi-br/links;_ylc=X3oDMTJmamJvOHI4BF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA2xpbmtzBHN0aW1lAzEyMjIxODE5MDk-
>  
> <http://br.groups.yahoo.com/group/delphi-br/links;_ylc=X3oDMTJmamJvOHI4BF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA2xpbmtzBHN0aW1lAzEyMjIxODE5MDk->>
>  
>
> > | Banco de dados
> > 
> <http://br.groups.yahoo.com/group/delphi-br/database;_ylc=X3oDMTJjZW91YzZyBF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA2RiBHN0aW1lAzEyMjIxODE5MDk-
>  
> <http://br.groups.yahoo.com/group/delphi-br/database;_ylc=X3oDMTJjZW91YzZyBF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA2RiBHN0aW1lAzEyMjIxODE5MDk->>
>  
>
> >
> > --
> > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
> >
> > 
> <http://br.groups.yahoo.com/;_ylc=X3oDMTJkb3A4cnVoBF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA2dmcARzdGltZQMxMjIyMTgxOTA5
>  
> <http://br.groups.yahoo.com/;_ylc=X3oDMTJkb3A4cnVoBF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA2dmcARzdGltZQMxMjIyMTgxOTA5>>
>  
>
> >
> > Alterar configurações via web
> > 
> <http://br.groups.yahoo.com/group/delphi-br/join;_ylc=X3oDMTJmMjFjMWtsBF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA3N0bmdzBHN0aW1lAzEyMjIxODE5MDk-
>  
> <http://br.groups.yahoo.com/group/delphi-br/join;_ylc=X3oDMTJmMjFjMWtsBF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA3N0bmdzBHN0aW1lAzEyMjIxODE5MDk->>
>  
>
> > (Requer Yahoo! ID)
> > Alterar configurações via e-mail: Alterar recebimento para lista
> > diária de mensagens
> > <mailto:[EMAIL PROTECTED] 
> <mailto:delphi-br-digest%40yahoogrupos.com.br>?subject=%20Recebimento%20de%20e-mail:%20Lista%20de%20mensagens>
>  
>
> > | Alterar formato para o tradicional
> > <mailto:[EMAIL PROTECTED] 
> <mailto:delphi-br-traditional%40yahoogrupos.com.br>?subject=Alterar+formato+de+distribui%E7%E3o:+Tradicional>
>  
>
> >
> > Visite seu Grupo
> > 
> <http://br.groups.yahoo.com/group/delphi-br;_ylc=X3oDMTJkNDFrazMyBF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA2hwZgRzdGltZQMxMjIyMTgxOTA5
>  
> <http://br.groups.yahoo.com/group/delphi-br;_ylc=X3oDMTJkNDFrazMyBF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA2hwZgRzdGltZQMxMjIyMTgxOTA5>>
>  
>
> > | Termos de uso do Yahoo! Grupos <http://br.yahoo.com/info/utos.html 
> <http://br.yahoo.com/info/utos.html>>
> > | Sair do grupo
> > <mailto:[EMAIL PROTECTED] 
> <mailto:delphi-br-unsubscribe%40yahoogrupos.com.br>?subject=>
> > Atividade nos últimos dias
> >
> > *
> > 14
> > Novos usuários
> > 
> <http://br.groups.yahoo.com/group/delphi-br/members;_ylc=X3oDMTJmbGYxbXU4BF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwN2dGwEc2xrA3ZtYnJzBHN0aW1lAzEyMjIxODE5MDk-
>  
> <http://br.groups.yahoo.com/group/delphi-br/members;_ylc=X3oDMTJmbGYxbXU4BF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwN2dGwEc2xrA3ZtYnJzBHN0aW1lAzEyMjIxODE5MDk->>
> > *
> > 1
> > Novos arquivos
> > 
> <http://br.groups.yahoo.com/group/delphi-br/files;_ylc=X3oDMTJnc2VrOGprBF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwN2dGwEc2xrA3ZmaWxlcwRzdGltZQMxMjIyMTgxOTA5
>  
> <http://br.groups.yahoo.com/group/delphi-br/files;_ylc=X3oDMTJnc2VrOGprBF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwN2dGwEc2xrA3ZmaWxlcwRzdGltZQMxMjIyMTgxOTA5>>
> >
> > Visite seu Grupo
> > 
> <http://br.groups.yahoo.com/group/delphi-br;_ylc=X3oDMTJlZTg3bjQ4BF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTIyMjE4MTkwOQ--
>  
> <http://br.groups.yahoo.com/group/delphi-br;_ylc=X3oDMTJlZTg3bjQ4BF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTIyMjE4MTkwOQ-->>
>  
>
> >
> > Yahoo! Mail
> >
> > Conecte-se ao mundo
> > 
> <http://us.lrd.yahoo.com/_ylc=X3oDMTJsZzY0OXAwBF9TAzk3NDkwNDM3BF9wAzEEZ3JwSWQDMTA1ODc3OARncnBzcElkAzIxMzcxMTEyNjQEc2VjA25jbW9kBHNsawNtYWlsBHN0aW1lAzEyMjIxODE5MDk-;_ylg=1/SIG=10ujd6ds6/**http%3A//mail.yahoo.com.br/
>  
> <http://us.lrd.yahoo.com/_ylc=X3oDMTJsZzY0OXAwBF9TAzk3NDkwNDM3BF9wAzEEZ3JwSWQDMTA1ODc3OARncnBzcElkAzIxMzcxMTEyNjQEc2VjA25jbW9kBHNsawNtYWlsBHN0aW1lAzEyMjIxODE5MDk-;_ylg=1/SIG=10ujd6ds6/**http%3A//mail.yahoo.com.br/>>
> >
> > Proteção anti-spam
> >
> > Muito mais espaço
> >
> > Yahoo! Barra
> >
> > Instale grátis
> > 
> <http://us.lrd.yahoo.com/_ylc=X3oDMTJvOWNqZmNpBF9TAzk3NDkwNDM3BF9wAzIEZ3JwSWQDMTA1ODc3OARncnBzcElkAzIxMzcxMTEyNjQEc2VjA25jbW9kBHNsawN0b29sYmFyBHN0aW1lAzEyMjIxODE5MDk-;_ylg=1/SIG=111ngvtas/**http%3A//br.toolbar.yahoo.com/
>  
> <http://us.lrd.yahoo.com/_ylc=X3oDMTJvOWNqZmNpBF9TAzk3NDkwNDM3BF9wAzIEZ3JwSWQDMTA1ODc3OARncnBzcElkAzIxMzcxMTEyNjQEc2VjA25jbW9kBHNsawN0b29sYmFyBHN0aW1lAzEyMjIxODE5MDk-;_ylg=1/SIG=111ngvtas/**http%3A//br.toolbar.yahoo.com/>>
> >
> > Buscar sites na web
> >
> > Checar seus e-mails .
> >
> > Yahoo! Grupos
> >
> > Crie seu próprio grupo
> > 
> <http://br.groups.yahoo.com/;_ylc=X3oDMTJvOWRqdWprBF9TAzk3NDkwNDM3BF9wAzMEZ3JwSWQDMTA1ODc3OARncnBzcElkAzIxMzcxMTEyNjQEc2VjA25jbW9kBHNsawNncm91cHMyBHN0aW1lAzEyMjIxODE5MDk-
>  
> <http://br.groups.yahoo.com/;_ylc=X3oDMTJvOWRqdWprBF9TAzk3NDkwNDM3BF9wAzMEZ3JwSWQDMTA1ODc3OARncnBzcElkAzIxMzcxMTEyNjQEc2VjA25jbW9kBHNsawNncm91cHMyBHN0aW1lAzEyMjIxODE5MDk->>
> >
> > A melhor forma de comunicação
> >
> > .
> >
> > __,_._,
> _
> Só para deixar bem claro amigos,
> eu tenho um campo inteiro para fazer a ordenação, estou tentando
> implementar isso em um dbgrid onde eu clico em um botão e o registro que
> está na posição 5 vai para a posição 4 e assim por diante. e tenho outro
> botão que muda os registros da posição 5 para a 6 incrementando o valor.
>
> O problema é que quando eu tento colocar o registro da posição 5 para a
> posição 4 eu tenho que pegar o registro da posição 4 e coloca-lo na
> posição 5, assim por diante.
>
>  

--
Antes de imprimir, pense na sua responsabilidade com o Meio Ambiente.

Responder a