Página 1 de 1

Data formato "dd/mm/yyyy" é salva no formato "mm/dd/yyyy

Enviado: 06 Jan 2017 às 14:28
por RonaldoNunes
Estou com um problema na formatação de datas numa aplicação VBA que estou criando.

Como podem ver na imagem em anexo eu leio um registro da planilha excel e coloco no formulário para permitir que se façam alterações.

A data da OS que aparece no formulário está no formato de data brasileira (DD/MM/YYYY) mas quando clico no botão ALTERAR a data salva na linha da planilha aparece no formato americano (MM/DD/YYYY).

A configuração da data no windows é no formato brasileiro.

Alguem pode me dar uma explicação para a solução ?

Imagem

Data formato "dd/mm/yyyy" é salva no formato "mm/dd/yyyy

Enviado: 06 Jan 2017 às 14:33
por RonaldoNunes
Trecho do código extraido do Botão Alterar

x_NumOS = Cx_NumOS
' x_Datos = Cx_DatOS
x_Datos = Day(Cx_DatOS.Value) & "/" & Month(Cx_DatOS.Value) & "/" & Year(Cx_DatOS.Value)

Eu copiava o txt-box do Form (Cx_datOS) direto para uma variável e depois passei a formatar a variavel com este comando e continua dando errado

Data formato "dd/mm/yyyy" é salva no formato "mm/dd/yyyy

Enviado: 06 Jan 2017 às 14:40
por RonaldoNunes
Propriedades da caixa Cx_DatOS

Imagem

Data formato "dd/mm/yyyy" é salva no formato "mm/dd/yyyy

Enviado: 06 Jan 2017 às 14:54
por Reinaldo
Esse "acontecimento" é recorrente em todos os foruns que frequento.T extBox por default retorna seu valor como uma string/Texto, e o sistema tenta então converter o valor obtido/informado ao mais aproximado de sua "semelhança".
VBA por padrão reconhece melhor data no formato Americano (sua lingua nativa) que é Mes/dia/ano, basicamente por isso a inversão.
Na maioria dos casos utilizar a função de converção Cdate e suficiente:
x_Datos = Cdate(Cx_DatOS.text)
ou ainda
x_Datos = Format(Cx_DatOS.Text," dd/mm/yyyy ")

Data formato "dd/mm/yyyy" é salva no formato "mm/dd/yyyy

Enviado: 06 Jan 2017 às 15:55
por RonaldoNunes
Erro mais do que primário o meu. Funcionou amigo Reinaldo. Depois que aprende fica muito fácil.

Obrigadaço :D :D :D