MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Função format não passa para o formato de data americana

    Compartilhe

    Mrsilva
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 123
    Registrado : 03/11/2011

    Função format não passa para o formato de data americana

    Mensagem  Mrsilva em Sex 17 Jan 2014, 19:29

    Olá
    Em um aplicativo faço a comparação de datas pelo VBA, utilizo a função format para transformar a data em formato americano,  fiz um teste com  a data 30/09/2013 ela não passa  para o formato americano e meu aplicativo acaba que demonstrando dados errados.  Alguem sabe como corrigir isso?

    Fiz um formulário  em anexo que simula esse erro,  onde tem três campos data1, data2 e dataMenor e um botão processar, no evento ao clicar do botão existe um código que tem a função format,  marque pontos de verificação e veja o processamento, vão verificar o erro.

    Desde já agradeço.

    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12246
    Registrado : 01/03/2011

    Re: Função format não passa para o formato de data americana

    Mensagem  HARYSOHN em Sex 17 Jan 2014, 20:43

    Boas...

    Format([SeuCampo],"mm/dd/yyyy")


    Cumprimentos.


    .................................................................................
    PILOTO
    الله أكبر Paz, Justiça e Liberdade! الله أكبر
    CLIQUE AQUI E VEJA O VÍDEO >>> BIOMETRIA EM ACCESS

    Iniciando no Access? Então veja esse tópico e também esse


    BUSCA NO FÓRUM - CLIQUE AQUI!!!

    Quando tua dúvida for RESOLVIDA, dê retorno com AGRADECIMENTO a aqueles que gastaram seu tempo em te ajudar.
    Clique no botão Resolvido logo acima do botão Enviar, do lado direito. Todos nós agradecemos.  
    [Você precisa estar registrado e conectado para ver esta imagem.]

    Mrsilva
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 123
    Registrado : 03/11/2011

    Re: Função format não passa para o formato de data americana

    Mensagem  Mrsilva em Sex 17 Jan 2014, 22:34

    HARYSOHN

    Obrigado por responder, mais estou fazendo dessa forma mas com algumas datas não funciona, veja o exemplo em anexo conforme expliquei i na minha primeira postagem.

    Desde já agradeço quem puder me ajudar
    Anexos
    TesteFormat.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (22 Kb) Baixado 7 vez(es)

    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12246
    Registrado : 01/03/2011

    Re: Função format não passa para o formato de data americana

    Mensagem  HARYSOHN em Sex 17 Jan 2014, 23:09

    Pode ser que o seu campo ou variável não esteja no formato Data..
    Tente:

    CDate(Format([SeuCampo],"mm/dd/yyyy"))

    Cumprimentos.


    .................................................................................
    PILOTO
    الله أكبر Paz, Justiça e Liberdade! الله أكبر
    CLIQUE AQUI E VEJA O VÍDEO >>> BIOMETRIA EM ACCESS

    Iniciando no Access? Então veja esse tópico e também esse


    BUSCA NO FÓRUM - CLIQUE AQUI!!!

    Quando tua dúvida for RESOLVIDA, dê retorno com AGRADECIMENTO a aqueles que gastaram seu tempo em te ajudar.
    Clique no botão Resolvido logo acima do botão Enviar, do lado direito. Todos nós agradecemos.  
    [Você precisa estar registrado e conectado para ver esta imagem.]

    Mrsilva
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 123
    Registrado : 03/11/2011

    Re: Função format não passa para o formato de data americana

    Mensagem  Mrsilva em Sab 18 Jan 2014, 03:14

    HARYSOHN

    Obrigado mais uma vez, mas não consigo fazer funciona corretamente, fiz da forma que orientou não está dando certo.

    Se possível poderia verificar meu exemplo.

    Desde já agradeço
    Anexos
    TesteFormat.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (20 Kb) Baixado 3 vez(es)

    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12246
    Registrado : 01/03/2011

    Re: Função format não passa para o formato de data americana

    Mensagem  HARYSOHN em Sab 18 Jan 2014, 10:04

    Bom dia.. Cite os objetos envolvidos e uma breve descrição do que pretende.

    Cumprimentos.


    .................................................................................
    PILOTO
    الله أكبر Paz, Justiça e Liberdade! الله أكبر
    CLIQUE AQUI E VEJA O VÍDEO >>> BIOMETRIA EM ACCESS

    Iniciando no Access? Então veja esse tópico e também esse


    BUSCA NO FÓRUM - CLIQUE AQUI!!!

    Quando tua dúvida for RESOLVIDA, dê retorno com AGRADECIMENTO a aqueles que gastaram seu tempo em te ajudar.
    Clique no botão Resolvido logo acima do botão Enviar, do lado direito. Todos nós agradecemos.  
    [Você precisa estar registrado e conectado para ver esta imagem.]

    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12246
    Registrado : 01/03/2011

    Re: Função format não passa para o formato de data americana

    Mensagem  HARYSOHN em Sab 18 Jan 2014, 10:23

    Bom dia MrSilva, tentarei te explicar segundo minha experiência com o VBA...

    Tempos atrás tive problemas com data e segundo explicação do Mestre Avelino ou Alexandre Neves (Não me recordo bem)
    O Access é um tanto quanto patriota com relação à datas.. Preferindo na maioria das vezes o padrão americano, principalmente al instruções SQL

    Creio que seja um Bug do Access ou mesmo falhas na adaptação para a versão em português que em algumas coisas aceita o nosso padrão em outras apenas o padrão americano.. Por exemplo, em instruções SQL para gravar a data em um campo no formato data... por vezes se utilizar o nosso padrão ele grava uma data totalmente estranha com o ano na casa dos 1.800.

    A questão das configurações regionais do windows também influenciam, principalmente na questão do ponto ou vírgula em numerários de moeda...

    Neste seu problema percebi que:

    para a comparação de datas o correto é aplicar o nosso padrão pois as variáveis do tipo data não estão aceitando a formatação, então:

    Utilize as variáveis sem formatar o campo ou como no exemplo abaixo coloque-as como  variant e converta o formato da variável ao carregar a data

     Dim Dt1, Dt2
        Dt1 = Format(CDate(Me.Data1), "mm/dd/yyyy")

        Dt2 = Format(CDate(Me.Data2), "mm/dd/yyyy")
    'CDate(Format([SeuCampo],"mm/dd/yyyy"))
        If Dt1 < Dt2 Then

            Me.DataMenor = Me.Data1

        Else

            Me.DataMenor = Me.Data2
        End If


    Isto creio é uma falha no projeto do access na adaptação para o português.

    Cumprimentos.


    .................................................................................
    PILOTO
    الله أكبر Paz, Justiça e Liberdade! الله أكبر
    CLIQUE AQUI E VEJA O VÍDEO >>> BIOMETRIA EM ACCESS

    Iniciando no Access? Então veja esse tópico e também esse


    BUSCA NO FÓRUM - CLIQUE AQUI!!!

    Quando tua dúvida for RESOLVIDA, dê retorno com AGRADECIMENTO a aqueles que gastaram seu tempo em te ajudar.
    Clique no botão Resolvido logo acima do botão Enviar, do lado direito. Todos nós agradecemos.  
    [Você precisa estar registrado e conectado para ver esta imagem.]

    Mrsilva
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 123
    Registrado : 03/11/2011

    Re: Função format não passa para o formato de data americana

    Mensagem  Mrsilva em Sab 18 Jan 2014, 10:51

    HARYSOHN

    Obrigado pela explicação, é isso mesmo que esta acontecendo já faz tempo que tenho um código que faz essa comparação é só ontem um usuário do meu aplicativo reclamou utilizando as datas que coloquei no exemplo, como eu disse anteriormente utilizo esse procedimento em um aplicativo que é um pouco mais complexo do exemplo que postei. Veja rotina onde utilizo esse código na explicação que fiz no ultimo poste desse tópico

    Assim que terminar a adaptação lhe informo se consegui resolver

    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12246
    Registrado : 01/03/2011

    Re: Função format não passa para o formato de data americana

    Mensagem  HARYSOHN em Sab 18 Jan 2014, 11:20

    Exatamente.. como eu disse.. tinha feito um sistema utilizando a virgula no mesmo e no pc do cliente não funcionava devido às configurações regionais...
    O correto sempre para o desenvolvedor é ter como testar em máquinas diferentes e com configurações regionais diferentes para tentar cercar o erro por todos os lados..

    No meu caso.. como sou das antigas em Designer gráfico sempe utiilizei teclado americano, regionais americanos..
    E isto me causou este tipo de transtorno... creio que os pc's vendidos agora com softwares pré instalados.. já saia com uma padronização diferente..

    é por ai.

    Bons estudos.


    .................................................................................
    PILOTO
    الله أكبر Paz, Justiça e Liberdade! الله أكبر
    CLIQUE AQUI E VEJA O VÍDEO >>> BIOMETRIA EM ACCESS

    Iniciando no Access? Então veja esse tópico e também esse


    BUSCA NO FÓRUM - CLIQUE AQUI!!!

    Quando tua dúvida for RESOLVIDA, dê retorno com AGRADECIMENTO a aqueles que gastaram seu tempo em te ajudar.
    Clique no botão Resolvido logo acima do botão Enviar, do lado direito. Todos nós agradecemos.  
    [Você precisa estar registrado e conectado para ver esta imagem.]

    mpsbra
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 35
    Registrado : 21/08/2012

    Re: Função format não passa para o formato de data americana

    Mensagem  mpsbra em Qui 09 Abr 2015, 14:04

    Gente boa, sei que já faz tempo que vc fez este post, mais sem querer corrigi aqui no meu projeto um erro igual ao seu.

    Parte da função estava assim: Format([dtEntrCredita], "dd/mm/yyyy") & "#")
    E corrigir assim: Format([dtEntrCredita], "yyyy/mm/dd") & "#")

    Pode até parecer um absurdo mas foi assim que consegui resolver.

    Atenciosamente,
    Márcio P. Soares...

      Data/hora atual: Dom 04 Dez 2016, 06:04