MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Erro em Função para Eliminar Espaços em String

    Compartilhe

    rgondim
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 24/02/2012

    Erro em Função para Eliminar Espaços em String

    Mensagem  rgondim em 25/3/2012, 07:21

    Pretendo ter uma função que aplique a função Trim() em todos os campos de tipo texto e, assim, elimine os espaços no antes e após o texto digitado.
    Eu tentei, sem sucesso, essa a função abaixo. Aparece erro "2448: Você não pode atribuir um valor a este objeto".

    Function EliminaEspaco() As String
    Dim ctl As Control

    For Each ctl In Me.Controls
    If ctl.ControlType = acTextBox Then
    ctl = Trim(ctl)
    End If
    Next
    End Function

    Também gostaria de incrementar a eliminação de espaços extras entre as palavras.

    Convidad
    Convidado

    Re: [Resolvido]Erro em Função para Eliminar Espaços em String

    Mensagem  Convidad em 25/3/2012, 12:24


    Talvez isto ajude:


    'sem espaços à esquerda
    ctl = LTrim(ctl)
    'sem espaços à direita
    ctl = RTrim(ctl)

    'corrige espaços 2, 3, 4 para 1
    ctl = Replace(ctl, " ", " ")
    ctl = Replace(ctl, " ", " ")
    ctl = Replace(clt, " ", " ")
    ...


    rgondim
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 24/02/2012

    Re: [Resolvido]Erro em Função para Eliminar Espaços em String

    Mensagem  rgondim em 25/3/2012, 22:09

    Grande Noberto,

    continua gerando o mesmo erro. Acho que, como ctl é definido como Control, abaixo não pode ser aplicada uma função que é exclusiva para Strings.

    Convidad
    Convidado

    Re: [Resolvido]Erro em Função para Eliminar Espaços em String

    Mensagem  Convidad em 25/3/2012, 22:33


    Na verdade nunca utilizei estas correções numa função, e sim diretamente nos campos de forms.
    Errei ao usar ctl na dica. Aí quis dizer o Nome do campo.

    rgondim
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 24/02/2012

    Re: [Resolvido]Erro em Função para Eliminar Espaços em String

    Mensagem  rgondim em 31/3/2012, 04:33

    Consegui aplicar, mas usando outro critério de condição. Tag (ctl.Tag = "qualquervalor") ao invés de ControlTyte.
    Creio que ao fazer uso da propriedade ControlType, o VBA não permite aplicar uma função string em uma variável do tipo controle.
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6989
    Registrado : 05/11/2009

    Re: [Resolvido]Erro em Função para Eliminar Espaços em String

    Mensagem  Alexandre Neves em 31/3/2012, 11:04

    Bom dia, rgondim

    Reveja o que tem, pois o código funciona aqui

    rgondim
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 24/02/2012

    Re: [Resolvido]Erro em Função para Eliminar Espaços em String

    Mensagem  rgondim em 31/3/2012, 17:53

    Verdade! Fiquei surpreso.

    Testei em outro banco de dados e funcionou.
    Não saberia mais identificar com precisão o contexto do erro porque fui obrigado a fazer muitas alterações.
    Talvez algum campo texto com valor numérico...?

    Uso agora a função abaixo para retirar espaços em campos texto:

    Function TiraEspaco(ByVal strCampo As String)
    Do
    strCampo = Replace(strCampo, " ", " ")
    Loop Until InStr(strCampo, " ") = 0
    TiraEspaco = Trim(UCase(strCampo))
    End Function

    Funciona muito bem.

    Convidad
    Convidado

    Re: [Resolvido]Erro em Função para Eliminar Espaços em String

    Mensagem  Convidad em 12/4/2012, 04:01


    Considerado como sem retorno, resolvido, ou sem solução.
    avatar
    Julimar Alves
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 32
    Registrado : 24/03/2017

    eliminst espaços entre caracteres

    Mensagem  Julimar Alves em 8/3/2018, 20:20

    Onde eu aplico esse código?
    Em algum evento do campo?

      Data/hora atual: 23/10/2018, 15:30