FORMATAR DATAS

MORCELI 10/04/2014 09:03:42
#437114
Bom dia pessoa, preciso de uma força a respeito de datas, occorre o seguinte, meu banco de dados fica em um servidor simples(banco access), lá as dastas são salvos assim 01/01/2010, ai tem alguns computadores que buscam os dados nesse banco, e em um combobox eu listo as datas que tem no banco para consulta, só que tem computador que traz a data assim 7/7/2014, ai na hora de fazer a consulta da erro, pq meu banco as datas estão assim 07/07/2014, como posso resolver isso para acrescentar os zeros quando a data tiver assim 7/7/2014
KERPLUNK 10/04/2014 09:14:37
#437116
O negócio não é acrescentar ou tirar zeros. No seu banco, essas datas estão com que tipo de dados? Se for varchar, é por aí que temos que começar...
MORCELI 10/04/2014 09:38:40
#437121
Obrigado pela atenção KERPLUNK, então em meu banco está formatado como campo data mesmo, e o banco é access, na maioria dos computadores as datas vem correto, só em alguns computadores que estão com essa data louca.
KERPLUNK 10/04/2014 09:51:16
#437122
Se você usar comandos SQL parametrizados, você não precisa se preocupar com isso, o banco entende normal com ou sem zeros
PEGUDO 10/04/2014 09:53:28
#437123
Resposta escolhida
Cara,
O Access guarda a data do formato mês/dia/ano (Isso você já deve saber) então a responsabilidade de enviar este dado corretamente ao Access é do seu código. Vamos ao que interessa:
Public Function trataData(dt As string) As String
Dim vetor() As String = split(dt,[txt-color=#e80000] [Ô]/[Ô][/txt-color])

For A = 0 To vetor.Length - 1
If vetor(A).Length = 1 then vetor(A) = String.Format([txt-color=#e80000][Ô]0{0}[Ô][/txt-color],vetor(A))
Next

trataData = String.Format([txt-color=#e80000][Ô]{0}/{1}/{2}[Ô][/txt-color], vetor(1), vetor(0), vetor(2))

Return trataData
End Function


Você pegaria esta data assim:
Dim sql As String = String.Format([txt-color=#e80000][Ô]SELECT * FROM Banco_Dados WHERE campo_data = #{0}#[Ô][/txt-color], trataData(Me.ComboBox1.Text))
ANTONIOBSJ 10/04/2014 10:58:26
#437130
MORCELI,

O jeito que cada computador mostra a data é por causa das configurações regionais de cada máquina. Pelo sim, pelo não, na hora de fazer alguma coisa, eu sempre mando a data nesse formato: #MM/DD/AAAA#.

DateTime dt = DateTime.Now;
string sSQL = [Ô]SELECT * FROM TABELA WHERE DATA = #[Ô] + String.Format([Ô]{0:M/d/yyyy}[Ô], dt) + [Ô]#[Ô];
MORCELI 11/04/2014 13:28:54
#437201
Sua solução deu certinho PEGUDO, obrigado a todos pela ajuda,

att
Tópico encerrado , respostas não são mais permitidas