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


3 participantes

    Função "MID" trocando vírgula por ponto

    avatar
    AngeloQA
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 4
    Registrado : 05/06/2012

    Função "MID" trocando vírgula por ponto Empty Função "MID" trocando vírgula por ponto

    Mensagem  AngeloQA 20/6/2024, 14:41

    Olá Pessoal!

    Tenho uma consulta que usa função MID para pegar somente 1 caracter de um string.
    Acontece que, quando coloco a função, por exemplo, MID(strVIN, 10, 1) na consulta para pegar somente o décimo caracter do string, tenho como resultado, todos os caracteres a partir do caracter 10, pois o Access está alterando o "10,1" por "10.1".
    Se eu entrar no SQL e alterar o ponto pela vírgula, funciona normalmente, mas todas as vezes que entro no Design View, ele substitui a vírgula pelo ponto e volta o erro.

    Alguém tem ideia de qual o motivo e como posso resolver?

    Grato!
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    Função "MID" trocando vírgula por ponto Empty Re: Função "MID" trocando vírgula por ponto

    Mensagem  Alexandre Fim 20/6/2024, 15:11

    Olá Angelo,

    Seja bem-vindo ao fórum.

    Qual a real necessidade de buscar somente este caractere?
    Você está atribuindo o resultado desta consulta em algum campo no formulário?
    Se este campo estiver formatado como Numero Decimal ou Moeda?
    Dê mais detalhes, por gentileza.

    Att,

    Alexandre Fim



    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    Função "MID" trocando vírgula por ponto Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    AngeloQA
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 4
    Registrado : 05/06/2012

    Função "MID" trocando vírgula por ponto Empty Re: Função "MID" trocando vírgula por ponto

    Mensagem  AngeloQA 20/6/2024, 15:32

    Olá Alexandre!

    O string em questão, é um código interno de identificação de um produto e o décimo carcater identifica o mês em que o produto foi produzido.
    Estou criando uma lista de quantos produtos foram produzidos por mês e, por isso, a necessidade de identificar esse caracter específico.
    Mas a questão maior é o fato do Access, na função MID dentro da consilta, estar alterando a vírugula por ponto.
    Na função mid, a vírgula serve como separador de parâmetros (qual o string, qual o primeiro caracter e quantos caracteres pegar).

    Se eu colocar MID(strVIN, 10, 1), na consulta, ao salvar no Design View, ele altera para  MID(strVIN, 10.1) e o interpretador de SQL entende que só estou dando os dois primeiros parâmetros para a função MID e se comporta como se fosse uma função RIGHT, pegando do décimo caracter até o final da string.

    Não sei se fui mais claro...


    Grato!
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    Função "MID" trocando vírgula por ponto Empty Re: Função "MID" trocando vírgula por ponto

    Mensagem  Alexandre Fim 20/6/2024, 15:39

    Ok,

    Por gentileza, compartilha uma cópia do seu banco de dados para entender melhor o contexto, para análise e solução do problema.
    Desta forma fica mais rápido e fácil de te ajudar.

    Veja no link abaixo como postar anexos no fórum:
    https://www.maximoaccess.com/t32003-como-postar-anexos-e-imagens-no-site-maximoaccess-com

    Att,

    Alexandre Fim


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    Função "MID" trocando vírgula por ponto Setinf11
    Sistemas e Tecnologia Ltda
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3899
    Registrado : 04/04/2010

    Função "MID" trocando vírgula por ponto Empty Re: Função "MID" trocando vírgula por ponto

    Mensagem  Avelino Sampaio 20/6/2024, 15:44

    Olá!

    O correto no modo design é o uso do ";".  Experimente no modo design assim: MID(strVIN; 10; 1) e nos informe o resultado.

    Aguardamos


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    AngeloQA
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 4
    Registrado : 05/06/2012

    Função "MID" trocando vírgula por ponto Empty Re: Função "MID" trocando vírgula por ponto

    Mensagem  AngeloQA 20/6/2024, 17:39

    Olá Avelino!

    Quando tento colocar ";" na função, recebo uma mensagem de erro dizendo que omiti um operando ou operador, um caracter inválido e seleciona o ponto e vírgula, indicando que é aí o erro.

    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3899
    Registrado : 04/04/2010

    Função "MID" trocando vírgula por ponto Empty Re: Função "MID" trocando vírgula por ponto

    Mensagem  Avelino Sampaio 20/6/2024, 17:49

    Está usando a versão em inglês do Windows e/ou do MS Access ?





    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    AngeloQA
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 4
    Registrado : 05/06/2012

    Função "MID" trocando vírgula por ponto Empty Re: Função "MID" trocando vírgula por ponto

    Mensagem  AngeloQA 20/6/2024, 19:04

    Sim, Avelino. Tanto o Windows quanto o Access (Office) está na versão em Inglês.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    Função "MID" trocando vírgula por ponto Empty Re: Função "MID" trocando vírgula por ponto

    Mensagem  Alexandre Fim 20/6/2024, 19:25

    Angelo,

    Por gentileza, compartilha uma cópia do seu banco de dados para entender melhor o contexto, somente objetos (tabelas, formularios, consultas e etc) envolvidos no problema.
    Desta forma fica mais rápido e fácil de te ajudar.

    Veja no link abaixo como postar anexos no fórum:
    https://www.maximoaccess.com/t32003-como-postar-anexos-e-imagens-no-site-maximoaccess-com

    Att,

    Alexandre Fim


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    Função "MID" trocando vírgula por ponto Setinf11
    Sistemas e Tecnologia Ltda
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3899
    Registrado : 04/04/2010

    Função "MID" trocando vírgula por ponto Empty Re: Função "MID" trocando vírgula por ponto

    Mensagem  Avelino Sampaio 21/6/2024, 07:24

    Bom,

    para ajustar isso você teria que alterar as configurações regionais do Windows mas a forma mais adequada ao meu ver será você cria uma pequena função no VBA, substituindo a função MID() usada na consulta.  Abra um módulo global e copie a seguinte função:

    Public Function Midx(strVIN As String, start As Integer, length As Integer) As String
       Midx = Mid(strVIN, start, length)
    End Function


    Agora use esta função na consulta.  Exemplo:

    SELECT strVin, Midx([strVIN], 10, 1) AS Posicao10
    FROM NomeTabela;


    Caso ainda resulte em falha, altere a função para:

    Public Function Midx(strVIN As String) As String
       Midx = Mid(strVIN, 10, 1)
    End Function


    E na consulta:

    SELECT strVin, Midx([strVIN]) AS Posicao10
    FROM NomeTabela;


    Se ainda assim falhar, nos forneça um pequeno BD exemplo, conforme o Alexandre está sugerindo.

    Aguardamos


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.

    Conteúdo patrocinado


    Função "MID" trocando vírgula por ponto Empty Re: Função "MID" trocando vírgula por ponto

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/9/2024, 02:50