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] Porque o PONTO E VÍRGULA nesta expressão??

    Compartilhe

    jorge_bh
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 05/07/2014

    [Resolvido] Porque o PONTO E VÍRGULA nesta expressão??

    Mensagem  jorge_bh em Sab 05 Jul 2014, 07:40

    Estou estudando Access 2013 e não estou entendendo porque, ao construir uma QUERY em uma tabela, se clico em um campo e então abro o EXPRESSION BUILDER, e vou em FUNCTIONS - BUILT-IN FUNCTIONS - TEXT - LEFT, então Access insere a seguinte expressão no Expression Builder:

    Left(«string»; «length»)

    Não entendo porque este ponto e vírgula. Os livros que estou estudando, e também um tutorial em vídeo, mostram uma VÍRGULA, ficando da seguinte forma:

    Left(«string», «length»)

    E isto está fazendo diferença, pois no tutorial o autor, em cujo Access tem a expressão com uma vírgula, clica em string e então, em EXPRESSION ELEMENTS navega por uma das tabelas do banco de dados e, em EXPRESSION ELEMENTS clica duas vezes no campo FirstName. E fica desta forma:

    Left( [Employees]![FirstName] , «length»)

    Mas, se em vez da vírgula, há um ponto e vírgula, então fica desta forma:

    Left( [Employees]![FirstName] «Expr» ; «length»)

    Observe que surge um novo termo Expr na expressão. Porque isto acontece? Porque o meu Access 2013 está colocando este ponto e vírgula na expressão?

    Além dos livros e tutoriais que eu mencionei, até mesmo na página da Microsoft, no Help do Access, está escrita a expressão com vírgula. Eu pesquisei bastante pela internet e só encontrei a expressão com vírgula.

    Porque então está aparecendo este ponto e vírgula no meu access?

    obrigado!
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido] Porque o PONTO E VÍRGULA nesta expressão??

    Mensagem  Alexandre Neves em Sab 05 Jul 2014, 11:01

    Bom dia, e bem-vindo ao fórum
    Os códigos, normalmente, dizem respeito ao VBA; na grelha de consulta, as vírgulas de separação dos termos das expressões são substituídas pelo ponto e vírgula.
    Os campos têm o seu nome. Sempre que existe uma transformação do campo, pode ser por aplicação duma função, o nome não pode ser o mesmo, como é fácil compreender. Então, nestes casos, o Access nomeia-os começando por expr para indicar que o campo é resultado duma expressão


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2807
    Registrado : 29/06/2012

    Re: [Resolvido] Porque o PONTO E VÍRGULA nesta expressão??

    Mensagem  Noobezinho em Sab 05 Jul 2014, 12:20

    Com licença amigos


    Continuando essa explicação:

    Se colocar essa expressão no código VBA:

    Left(«string»; «length»)  com exemplo:

    Left("Noob"; 1) --> Vai dar erro porque o VBA não reconhece o ponto e virgula e sim a virgula

    Se colocarmos essa mesma expressão num controle de uma consulta ou formulário, irá funcionar ao passo que a virgula irá dar erro.

    Me parece e eu não uso o access em inglês para confirmar, que  essa diferença é só no access portugues, não sei o por que disso,
    veja que também traduziram algumas expressões como data(), tempo(), Agora(), etc.
    E quando vou pesquisar na net, vejo esses comandos escritos em ingles na grade da consulta e nos controles de formulários e relatórios.

    Quanto a expressão:

    Left( [Employees]![FirstName] «Expr» ; «length»)

    O construtor de expressão somente mostra a expressão generalizada, ele não vê que já existe a função,sempre irá mostras a forma da sintaxe da expressão.

    Conclusão, ele apenas auxilia na sintaxe da expressão, não irá construir a expressão para nós.

    Nem sempre resultará naquilo que desejamos.

    Abraços


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

    jorge_bh
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 05/07/2014

    Re: [Resolvido] Porque o PONTO E VÍRGULA nesta expressão??

    Mensagem  jorge_bh em Dom 06 Jul 2014, 02:57

    Obrigado amigos!  Laughing 

    Já entendi o que estava acontecendo. Access usa as CONFIGURAÇÕES DE LINGUAGEM DO COMPUTADOR para estabelecer o formato das expressões no Expression Builder. Eu apenas mudei a linguagem do computador para ENGLISH, e agora as expressões são construidas com uma VÍRGULA, em vez de ponto e vírgula, que parece ser o formato comum aqui na América do Sul.

    Por enquanto, até ter um entendimento melhor do Access e do VBA, vou manter esta configuração no meu computador, até mesmo porque a grande maioria dos softs que uso é em inglês. Sou experiente em outras áreas como html e css, mas em Access estou começando agora, e vejo que há um campo ilimitado de possibilidades!

    forte abraço a todos!
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2807
    Registrado : 29/06/2012

    Re: [Resolvido] Porque o PONTO E VÍRGULA nesta expressão??

    Mensagem  Noobezinho em Dom 06 Jul 2014, 03:25

    Valeu o retorno amigo

    Vai ver que o Access é apaixonante  Razz Razz bounce Wink Wink 

    Boa sorte

    Noob


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

      Data/hora atual: Seg 23 Out 2017, 05:23