Compartir a través de


"La expresión especificada tiene una función que contiene el número incorrecto de argumentos" cuando se usa la función CDec() en una consulta de Access.

Moderado: requiere aptitudes básicas de macro, codificación e interoperabilidad.

Este artículo solo se aplica a una base de datos de Microsoft Access (.mdb).

Síntomas

Al usar la función CDec() en una consulta de Microsoft Access, puede recibir el siguiente mensaje de error:

"La expresión que escribió tiene una función que contiene el número incorrecto de argumentos."

Causa

La función CDec() se admite en el código de Visual Basic para Aplicaciones, pero no en las consultas de Access.

Solución

Cree una función personalizada que use la función CDec(). Llame a esta función personalizada desde la consulta de Access. Por ejemplo:

  1. Cree un nuevo módulo y escriba el código siguiente:
Function NewCDec(MyVal)
   NewCDec = CDec(MyVal)
End Function

  1. Guarde y cierre el módulo.
  2. Escriba MyID: NewCDec([CategoryID]) en la fila Field de una consulta. Al ejecutar esta función, devuelve un valor válido para el campo MyID.

Estado

Microsoft ha confirmado que se trata de un problema en los productos de Microsoft que aparecen al principio de este artículo.

Más información

Pasos para reproducir el comportamiento

Office Access 2002 y Office Access 2003

  1. Abra la Northwind.mdb de base de datos de ejemplo.
  2. En la ventana Base de datos, haga clic en Consultas en Objetosy, a continuación, haga clic en Nuevo.
  3. En el cuadro Nueva consulta, haga clic en Vista diseñoy, a continuación, haga clic en Aceptar.
  4. En el cuadro Mostrar tabla, haga clic en la tabla Categorías. Haga clic en Agregar y, después, en Cerrar.
  5. Arrastre el campo CategoryName desde el cuadro Lista de campos a la fila Campo de la primera columna de la cuadrícula de diseño de la consulta.
  6. Escriba MyID: CDec(CategoryID) en la fila Field de la segunda columna.
  7. Intente pasar a la siguiente columna de la cuadrícula de diseño de consultas. Tenga en cuenta que recibe el mensaje de error mencionado en la sección "Síntomas".

Office Access 2007 y Office Access 2010

  1. Cree una nueva base de datos.

  2. Cree una nueva tabla con los campos siguientes:

    Nombre Tipo de datos Tamaño del campo
    Id. Autonumeración Entero largo
    MyNum Número Doble
  3. Guarde la tabla como Table1.

  4. Abra la tabla para agregar datos y escriba 10.55 en la columna MyNum .

  5. Cierre Table1.

  6. Cree una nueva consulta en Diseño de consultas.

  7. Seleccione Table1 en la ventana Mostrar tabla y haga clic en Agregar.

  8. Haga clic en Cerrar para cerrar la ventana Mostrar tabla .

  9. Arrastre el campo myNum desde el cuadro Lista de campos de la parte superior de la pantalla de diseño hasta la fila Campo de la primera columna de la cuadrícula de diseño de consultas.

  10. En la fila Campo del segundo tipo de columna:

    MyNewNum: CDec(myNum)

  11. Intente pasar a la siguiente columna de la cuadrícula de diseño de consultas. Tenga en cuenta que recibe el mensaje de error mencionado en la sección "Síntomas".