Fórum Ordernar DBGrid por data? #445009
09/06/2013
0
É o seguinte, quero ordernar meu DBGrid por data; os outros campos eu ordenei da seguinte maneira, por exemplo, por cliente.
Ex.: AdoTable1.IndexFieldsName:='Cliente';
Ordenei todos os campos dessa maneira, porém quando vou ordernar a data, eu não consigo.
Se tiver uma data 10/05/2013 e uma 09/10/2013, a segunda data fica em primeiro lugar, pois o dia é menor.
Me ajudem galera!
Matheus Gomes
Curtir tópico
+ 0Posts
09/06/2013
Marco Salles
Como esta definido o tipo deste campo no Seu BD e qual é o seu BD ???
Gostei + 0
09/06/2013
Matheus Gomes
Bom... Tenho um banco de dados em access e usei o AdoConnection para ligá-lo ao Formulário. Adicionei um AdoTable que está ligado a um DataSource, junto a um DBGrid.
Coloquei as opções de entrada como, por exemplo, Cliente, Endereço, Data de Entrada, etc.
Preencho esses campos, salvo e o DBGrid os armazena.
Coloquei um MainMenu com opções para ordernar, assim:
Ordernar por
Cliente
Endereço
Data de Entrada
Para ordernar por cliente usei esse código
AdoTable1.IndexFieldNames:='Cliente';
mas não estou conseguindo ordernar por data.
No access, o campo Data de Entrada está no formato Texto, e no formato Data/Hora também não dá certo.
No formulário, para digitar a Data eu uso um DBEdit com márcara.
Espero ter passado todas as informações necessárias. Me ajudem, por favor!
Gostei + 0
09/06/2013
Marco Salles
numero com a data maior corresponde a um número maior que a Data menor
No caso de texto tb esta correto a ordenação ... porque primeiro ele entende que o Um da data 10/05/2013 e maior que o Zero da data 09/10/2013 ...
Não sei o Acess pois não utilizo , não sei se um cast do formato em data String para o Formato Data resolveria
Logo sugiro refazer o teste com o formato do Campo em Data mesmo , pois esta estranho vc dizer que não deu certo
Gostei + 0
09/06/2013
Matheus Gomes
Por exemplo, se eu tiver as datas 11/05/2013 e 09/06/2013, ele coloca primeiro a data 09/06/2013.
Alterei o campo no access para Data/Hora, mas no Delphi apareceu o seguinte erro:
"ADOTable1: Type mistatch for field 'Data de Entrega', expecting: WideString actual: DateTime."
Mudando o campo no access preciso mudar algo no Delphi também?
Gostei + 0
09/06/2013
Marco Salles
sim , precisa remover os fields e adiciona-los novamente
Gostei + 0
09/06/2013
Matheus Gomes
O problema é que eu não estava removendo e adicionando novamente os campos.
Muito obrigado, fico te devendo essa. =]
Gostei + 0
09/06/2013
Marco Salles
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)