Gabriel Cabral Postado Setembro 13, 2007 Denunciar Share Postado Setembro 13, 2007 Olá pessoal....procurei aki no forum e em outros lugares mas não axei nada sobre isso....o problema é o seguinte...Tenho um campo q armazena datas...mas este campo é do tipo texto...as datas armazenadas são do tipo dd/mm/aa....então faço um select e quero q num MSHFlexGrid, os registros fiquem ordenados por data.....StringSQL = "SELECT * FROM Tabela ORDER BY Campo_Data"mas o que acontece é que fica ordenado por dia..depois por mes...ficando por exemplo:03/08/0704/08/0704/09/0705/08/0705/09/0706/01/07Uma solução seria mudar o campo para o tipo data/hora....mas ele ficaria m/d/aae eu preciso q ele fique dd/mm/aao que posso fazer???Obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Setembro 13, 2007 Denunciar Share Postado Setembro 13, 2007 a solucao seria sim mudar pra data/hora, mas essa mascara m/d/aa depende da configuracao do windows e pode ser mudada. alem do mais, se você usa visual basic, na hora de mostrar a data pode formatar como quiser com a funcao format.mas se quiser dexar como texto tenta fazer o select assim:StringSQL = "SELECT * FROM Tabela ORDER BY CDate(Campo_Data)"mas vai dar erro caso tenha alguma data invalida. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gabriel Cabral Postado Setembro 14, 2007 Autor Denunciar Share Postado Setembro 14, 2007 a solucao seria sim mudar pra data/hora, mas essa mascara m/d/aa depende da configuracao do windows e pode ser mudada. alem do mais, se você usa visual basic, na hora de mostrar a data pode formatar como quiser com a funcao format.mas se quiser dexar como texto tenta fazer o select assim:StringSQL = "SELECT * FROM Tabela ORDER BY CDate(Campo_Data)"mas vai dar erro caso tenha alguma data invalida.Valeeeeu kuroiexatamente o que eu precisava ;) Muito obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Visitante Postado Setembro 23, 2007 Denunciar Share Postado Setembro 23, 2007 rsrs queria isso no crystal reports 03/08/0704/08/0704/09/0705/08/0705/09/0706/01/07 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Setembro 25, 2007 Denunciar Share Postado Setembro 25, 2007 rsrs queria isso no crystal reports 03/08/0704/08/0704/09/0705/08/0705/09/0706/01/07isso o q?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gabriel Cabral Postado Outubro 4, 2007 Autor Denunciar Share Postado Outubro 4, 2007 a solucao seria sim mudar pra data/hora, mas essa mascara m/d/aa depende da configuracao do windows e pode ser mudada. alem do mais, se você usa visual basic, na hora de mostrar a data pode formatar como quiser com a funcao format.mas se quiser dexar como texto tenta fazer o select assim:StringSQL = "SELECT * FROM Tabela ORDER BY CDate(Campo_Data)"mas vai dar erro caso tenha alguma data invalida.Então kuroi.....eu coloquei CDate para o campo como texto e deu certinho.....belezamas e se o campo tiver q ser do tipo data??como eu faço para no MSHFlexGrid mostrar a data no formato "dd/mm/yy" ???? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Outubro 4, 2007 Denunciar Share Postado Outubro 4, 2007 você pode selecionar assim:Select Format(Tabela.data, 'DD/MM/YY') As data From Tabelasó q ai você não poderia mais fazer Select *, você teria q por campo por campo no select. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gabriel Cabral Postado Outubro 5, 2007 Autor Denunciar Share Postado Outubro 5, 2007 (editado) Desculpa kuroi, não entendi muito bem....e também não sei se tem algum outro problema aki no meu código..vou coloca-lo aki pra você ver se tem algo q está impedindo a data de ficar no formato desejado...Para fazer uma consulta entre datas e escolhendo um cliente numa combo, faz-se dessa forma...Set Conex = New ADODB.Connection Conex.Open StringDeConexao GrideCons.Visible = True cboNomeFantasia.Text = "" StringSQL = "SELECT * FROM Atendimentos WHERE Atend_NomeFantasia Like " StringSQL = StringSQL & "WHERE Atend_Data Between #" & Format(DTPicker1.Value, "YYYY-MM-DD") & "# And #" & Format(DTPicker2.Value, "YYYY-MM-DD") & "#" StringSQL = StringSQL & "ORDER BY Atend_Data" Set rs = New ADODB.Recordset rs.Open StringSQL, Conex, adOpenDynamic, adLockOptimistic If rs.EOF Then MsgBox "Não foram encontrados registros correspondentes.", vbExclamation, "Registro não encontrado" Set GrideCons.DataSource = rs GrideCons.Refresh rs.Close Set rs = Nothingaqueles DTPicker que uso pra selecionar as datas, só funcionam se estiverem no formato "YYYY-MM-DD"Eles podem estar interferindo em alguma coisa???Agradeço muuuuuito se puder ajudarObrigado Editado Outubro 5, 2007 por Gabriel Cabral Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Outubro 5, 2007 Denunciar Share Postado Outubro 5, 2007 o seu problema é mostrar a data no grid no formato certo, não??então, nesse caso, isso vem do select. o where não influencia no formato (ou seja o DtPicker não tem nd a ver). você teria q fazer tipo assim:StringSQL = "SELECT NOME_DO_CAMPO_DA_SUA_TABELA_QUE_VC_QUER_POR_NO_SELECT, NOME_DO_OUTRO_CAMPO_DA_QUE_VC_QUER_POR_NO_SELECT, etc..., Format(Atendimentos.Atend_Data, 'DD/MM/YY') As Atend_Data FROM Atendimentos "StringSQL = StringSQL & "WHERE Atend_Data Between #" & Format(DTPicker1.Value, "YYYY-MM-DD") & "# And #" & Format(DTPicker2.Value, "YYYY-MM-DD") & "#"[/code]entendeu?? teria q por o Format na data direto no Select. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gabriel Cabral Postado Outubro 5, 2007 Autor Denunciar Share Postado Outubro 5, 2007 Entendi.....Perfeito, kuroi....Agora deu certo...Muitíssimo obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Gabriel Cabral
Olá pessoal....
procurei aki no forum e em outros lugares mas não axei nada sobre isso....
o problema é o seguinte...
Tenho um campo q armazena datas...mas este campo é do tipo texto...
as datas armazenadas são do tipo dd/mm/aa....
então faço um select e quero q num MSHFlexGrid, os registros fiquem ordenados por data.....
mas o que acontece é que fica ordenado por dia..depois por mes...
ficando por exemplo:
03/08/07
04/08/07
04/09/07
05/08/07
05/09/07
06/01/07
Uma solução seria mudar o campo para o tipo data/hora....
mas ele ficaria m/d/aa
e eu preciso q ele fique dd/mm/aa
o que posso fazer???
Obrigado
Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.