MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


2 participantes

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

    avatar
    Mrsilva
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Função format não passa para o formato de data americana Empty [Resolvido]Função format não passa para o formato de data americana

    Mensagem  Mrsilva 17/1/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.
    avatar
    Convidado
    Convidado


    [Resolvido]Função format não passa para o formato de data americana Empty Re: [Resolvido]Função format não passa para o formato de data americana

    Mensagem  Convidado 17/1/2014, 20:43

    Boas...

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


    Cumprimentos.
    avatar
    Mrsilva
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Função format não passa para o formato de data americana Empty Re: [Resolvido]Função format não passa para o formato de data americana

    Mensagem  Mrsilva 17/1/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
    [Resolvido]Função format não passa para o formato de data americana AttachmentTesteFormat.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (22 Kb) Baixado 31 vez(es)
    avatar
    Convidado
    Convidado


    [Resolvido]Função format não passa para o formato de data americana Empty Re: [Resolvido]Função format não passa para o formato de data americana

    Mensagem  Convidado 17/1/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.
    avatar
    Mrsilva
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Função format não passa para o formato de data americana Empty Re: [Resolvido]Função format não passa para o formato de data americana

    Mensagem  Mrsilva 18/1/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
    [Resolvido]Função format não passa para o formato de data americana AttachmentTesteFormat.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (20 Kb) Baixado 9 vez(es)
    avatar
    Convidado
    Convidado


    [Resolvido]Função format não passa para o formato de data americana Empty Re: [Resolvido]Função format não passa para o formato de data americana

    Mensagem  Convidado 18/1/2014, 10:04

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

    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Função format não passa para o formato de data americana Empty Re: [Resolvido]Função format não passa para o formato de data americana

    Mensagem  Convidado 18/1/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.
    avatar
    Mrsilva
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Função format não passa para o formato de data americana Empty Re: [Resolvido]Função format não passa para o formato de data americana

    Mensagem  Mrsilva 18/1/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
    avatar
    Convidado
    Convidado


    [Resolvido]Função format não passa para o formato de data americana Empty Re: [Resolvido]Função format não passa para o formato de data americana

    Mensagem  Convidado 18/1/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.
    mpsbra
    mpsbra
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Função format não passa para o formato de data americana Empty Re: [Resolvido]Função format não passa para o formato de data americana

    Mensagem  mpsbra 9/4/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...

    Conteúdo patrocinado


    [Resolvido]Função format não passa para o formato de data americana Empty Re: [Resolvido]Função format não passa para o formato de data americana

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 25/11/2024, 02:19