PROBLEMA COM DATA

ONBASS 19/08/2013 07:44:22
#427729
Bom dia senhores,

Já há um bom tempo que não mexo no VB, pois parei pra me dedicar ao aprendizado do .NET, ocorre que após 5 anos preciso acrescentar uns campos de data no banco.

Coloquei alguns controles Mask com formato [ô]dd/mm/yyyy[ô] e máscara [ô]99/99/9999[ô].
No banco Access está com formato [ô]dd/mm/yyyy[ô].

No momento da saída para o banco a informação sai correta, tipo [ô]22/05/1987[ô], porém no banco chega como [ô]30/08/1899[ô], ou às vezes chega estranho, tipo [ô]00/01/1900[ô].

Também tentei formatar via código, com o Format$ (campo, [ô]dd/mm/yyyy[ô]), mas persiste o erro.

Em todas as Mask[ô]s estou pegando a propriedade FormattedText como saída.

No aguardo para possíveis soluções, grato!
MARCELO.TREZE 19/08/2013 08:43:26
#427730
via código o formato vai ser sempre

Format$ (campo, [ô]mm/dd/yyyy[ô])

ou seja (mês dia e ano), e não (dia mês ano)

ONBASS 19/08/2013 08:54:35
#427732
MARCELO vlw pela dica,

mas isso não vai conflitar com o formato do banco [ô]dd/mm/yyyy[ô], ou como está lá [ô]data curta[ô] ?

desculpe, estou enferrujado
MARCELO.TREZE 19/08/2013 08:57:11
#427734
tente mas acredito que não vá conflitar, se conflitar tente usar (#) no lugar de ([ô])

Format$(Campo,#mm/dd/yyyy#)

ou

Format$(Campo,#dd/mm/yyyy#)


ONBASS 19/08/2013 09:08:12
#427736
blz, vou tentar de tarde, brigaduu
ONBASS 19/08/2013 09:44:44
#427738
MARCELO, enquanto isso gostaria de eliminar mais algumas possibilidades...

mesmo o meu windows sendo portugues, e as configurações regionais de data estarem como [ô]dd/mm/aaaa[ô], o Access teria seu proprio modelo de data?
TUNUSAT 19/08/2013 10:02:23
#427741
ONBASS,


Não sei como você está gravando no banco e nem que modelo de banco de dados está usando.
Eu uso quase sempre o SQL Server e para ele sempre deu certo quando coloco no INSERT e UPDATE a data no formato ANSI: [Ô]yyyy/MM/dd[Ô].
Me parece que este formato é aceito em todo lugar, pois desta forma não tem como confundir o dia com o mês.
ONBASS 19/08/2013 11:00:13
#427752
vlw TUNUSAT, vou experimentar pela tarde.. grato
ONBASS 19/08/2013 18:49:53
#427804
galera, boa noite... tentei aqui com [ô]#[ô] mas não tá dando certo.
à princípio gravou certo depois voltou ao mesmo erro.

gostaria se alguém puder me passar um exemplo como gravar uma data no banco access, baseado em uma maskbox e como o campo no banco deve estar configurado.

eu setei o banco como [ô]dd/mm/yyyy[ô], depois [ô]mm/dd/yyyy[ô], depois deixei em branco, coloquei como texto, e nada.
estou de cabeça quente pois estou focado em aprender .NET, mas como esse sistema vb6 ainda roda numa secretaria aqui, preciso arrumar.
FILMAN 19/08/2013 20:07:06
#427815
Resposta escolhida
Cara faça o seguinte

como você esta fazendo as Inserções, Alterações

vSQL = [Ô]INSERT INTO TABELA (CAMPO1, CAMPODATA)VALUES(Dados1,[ô]#[Ô] & Fromat$(CDate(campo), [Ô]dd/MM/yyyy[Ô]) & [Ô]#[ô])

vSQL = [Ô]UPDATE TABELA SET CAMPODATA = [ô]#[Ô] & Fromat$(CDate(campo), [Ô]dd/MM/yyyy[Ô]) & [Ô]#[ô] WHERE ID = [Ô] & codigo


Verifica se te ajuda

no Formato data MM = mês


Espero ter ajudado
ONBASS 20/08/2013 23:38:14
#427871
pessoal obrigado a todos pela contribuição, a solução que mais serviu foi a do FILMAN, ta funcionando blz, inclusive os relatórios... grato à todos!
Tópico encerrado , respostas não são mais permitidas