MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

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!

    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5889
    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

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2503
    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!

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2503
    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: Qua 07 Dez 2016, 20:11