Llamada a procedimiento no válida en Access

Tengo en una consulta un campo calculado:

Company: Der([Articulo];Longitud([Articulo])-8)

Y cuando le meto un filtro, me salta el error Llamada a procedimiento no válida.

Después de muchas pruebas, el error está cuando saco la longitud del campo y resto un fijo, pues si pongo un número cualquiera, no hay problema.

Por más información que he buscado, no sé qué es lo que estoy haciendo mal.

2 respuestas

Respuesta
1

¿El problema no será que tienes registros con una longitud menor de 8 caracteres? Si ese es el caso, el segundo parámetro de la función Derecha sería negativo, y por tanto, no es un valor válido para ese parámetro...

Otra cosa no se me ocurre, porque yo acabo de probar en una BD esa expresión y da igual el filtro que le ponga a ese campo que funciona perfectamente...

Aclaro: registros con una longitud menor de 8 caracteres en el campo" Empresa"

Pues sorprendentemente lo he arreglado con lo que dice eperezfer. Pero ya te digo yo que la longitud del campo es mayor de 8. Porque lo que tengo es un campo que pone "Recarga Simyo" o "Recarga MasMovil", y le quito el texto Recarga.

En fin, muchas gracias.

Pues si lo has solucionado, ¡Perfecto!, pero si esto te funciona y lo tuyo inicial no, es porque en algún registro de tu tabla el campo "Empresa" está vacío o no tiene esos 8 caracteres de longitud...

Respuesta
1

Prueba con lo siguiente:

SiInm(Longitud(Recortar([EMPRESA]))<8;"";Der([EMPRESA];Longitud(Recortar([EMPRESA]))-8))

Primero se valida si la longitud de EMPRESA es menor que 8, en este caso se deja una cadena vacía, en caso contrario aplica la función Der().

Seguro que te funciona.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas