Formatação de Datas

03/12/2005

4

Pessoal eu tenho um campo na tabela do tipo Date, mais só que o formato da Data do meu Banco é ´yyyy-MM-dd´, quando faço um SELECT MAX, ele me mostra no DBGrid o formato ´yyyy-MM-dd´, como eu faço pra que a Query me retorne o formato ´dd-MM-yyyy´, se os fields estivesem na query, era facil.

Obrigado


Responder

Posts

03/12/2005

Marco Salles

Alterar as configuraçoes regionais não resilve ????

:arrow:
se resolver dá para fazer isto via programação


Responder

05/12/2005

Leandrosl

Mais as configurações regionais já estão no padrão certo, acho que vo ter que colocar via programação, teria como vc ou alguém me passar o passo a passo

Obrigado


Responder
tente assim:

query.Open;
TDateField(query.fields[0]).DisplayFormat := ´dd/mm/yyyy´;
ou
TDateTimeField(query.fields[0]).DisplayFormat := ´dd/mm/yyyy´;


Responder

05/12/2005

Leandrosl

Emerson, coloquei o Codigo, e deu erro de Acess Violation, vo colocar o meu codigo, talvez vc possa me ajudar:

With QueryVAnuncios Do
Begin
Close;
SQL.Clear;
SQL.Add(´SELECT NomeCliente,MAX(DataVeiculacao) FROM veiculacao´);
SQL.Add(´GROUP BY NomeCliente´);
SQL.Add(´ORDER BY NomeCliente´);
Open;
TDateTimeField(QueryVAnuncios.fields[0]).DisplayFormat := ´dd/mm/yyyy´;
End;


Responder
o Fields[0] foi só um exemplo. funcionaria se fosse o seu primeiro campo. como é o segundo, basta alterar o índice:

With QueryVAnuncios Do 
Begin 
  Close; 
  SQL.Clear; 
  SQL.Add(´SELECT NomeCliente,MAX(DataVeiculacao) DataVeiculacao FROM veiculacao´); 
  SQL.Add(´GROUP BY NomeCliente´); 
  SQL.Add(´ORDER BY NomeCliente´); 
  Open; 
  TDateTimeField(fields[1]).DisplayFormat := ´dd/mm/yyyy´;
End;



Responder

05/12/2005

Leandrosl

Emerson coloquei o Fields[1], e continua dando o mesmo erro.

Obrigado


Responder
se você tirar a linha [i:64bd7af9fd]TDateTimeField(fields[1]).DisplayFormat := ´dd/mm/yyyy´[/i:64bd7af9fd] o erro persiste?
porque eu testei e não deu erro algum.


Responder

05/12/2005

Leandrosl

É, se eu tirar TDateTimeField(fields[1]).DisplayFormat := ´dd/mm/yyyy´, funciona normalmente, é estranho emerson, já que vc testo e funciono, aqui também teria que funcionar, será que vc pode manda o exemplo pro meu E-Mail:leandrodefaria@gmail.com

Obrigado


Responder
eu estou tentando enviar um arquivo compactado, mas o gmail não aceita anexo ZIP


Responder

05/12/2005

Massuda

...gmail não aceita anexo ZIP
Ele não aceita que tenha executáveis no ZIP.


Responder
isso mesmo massuda! eu havia passado os fontes e o exe. retirei o exe do zip e agora e envio foi concluído.


Responder

05/12/2005

Marco Salles

emerson , aproveitando a sua participação me esclareça por gentileza uma dúvida . Talves eu esteja fazendo alguma confusão :oops:

Se a configuração do seu Pc estiver no formato yyyy-MM-dd :arrow: no Grid aparecera esta configuração... Mas se mudar a configuração para
dd-MM-yyyy , :arrow: aparecera no Grid o Formato dd-MM-yyyy

Não seria isto , ou sera que estou fazendo confusão :cry: :cry: :cry:


Responder
sim, deveria obedecer às configurações regionais, mas ao que parece a regra que está sendo obedecida é a do banco de dados ou do Delphi (variáveis ShortDateFormat, LongDateFormat, CurrecyDecimals, etc.)


Responder

05/12/2005

Leandrosl

Emerson, recebi o exemplo e testei, seu exemplo realmente funciona, e o meu continua dando problema, como está dando o erro de Access Violation, deve ser alguma incompatibilidade do meu banco com essa linha de comando, o Banco que estou usando é o MySQL, eu vo fazer o seguinte, no Administrador do banco, eu vo tentar muda o fomato do campo para ´dd/mm/yyyy´.

Obrigado


Responder

07/12/2005

Leandrosl

Pessoal, dei uma pesquisa, e parece que não tem como muda essa formatação da Data do MySQL, isso é padrão dele, teria mesmo que fazer essa alteração via programação, será que alguém mais alguma dica ??

Obrigado


Responder