Compartilhar via


"A expressão que introduziu tem uma função que contém o número incorreto de argumentos" quando utiliza a função CDec() numa consulta do Access

Moderado: requer competências básicas de macro, codificação e interoperabilidade.

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

Sintomas

Quando utiliza a função CDec() numa consulta do Microsoft Access, poderá receber a seguinte mensagem de erro:

"A expressão que introduziu tem uma função que contém o número incorreto de argumentos."

Motivo

A função CDec() é suportada no código do Visual Basic for Applications, mas não nas consultas do Access.

Solução

Crie uma função personalizada que utilize a função CDec(). Chame esta função personalizada a partir da sua consulta do Access. Por exemplo:

  1. Crie um novo módulo e escreva o seguinte código:
Function NewCDec(MyVal)
   NewCDec = CDec(MyVal)
End Function

  1. Guarde e feche o módulo.
  2. Escreva MyID: NewCDec([CategoryID]) na linha Campo de uma consulta. Quando executa esta função, devolve um valor válido para o campo MyID.

Status

A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados no início deste artigo.

Mais informações

Passos para Reproduzir Comportamento

Office Access 2002 e Office Access 2003

  1. Abra a base de dados de exemplo Northwind.mdb.
  2. Na janela Base de Dados, clique em Consultas em Objetos e, em seguida, clique em Novo.
  3. Na caixa Nova Consulta, clique em Vista Estrutura e, em seguida, clique em OK.
  4. Na caixa Mostrar Tabela, clique na tabela Categorias. Clique em Adicionar e, em seguida, clique em Fechar.
  5. Arraste o campo CategoryName da caixa Lista de Campos para a linha Campo da primeira coluna da grelha de estrutura da consulta.
  6. Escreva MyID: CDec(CategoryID) na linha Campo da segunda coluna.
  7. Tente mover para a coluna seguinte na grelha de estrutura da consulta. Tenha em atenção que recebe a mensagem de erro mencionada na secção "Sintomas".

Office Access 2007 e Office Access 2010

  1. Crie um novo banco de dados.

  2. Crie uma nova tabela com os seguintes campos:

    Nome Tipo de dados Tamanho do Campo
    ID AutoNumber Inteiro longo
    MyNum Número Duplo
  3. Guarde a tabela como Tabela1.

  4. Abra a tabela para adicionar dados e introduza 10,55 na coluna MyNum .

  5. Feche a Tabela1.

  6. Crie uma nova consulta na Estrutura da Consulta.

  7. Selecione Tabela1 na janela Mostrar Tabela e clique em Adicionar.

  8. Clique em Fechar para fechar a janela Mostrar Tabela .

  9. Arraste o campo myNum da caixa Lista de Campos na parte superior do ecrã de estrutura para a linha Campo da primeira coluna da grelha de estrutura da consulta.

  10. Na linha Campo no segundo tipo de coluna:

    MyNewNum: CDec(myNum)

  11. Tente mover para a coluna seguinte na grelha de estrutura da consulta. Tenha em atenção que recebe a mensagem de erro mencionada na secção "Sintomas".