MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Insert em campo por ausencia de info

    avatar
    soclikar
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 24/11/2011

    [Resolvido]Insert em campo por ausencia de info Empty [Resolvido]Insert em campo por ausencia de info

    Mensagem  soclikar em 5/9/2019, 13:48

    Olá,

    Em um campo texto necessito pesquisar se existe traço e antes dele alguma escrita, e caso não exista inserir informação desejada.

    Ex.:

    VERMELHO
    0,25-ROSA
    1,5-AZUL
    VERDE
    ROXO

    A ideia é inserir para antes do VERMELHO, VERDE e ROXO a informação 0- ficando...

    0-VERMELHO
    0,25-ROSA
    1,5-AZUL
    0-VERDE
    0-ROXO
    avatar
    renpv
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 12/01/2015

    [Resolvido]Insert em campo por ausencia de info Empty Re: [Resolvido]Insert em campo por ausencia de info

    Mensagem  renpv em 5/9/2019, 16:34

    Qual o contexto da necessidade? É pra fazer algum cálculo? Se for pra cálculo, você já pensou em criar uma tabela com essas informações e usá-las com combobox nos campos?
    avatar
    soclikar
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 24/11/2011

    [Resolvido]Insert em campo por ausencia de info Empty Re: [Resolvido]Insert em campo por ausencia de info

    Mensagem  soclikar em 5/9/2019, 19:02

    Sim, é para calculo. Sim, já pensei, mas é uma rotina necessária para gerar um relatório em uma base que não criei e tenho apenas acesso a leitura das informações.
    avatar
    renpv
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 12/01/2015

    [Resolvido]Insert em campo por ausencia de info Empty Re: [Resolvido]Insert em campo por ausencia de info

    Mensagem  renpv em 5/9/2019, 19:57

    Eu não sei exatamente como você vai usar mas eu criei uma função em um módulo que é global. Assim, é possível usar tanto nos campos dos formulários como em consultas.

    Segue o exemplo. Espero ter ajudado
    Anexos
    [Resolvido]Insert em campo por ausencia de info Attachmentinsert-em-campo-por-ausencia-de-info.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (40 Kb) Baixado 8 vez(es)
    avatar
    soclikar
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 24/11/2011

    [Resolvido]Insert em campo por ausencia de info Empty Re: [Resolvido]Insert em campo por ausencia de info

    Mensagem  soclikar em 5/9/2019, 20:56

    Renpv, me desculpe mas acredito não ter informado corretamente a necessidade. Essa rotina é uma adaptação para aproveitar um campo e extrair dele o resultado. As cores são apenas um exemplo do que pode ser cadastrado pelo usuário. Ele pode cadastrar qualquer palavra e esquecer de colocar no inicio o "percentual" seguido de traço que envolve o campo. O que desejo é que todo campo que ele cadastrar sem X- ocorra a inserção automática para 0- antes do nome assim filtro apenas o inicio e uso no calculo.
    avatar
    renpv
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 12/01/2015

    [Resolvido]Insert em campo por ausencia de info Empty Re: [Resolvido]Insert em campo por ausencia de info

    Mensagem  renpv em 6/9/2019, 00:28

    Realmente eu não entendi e continuo sem entender. Se você puder mandar uma parte do banco explicando exatamente o que precisa eu posso tentar ajudar.
    avatar
    soclikar
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 24/11/2011

    [Resolvido]Insert em campo por ausencia de info Empty Re: [Resolvido]Insert em campo por ausencia de info

    Mensagem  soclikar em 6/9/2019, 19:15

    Renpv,anexei um exemplo. Abra o form, clique no botão. Ocorrerá um erro. Abra a tabela Classes. Coloque 0- na frente do nome Não Cadastrado e depois tente abrir o relatório novamente, irá funcionar. Eis a minha necessidade. Criar uma rotina simples para preencher com 0- os nomes da tabela Classes quando este campo faltar um "percentual" a frente da descrição. Veja a consulta que entenderá, nela existe a ideia do porque do campo "percentual".
    Anexos
    [Resolvido]Insert em campo por ausencia de info AttachmentExemplo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (34 Kb) Baixado 5 vez(es)
    avatar
    renpv
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 12/01/2015

    [Resolvido]Insert em campo por ausencia de info Empty Re: [Resolvido]Insert em campo por ausencia de info

    Mensagem  renpv em 6/9/2019, 19:35

    Eu tô vendo aqui. De antemão te digo que o problema não é no formulário e sim na consulta que gera o relatório.

    Uma pergunta: Teria problema criar mais uma coluna na tabela classes?
    avatar
    soclikar
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 24/11/2011

    [Resolvido]Insert em campo por ausencia de info Empty Re: [Resolvido]Insert em campo por ausencia de info

    Mensagem  soclikar em 6/9/2019, 19:44

    Então... tenho apenas permissão de leitura das informações no BD não sendo possível nenhuma alteração.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1148
    Registrado : 13/12/2016

    [Resolvido]Insert em campo por ausencia de info Empty Re: [Resolvido]Insert em campo por ausencia de info

    Mensagem  Alexandre Fim em 6/9/2019, 21:41

    Soclikar,

    O erro está na expressão, na colsulta. Segue:

    Percentual: CDup(Esquerda([Classes].[Nome];EmSeq(1;[Classes].[Nome];"-")-1))




    .................................................................................
    - Procure sempre anexar seu projeto para análise do problema/dúvida.
    - Ao copiar/colar um código VBA, procure entender seu funcionamento.
    - Se o problema foi resolvido, não se esqueça de marcar o tópico como RESOLVIDO.
    avatar
    soclikar
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 24/11/2011

    [Resolvido]Insert em campo por ausencia de info Empty Re: [Resolvido]Insert em campo por ausencia de info

    Mensagem  soclikar em 6/9/2019, 22:53

    Olá Alexandre,

    Sim, isso é devido expressão não encontrar resultado solicitado. A ideia é que para não ocorrer tal erro eu consiga trata-lo inserindo a informação 0- nos campos, i.e., caso usuario cadastre sem o "percentual"- tipo: PADARIA a rotina deve inserir 0-PADARIA, diferente se já cadastrar correto tipo: "percentual"-"qualquerpalavra". Ex.: 1,5-TECIDO ou 2-AVIAO.
    avatar
    renpv
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 12/01/2015

    [Resolvido]Insert em campo por ausencia de info Empty Re: [Resolvido]Insert em campo por ausencia de info

    Mensagem  renpv em 7/9/2019, 02:08

    Solução sugerida:

    Levando em conta que você não pode criar campos nem editar as tabelas existentes e com base nas informações dadas até aqui, eu elaborei uma solução para o caso apresentado.

    Criei um módulo global (se você já tiver um módulo global não precisa criar outro) e criei a função chamada getPercent() que espera um parâmetro do tipo string e procura pelo caractere "-". Caso encontre é entendido que foi informado um percentual no início, então retorna apenas o início da string já no formato Double. Caso não encontre retorna apenas o número 0 também no formato Double.
    Código:

    Function getPercent(v)
    Dim str As String

    str = InStr(1, v, "-")

    If (str > 0 And str <= 5) Then
       getPercent = CDbl(Left(v, str - 1))
    Else
       getPercent = CDbl(0)
    End If

    End Function

    Segue o exemplo de uso dessa função na consulta
    Código:
    Percentual: getPercent([Classes].[Nome])

    Eu testei aqui e, com os dados fornecidos, deu tudo certo. Caso encontre alguma inconsistência fique à vontade para adaptar o código.

    Estou retornando o arquivo que mandaste por último já com as alterações aplicadas.

    Espero ter ajudado.
    Anexos
    [Resolvido]Insert em campo por ausencia de info AttachmentExemplo-retorno.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (69 Kb) Baixado 7 vez(es)
    avatar
    soclikar
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 24/11/2011

    [Resolvido]Insert em campo por ausencia de info Empty Re: [Resolvido]Insert em campo por ausencia de info

    Mensagem  soclikar em 7/9/2019, 17:46

    Binnnngoooo, muito obrigado Renpv. Resolvido.
    avatar
    renpv
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 12/01/2015

    [Resolvido]Insert em campo por ausencia de info Empty Re: [Resolvido]Insert em campo por ausencia de info

    Mensagem  renpv em 7/9/2019, 23:24

    O fórum agradece o retorno. Sempre que precisar pode chamar a gente aqui. Abraço

      Data/hora atual: 21/10/2020, 19:13