ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Migrando de D5 c/ Paradox p/ D7 c/ Firebird

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
alexbandeira
Mestre
Mestre


Registrado: Terça-Feira, 27 de Julho de 2004
Mensagens: 812
Localização: Paulista - PE

MensagemEnviada: Ter Nov 13, 2007 2:29 pm    Assunto: Migrando de D5 c/ Paradox p/ D7 c/ Firebird Responder com Citação

Oi pessoal,
Estou migrando de D5 com Banco Paradox p/ D7 Banco Firebird.
Uso muito Locat e Index para mudar a forma de organização "ordenar" dos dados por ex: Ordemar pelo Código uma tbl e em outro momento ordemar pelo nome.
Já percebi q com Index não é possível organizar, sei que devo usar "Order By" mas como devo usar em modo de execulsão. qual é o font.
E qual é o comando para localizar um registro.
Mais uma coisinha se for possível gostaria de poder mudar em tempo de execusão os registros de um grid, s´´o os pares só os impares serám mostrados em um grid ou apenas os do tipo "Madeira".

Grato pela atenção:
Alexandre Bandeira
BM Softwares PE.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
DonOctavioDelFlores
Colaborador
Colaborador


Registrado: Quarta-Feira, 12 de Setembro de 2007
Mensagens: 2630
Localização: Pra lá de Bagda

MensagemEnviada: Ter Nov 13, 2007 2:32 pm    Assunto: Responder com Citação

a diferenca é muito maior do que parece...

vc ta usando tables?
_________________
“The problem with the world is that everyone is a few drinks behind.” Humphrey Bogart
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
AlexSousa
Colaborador
Colaborador


Registrado: Sexta-Feira, 12 de Novembro de 2004
Mensagens: 1879
Localização: São luís - MA

MensagemEnviada: Ter Nov 13, 2007 2:41 pm    Assunto: Responder com Citação

blz alexbandeira,

se estiver usando IBtables, vc pode usar o LOCATE, INDEX pra fazer o q fazia antes com o paradox, mas caso queira mudar isso vc pode usar querys e usar SELECT´S pra fazer consultas e etc...


quanto ao DGRID naum entendir....blz


abraços,
_________________
"Guarda com toda a diligência o teu coração, porque dele procedem as fontes da vida....Prov. 4:23"
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Borland_Linuxer
Moderador
Moderador


Registrado: Terça-Feira, 11 de Outubro de 2005
Mensagens: 4252
Localização: Manaus - Am

MensagemEnviada: Ter Nov 13, 2007 3:27 pm    Assunto: Re: Migrando de D5 c/ Paradox p/ D7 c/ Firebird Responder com Citação

alexbandeira escreveu:
Oi pessoal,
Estou migrando de D5 com Banco Paradox p/ D7 Banco Firebird.
Uso muito Locat e Index para mudar a forma de organização "ordenar" dos dados por ex: Ordemar pelo Código uma tbl e em outro momento ordemar pelo nome.
Já percebi q com Index não é possível organizar, sei que devo usar "Order By" mas como devo usar em modo de execulsão. qual é o font.
E qual é o comando para localizar um registro.
Mais uma coisinha se for possível gostaria de poder mudar em tempo de execusão os registros de um grid, s´´o os pares só os impares serám mostrados em um grid ou apenas os do tipo "Madeira".

Grato pela atenção:
Alexandre Bandeira
BM Softwares PE.


sobre o grid talves querira poder escolher o que vai aparecer no grid correto ?

nesse caso vc vai ter que usar uma query.

ex:

coloca uma query e na sua propriedade sql coloca

Código:

select * from tabela where camponome=:nome


sendo que o :nome e o parametro que vamos passar pra ele.

ex:

botao

Código:
query1.close;
query1.parambyname('nome').Value := edt1.text;
query1.pen;


Assim eu taria trazendo os registros que tivesem valor igual a do edit.

Se não era isso acho posso não entendido, mais se for isso mesmo, posta ai se entendeu ?

Abraços
_________________
Abraços

Sérgio Guedes
www.lsisistemas.com.br
www.scvarejo.com.br - Projetos para parceiros e desenvolvedores
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
alexbandeira
Mestre
Mestre


Registrado: Terça-Feira, 27 de Julho de 2004
Mensagens: 812
Localização: Paulista - PE

MensagemEnviada: Ter Nov 13, 2007 11:06 pm    Assunto: Responder com Citação

Vlw Pessaol
Acho que vcs me ajudaram sim, não pensei q tinha de usar outro componente além do ClienteDataSet. Tudo bem irei inserir querys no projeto.
Irei experimentar qual quer coisa postarei!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
alexbandeira
Mestre
Mestre


Registrado: Terça-Feira, 27 de Julho de 2004
Mensagens: 812
Localização: Paulista - PE

MensagemEnviada: Qua Nov 14, 2007 1:28 pm    Assunto: Responder com Citação

Oi estou usando o código abaixo, está funcionando + sem o Order By. Porque o "Order By" não funciona.

Como se deve fazer para poder mudar a ordem dos dados.
Ordenar por Nome ou Ordenar por Código ??

MD.TQuery.Close; /// ñ funciona o order by
MD.TQuery.SQL.Clear;
MD.TQuery.SQL.Add('SELECT EspeProd, EspeQEntr, EspeQEsto, speCodi,EspePComp,EspePVend');
MD.TQuery.SQL.Add('FROM AZ_Prod');
MD.TQuery.SQL.Add('WHERE ( EspeQEntr <= EspeQEsto ) or (EspeQEntr = 0)');
MD.TQuery.SQL.Add('ORDER BY EspeCodi');
MD.TQuery.Open;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
Borland_Linuxer
Moderador
Moderador


Registrado: Terça-Feira, 11 de Outubro de 2005
Mensagens: 4252
Localização: Manaus - Am

MensagemEnviada: Qua Nov 14, 2007 1:48 pm    Assunto: Responder com Citação

alexbandeira escreveu:
Oi estou usando o código abaixo, está funcionando + sem o Order By. Porque o "Order By" não funciona.

Como se deve fazer para poder mudar a ordem dos dados.
Ordenar por Nome ou Ordenar por Código ??

MD.TQuery.Close; /// ñ funciona o order by
MD.TQuery.SQL.Clear;
MD.TQuery.SQL.Add('SELECT EspeProd, EspeQEntr, EspeQEsto, speCodi,EspePComp,EspePVend');
MD.TQuery.SQL.Add('FROM AZ_Prod');
MD.TQuery.SQL.Add('WHERE ( EspeQEntr <= EspeQEsto ) or (EspeQEntr = 0)');
MD.TQuery.SQL.Add('ORDER BY EspeCodi');
MD.TQuery.Open;


Você ordenar pelos dois campos.

Citação:
MD.TQuery.SQL.Add('ORDER BY EspeNome, EspeCodi');


ou vc pode usar asc e desc

crescente e decrecente.

aconselho vc usar um clientdataset por que com ele muito fácil


vou mostrar como usar ordenacao usando o clientdataset


Eu tenho a seguinte procedure onde ela pede como parametro o cds o dbgrid e a coluna que foi clicada.

Código:
procedure OrdenaColunas(cds: TclientDataset; grid: TDBGrid; Column: TColumn);
var
  sIndexName : string;
  Options: TIndexOptions;
  I : integer;
begin
 // Alterar as cores do título de um DBGrid em tempo execução
  for i:= 0 to grid.Columns.count-1 do
  begin
    // Coloca Todas Colunas com Cor padrão
    grid.Columns[i].Title.Color := clBtnFace;
    grid.Columns[i].Title.Font.Color := clBlack;
    grid.Columns[i].Title.Font.Style := [];
  end;

  cds.IndexDefs.Update;
  //  Muda o Tipo de Ordenação
  if cds.IndexName = Column.FieldName + '_ASC' then
  begin
    sIndexName := Column.FieldName + '_DESC';
    Options := [ixDescending];
  end
  else
  begin
    sIndexName := Column.FieldName + '_ASC';
    Options := [];
  end;

  if cds.IndexDefs.IndexOf(sIndexName) < 0 then
    cds.AddIndex(sIndexName, Column.FieldName, Options);

  cds.IndexName := sIndexName;

  // Pinta somente a coluna selecionada
 // Column.Title.color := ClYellow;
  Column.Title.Font.Style := [fsBold];
 // Column.Title.Font.Color := clRed;

end;


agora no evento ontitleclick do dbgrid coloco a seguinte chamada a esse função passando os parametros.

Código:
procedure TfrmLstRotaCobrador.dbgBaseTitleClick(Column: TColumn);
begin
  inherited;
  //ordena colunas ao clicar no titulo da grid
  OrdenaColunas(dmRotaCobrador.cdsLstRotaCobrador, dbgBase, Column);
end;


Então assim como eu clico numa coluna do grid ele ordena por ela.
_________________
Abraços

Sérgio Guedes
www.lsisistemas.com.br
www.scvarejo.com.br - Projetos para parceiros e desenvolvedores
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
alexbandeira
Mestre
Mestre


Registrado: Terça-Feira, 27 de Julho de 2004
Mensagens: 812
Localização: Paulista - PE

MensagemEnviada: Qua Nov 14, 2007 9:20 pm    Assunto: Responder com Citação

Oi Pessal, Vlw pelas dicas. Mas consegui resolver.

O problema é que eu tinha colocado o "Order By" na propriedade SQL do Query. com isso o sistema não aseitava fazer alterações em tempo de execulção. Após remover o este parâmetro do selec, deichando apenas o select na propriedade do componente, consigo alterar a orddem em tempo de execulção.

+ uma vez vlw mesmo pessoal.

Alexandre Bandeira
BM Softwares.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB