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


4 participantes

    [Resolvido]Consulta para retirar Zeros à esquerda e à direita

    avatar
    dedacrf
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 19/04/2017

    [Resolvido]Consulta para retirar Zeros à esquerda e à direita Empty [Resolvido]Consulta para retirar Zeros à esquerda e à direita

    Mensagem  dedacrf Qua 19 Abr 2017, 17:08

    Caros,

    Preciso resolver o seguinte problema. Tenho uma tabela access onde há um campo com o número (tipo texto). Está tipo texto, pois trata-se de um número de série e existem outros caracteres, alfamunéricos, que devem ser preservados. Preciso extrair o conteúdo desse campo, sem os zeros que estão à esquerda e à direita, além de ".", "-".
    O maior problema é que quantidade de zeros à esquerda e à direita é variável, apesar do tamanho do campo ser 10 posições.
    Já testei várias funções do access, mas não consegui o resultado ideal, que é executar uma consulta de atualização que faça isso de uma única vez. A tabela possui mais de 5 milhões de registros.
    Vide alguns registros:

    Registro original Registro desejado
    0.49402X00 49402X
    -.21602000 21602
    -0.0260800 2608
    000198297 198297
    2045520000 204552

    Desde já agradeço, quem puder me ajudar.
    Abraços,
    Rosano
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Consulta para retirar Zeros à esquerda e à direita Empty Consulta para retirar Zeros à esquerda e à direita

    Mensagem  good guy Qua 19 Abr 2017, 20:36

    Olá dedacrf,

    Tente com esta sintaxe em sua consulta:

    Código:

    Resultado: Substituir(Substituir(Substituir(Substituir(Substituir(Substituir(Substituir(Meio([Reg];1;10);"-.";"");".0";"");"0000";"");"000";"");"00";"");"0.";"");"-0";"")
    Anexos
    [Resolvido]Consulta para retirar Zeros à esquerda e à direita AttachmentTestaString.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (12 Kb) Baixado 18 vez(es)
    avatar
    dedacrf
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 19/04/2017

    [Resolvido]Consulta para retirar Zeros à esquerda e à direita Empty Re: [Resolvido]Consulta para retirar Zeros à esquerda e à direita

    Mensagem  dedacrf Qua 19 Abr 2017, 21:13

    Good Guy,

    Primeiramente gostaria de agradecer a resposta.
    Testei a sintaxe que você enviou e o resultado foi "quase" 100% perfeito.
    Está faltando um ajuste fino:
    - Ela está retirando os "0" internos dos números, quando aparecem seguidos,  e esses tem que permanecer;
    - Em vários casos permaneceram um zero inicial à esquerda e/ou à direita.

    Preciso desprezar apenas todos os da esquerda e direita, além de (., -, _).
    Em anexo envio um pedaço da tabela que estou utilizando.
    Abraço,
    Rosano
    Anexos
    [Resolvido]Consulta para retirar Zeros à esquerda e à direita Attachmentamostra_atualizacao.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (14 Kb) Baixado 10 vez(es)
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Consulta para retirar Zeros à esquerda e à direita Empty Re: [Resolvido]Consulta para retirar Zeros à esquerda e à direita

    Mensagem  Alvaro Teixeira Qua 19 Abr 2017, 22:23

    Olá a todos,
    Rosano, Bem-Vindo ao fórum.

    Criei uma função para o efeito, veja:
    Código:
    Function fncRemoverZerosEsqDir(Str As String)
    'Alvaro Teixeira (ahteixeira) 2017
    'Para MaximoAccess

      'Trata zeros esquerda
      Do While Left(Str, 1) = "0"
        Str = Mid(Str, 2)
      Loop
       
      'Trata zeros à direita
      Do While Right(Str, 1) = "0"
        Str = Left(Str, Len(Str) - 1)
      Loop
      
      'Trata carateres especiais
      Str = Replace(Str, ".", "")
      Str = Replace(Str, "-", "")
      Str = Replace(Str, "_", "")
      
      fncRemoverZerosEsqDir = Str

    End Function

    Segue exemplo de teste.
    Abraço
    Anexos
    [Resolvido]Consulta para retirar Zeros à esquerda e à direita AttachmentfncRemoverZerosEsqDir.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (14 Kb) Baixado 53 vez(es)
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Consulta para retirar Zeros à esquerda e à direita Empty Consulta para retirar Zeros à esquerda e à direita

    Mensagem  good guy Qua 19 Abr 2017, 22:23

    Olá deda,

    Não consegui ver o que quis dizer com zeros internos, pois ao meu ver eles permaneceram. Vou verificar com dois zeros ou mais internos. Não trabalhei uma função, talvez a do Teixeira dê certo. Baixe o meu exemplo e trabalhe primeiro com uma consulta simples e não com atualização até conseguir um resultado satisfatório e final e assim evitar resultados indesejáveis.


    Última edição por good guy em Qua 19 Abr 2017, 22:44, editado 1 vez(es)
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Consulta para retirar Zeros à esquerda e à direita Empty Re: [Resolvido]Consulta para retirar Zeros à esquerda e à direita

    Mensagem  Alvaro Teixeira Qua 19 Abr 2017, 22:34

    Olá a todos,
    Amigo Good Guy, como vai o lançamento do seu livro, espero que as vendas seja um sucesso!

    Acho que o colega se refere aos zeros no meio, veja:

    0000506597X00   =>   506597X

    Abraço
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Consulta para retirar Zeros à esquerda e à direita Empty Consult

    Mensagem  good guy Qua 19 Abr 2017, 22:48

    Olá Teixeira,

    Só vou saber mesmo quando as vendas ultrapassarem o número indicado pela editora e eu receber os meus primeiros 10%. Não é muito, mas para quem está começando... não tenho o que reclamar. Estou me esforçando por uma publicidade maior em faculdades e cursos também.

    Já entendi o que o colega quer, mas agora preciso descansar e amanhã retorno em momento oportuno para analisar. Vamos aguardar até que o nobre colega teste sua função e apure todos os resultados.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Consulta para retirar Zeros à esquerda e à direita Empty Re: [Resolvido]Consulta para retirar Zeros à esquerda e à direita

    Mensagem  JPaulo Qui 20 Abr 2017, 13:35

    Olá a todos;

    Cole este código num modulo e salve;

    Num campo vazio da sua consulta chame a função deste jeito;

    Resultado: AlteraTexto(SeuCampo)

    Código:
    Public Function AlteraTexto(strTexto As String) As String
    'JPaulo @ maximoaccess 2017
    ' Remove espaços
      strTexto = Replace(strTexto, " ", "")
    ' Remove pontos
      strTexto = Replace(strTexto, ".", "")
    ' Remove traços
      strTexto = Replace(strTexto, "-", "")
    'Remove Zeros á esquerda
        Do Until Left(strTexto, 1) <> 0
          strTexto = Mid(strTexto, 2)
        Loop
       
        ' Remove Zeros á diretita
        Do Until Right(strTexto, 1) <> 0
          strTexto = Mid(strTexto, 1, Len(strTexto) - 1)
        Loop
    AlteraTexto = strTexto
    End Function


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Consulta para retirar Zeros à esquerda e à direita Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Consulta para retirar Zeros à esquerda e à direita Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Consulta para retirar Zeros à esquerda e à direita Folder_announce_new Instruções SQL como utilizar...

    alozs gosta desta mensagem

    avatar
    dedacrf
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 19/04/2017

    [Resolvido]Consulta para retirar Zeros à esquerda e à direita Empty Re: [Resolvido]Consulta para retirar Zeros à esquerda e à direita

    Mensagem  dedacrf Qui 20 Abr 2017, 14:56

    Carissímos, Bom dia!
    Gostaria de agradecer enormemente à todos. Good Guy, Ahteixeira e JPaulo.
    As funções enviadas pelo Álvaro e JPaulo, com algumas diferenças na lógica do código, funcionaram 100% e atenderam ao que precisava.
    Muito obrigado à todos pela ajuda.
    Abraços,
    dedacrf
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Consulta para retirar Zeros à esquerda e à direita Empty Re: [Resolvido]Consulta para retirar Zeros à esquerda e à direita

    Mensagem  JPaulo Qui 20 Abr 2017, 15:24

    Obrigado pelo retorno o forum agradece.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Consulta para retirar Zeros à esquerda e à direita Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Consulta para retirar Zeros à esquerda e à direita Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Consulta para retirar Zeros à esquerda e à direita Folder_announce_new Instruções SQL como utilizar...

    Conteúdo patrocinado


    [Resolvido]Consulta para retirar Zeros à esquerda e à direita Empty Re: [Resolvido]Consulta para retirar Zeros à esquerda e à direita

    Mensagem  Conteúdo patrocinado


      Data/hora atual: Sex 26 Abr 2024, 15:47