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]Formatação de numero calculado em VBA

    avatar
    marinhor
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 13/02/2023

    [Resolvido]Formatação de numero calculado em VBA Empty [Resolvido]Formatação de numero calculado em VBA

    Mensagem  marinhor 7/6/2023, 18:18

    Boa tarde a todos,

    Estou com um problema que pode ser simples, mas não estou conseguindo resolver,

    Em meu formulário é gerado um numero em um campo "ASP" com base no valor mais alto deste campo considerando os critérios:

    Me.ASP.Value = IIf(DMax("[ASP]", "Histórico de Pagamento", "[Código do Contrato] = Código_do_Contrato") <> 0, DMax("[ASP]", "Histórico de Pagamento", "[Código do Contrato] = Código_do_Contrato"), 0) + 1

    Esta funcionando corretamente como deveria acontecer, porém estou com dificuldade na formatação do numero, onde tentei varias formas de resolver e nenhuma da certo,

    Principal problema, exibir números menores que 10 como 01, 02, 03 ..., no Access esta salvando como  1, 2, 3 ... com isso não consigo ordenar sequencialmente e acaba ficando desta forma: 1, 10, 11, 12, 13, ..., 2, 20, 21, 22, ...

    Vi que se alterar manualmente para 01, 02, 03 resolve o problema é que no formulário este campo é seguido a expressão acima e é bloqueado e desabilitado pra edição.
    Tentei alterar a mascara e formato, mas sempre continua da mesma forma, até utilizei a expressão Format, porém não consegui fazer da forma certa, pois os números não são exibidos.

    Alguém pode me dar uma solução?
    avatar
    01001101
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 22/11/2012

    [Resolvido]Formatação de numero calculado em VBA Empty Re: [Resolvido]Formatação de numero calculado em VBA

    Mensagem  01001101 7/6/2023, 20:09

    Olá marinhor, tudo bom?

     Acredito que esteja salvando como o tipo String, sugiro tentar fazer a conversão do a função CInt() caso o valor seja do tipo inteiro.

    ex.
     Me.ASP.Value = CInt(IIf(DMax("[ASP]", "Histórico de Pagamento", "[Código do Contrato] = Código_do_Contrato") <> 0, DMax("[ASP]", "Histórico de Pagamento", "[Código do Contrato] = Código_do_Contrato"), 0) + 1)
    avatar
    marinhor
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 13/02/2023

    [Resolvido]Formatação de numero calculado em VBA Empty Re: [Resolvido]Formatação de numero calculado em VBA

    Mensagem  marinhor 7/6/2023, 20:59

    Entendi, neste caso ela teria que ser String, pois não é necessariamente um campo exclusivo para numero pois há entradas como 0, 0A, 0B e 0C desta forma não é totalmente números.

    Neste caso deveria usar alguma formatação para tipo string?
    avatar
    marinhor
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 13/02/2023

    [Resolvido]Formatação de numero calculado em VBA Empty Re: [Resolvido]Formatação de numero calculado em VBA

    Mensagem  marinhor 26/6/2023, 18:24

    Olá a todos, voltando pra fechar,

    Não tive outra alternativa, tive que descaracterizar este campo deixando apenas como numero e informações com código atribui a outro campo, desta forma usando o Format deu certo:

    Format(IIf(DMax("[ASP]", "Histórico de Pagamento", "[Código do Contrato] = Código_do_Contrato") <> 0, DMax("[ASP]", "Histórico de Pagamento", "[Código do Contrato] = Código_do_Contrato"), 0) + 1, "00")

    Conteúdo patrocinado


    [Resolvido]Formatação de numero calculado em VBA Empty Re: [Resolvido]Formatação de numero calculado em VBA

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/5/2024, 11:07