Artigo: 239565 - Última revisão: segunda-feira, 25 de Novembro de 2002 - Revisão: 1.0

ACC2000: Expressão de consulta truncado no 511 caracteres

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Moderado: Requer básica macros, codificação e interoperabilidade competências.

Este artigo aplica-se apenas a uma base de dados do Microsoft Access (.mdb).

Nesta página

Expandir tudo | Reduzir tudo

Sintomas

Uma consulta do Microsoft Access 2000, quando tenta editar a consulta na grelha de estrutura da consulta, poderá receber a seguinte mensagem de erro:
A expressão introduzida falta um parêntese de fecho, parênteses (]) ou vertical (|) da barra.
Em seguida, repare que uma expressão ou um critérios foi truncado.

Após guardar a consulta, também poderá ser apresentada a seguinte mensagem de erro:
<expression>Em falta),] ou produto numa expressão de consulta '<expressão>'.

Causa

Uma expressão ou um critério na consulta é mais 511 caracteres de comprimento. Apesar de estados de ajuda do Access 2000 que a grelha de estrutura de uma célula de uma consulta ter um limite de 1024 caracteres, da interface de estrutura da consulta do Access 2000 tem realmente um limite de 511 caracteres. Este problema não ocorre em versões anteriores do Microsoft Access.

Resolução

Para resolver este problema, obtenha o Microsoft Office 2000 Service Release 1/1a (SR-1/SR-1a).

Para obter o SR-1/SR-1a, clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft:
245025  (http://support.microsoft.com/kb/245025/EN-US/ ) OFF2000: Como obter e instalar o Microsoft Office 2000 Service Release 1/1a (SR-1/SR-1a)
Para resolver temporariamente este problema, não tente editar uma expressão de consulta existente na vista de estrutura, se a instrução de SQL tem mais de 511 caracteres.
Se pretender criar uma consulta com uma expressão que excede 511 caracteres, pode utilizar o método CreateQueryDef no Visual Basic para aplicações do procedimento. O exemplo seguinte ilustra como o fazer com o exemplo da secção "Passos para reproduzir o problema":
  1. Abra a base de dados exemplo Adamastor.mdb.
  2. Clique em módulos em objectos e, em seguida, clique em Novo .
  3. No novo módulo escreva o seguinte código:
    Option Compare Database
    
    Sub CreateLongQuery()
    
       Dim db1 As DAO.Database
       Dim qdfNew As DAO.QueryDef
    
       Set db1 = CurrentDb
    
       With db1
          Set qdfNew = .CreateQueryDef("LongExpQuery", _
             "SELECT Employees.EmployeeID, [Employees]![Lastname] & " _
             & "[Employees]![Lastname] & [Employees]![Lastname] & " _
             & "[Employees]![Lastname] & [Employees]![Lastname] & " _
             & "[Employees]![Lastname] & [Employees]![Lastname] & " _
             & "[Employees]![Lastname] & [Employees]![Lastname] & " _
             & "[Employees]![Lastname] & [Employees]![Lastname] & " _
             & "[Employees]![Lastname] & [Employees]![Lastname] & " _
             & "[Employees]![Lastname] & [Employees]![Lastname] & " _
             & "[Employees]![Lastname] & [Employees]![Lastname] & " _
             & "[Employees]![Lastname] & [Employees]![Lastname] & " _
             & "[Employees]![Lastname] & [Employees]![Lastname] & " _
             & "[Employees]![Lastname] & [Employees]![Lastname] & " _
             & "[Employees]![Lastname] AS Expr1 FROM Employees;")
          .Close
       End With
    
       Application.RefreshDatabaseWindow
    
    End Sub
    					
  4. Na janela Immediate, escreva a seguinte linha e, em seguida, prima ENTER:
    CreateLongQuery
    					
Aparece uma nova consulta denominada LongExpQuery no Access.

Consulta que criou neste exemplo pode ser executada, mas respectiva expressão não pode ser editada através da interface se tiver mais do que 511 caracteres. Para efectuar alterações que requerem uma expressão maior que 511 caracteres, crie uma nova consulta com as alterações que necessárias, novamente utilizando o procedimento CreateLongQuery.

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no início deste artigo. Este problema foi corrigido no Microsoft Office 2000 SR-1/SR-1a.

Mais Informação

Se a consulta tiver sido importada ou convertida a partir de uma versão anterior do Access, será executada mas não é possível editá-las na vista de estrutura.

Passos para reproduzir o problema

  1. Abra a base de dados exemplo Adamastor.mdb.
  2. Crie uma nova consulta e adicione o seguinte campo:
       Field: EmployeeID
       Table: Employees
    					
  3. Na linha campo da coluna seguinte, escreva a seguinte expressão:
       [Employees]![Lastname] & [Employees]![Lastname] & 
       [Employees]![Lastname] & [Employees]![Lastname] & 
       [Employees]![Lastname] & [Employees]![Lastname] & 
       [Employees]![Lastname] & [Employees]![Lastname] & 
       [Employees]![Lastname] & [Employees]![Lastname] & 
       [Employees]![Lastname] & [Employees]![Lastname] & 
       [Employees]![Lastname] & [Employees]![Lastname] & 
       [Employees]![Lastname] & [Employees]![Lastname] & 
       [Employees]![Lastname] & [Employees]![Lastname] & 
       [Employees]![Lastname] & [Employees]![Lastname] & 
       [Employees]![Lastname] & [Employees]![Lastname] & 
       [Employees]![Lastname] & [Employees]![Lastname]
    					
  4. No menu de consulta , clique em Executar .

    Repare que receberá o seguinte erro:
    <expression>Em falta),] ou produto numa expressão de consulta '<expressão>'.

A informação contida neste artigo aplica-se a:
  • Microsoft Access 2000 Standard Edition
Palavras-chave: 
kbmt kbbug kberrmsg kbpending KB239565 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 239565  (http://support.microsoft.com/kb/239565/en-us/ )