Paulo
não registrado
|
|
ENUNCIADA !
|
|
|
Postada em 27/12/2004 16:29 hs
Tenho um banco em access com dois campos tipo data abreviada e preciso gerar uma consulta SQL com estas datas. Como consigo formatar datas no VB utilizando mask edit de forma eficiente ? Preciso armazenar as datas no formato mm/dd/yyyy para que funcione em SQL ?
|
|
|
|
|
Postada em 27/12/2004 21:35 hs
Olá Paulo, O SQL foi porjetado para funcionar usando o formato americano (mm/dd/yyyy) e não o britânico, usado aqui no Brasil (dd/mm/yyyy), por isso, você deverá passar as suas datas no formato americano para garantir compatibilidade. Existem muitos casos em que você pode passar a data como se fosse um texto, mas não é sempre que funciona, se torna instável. Por isso, recomendo que você reformate as datas na hora de consultar: Sql="Select * From Venda Where Data = #" & Format(TxtData.text,"mm/dd/yyyy") & "#" Assim, independete da formatação do Mask Edit, você garante que o SQL irá receber os dados no formato que ele "gosta", ou seja o americano.
|
|
|
kerplunk
|
SÃO PAULO SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 28/12/2004 08:11 hs
Também é válido lembrar dos comandos de conversão de data do SQL, eles variam de acordo com o servidor de dados, portando teste todos. São eles: Sql="Select * From Venda Where Data = cvdate('" & Format(TxtData.text,"mm/dd/yyyy") & ")'" Sql="Select * From Venda Where Data = ctod('" & Format(TxtData.text,"mm/dd/yyyy") & "')"
|
|
|
Edson BH
|
BELO HORIZONTE MG - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 30/12/2004 11:02 hs
para garantir a compatibilidade de minhas consultas, sempre converto a data antes. data_aux = Mid(txtdata.text, 4, 2) + "/" + Mid(txtdata.text, 1, 2) + "/" + Right(txtdata.text, 4)
sql = "select * from venda where data = #" & data_aux & "#"
|
|
|
|