Discussion:
Calcular un campo de una consulta mediante una función pública
(demasiado antiguo para responder)
Toni
2014-01-09 10:33:40 UTC
Permalink
Buenas de nuevo,

Estoy intentando calcular un campo de una consulta mediante una función pública, pero me da error.

La consulta es la siguiente:

SELECT OVP_Historic.*, sObservacions([TipusEntradaHist],[ObsHist]) AS Campo1
FROM OVP_Historic;

y la función es la siguiente:

Public Function sObservacions(TipusEntrada As Integer, ObsHist As String) As String
sObservacions = "Hola"
End Function

Me da el siguiente error:

"La función 'SObservacions' no està definida en la expresión"


¿Qué puede estar pasando?

Trabajo con Acces 2007
Muchas gracias
José Mª Fueyo
2014-01-10 12:54:15 UTC
Permalink
Hola
Mira en la tabla de "Referencias" sí alguna de las seleccionadas te aparece marcada como "FALTA". Sí es así, desmárcala.

Salu2
--
José Mª Fueyo
[MS MVP Access]
Toni
2014-01-13 10:08:43 UTC
Permalink
Jose Mª, gracias por la respuesta.

Donde puedo encontrar esa tabla? Estas hablando de tablas de sistema? No se exactamente a que te refieres.

Muchas gracias
Toni
Post by José Mª Fueyo
Hola
Mira en la tabla de "Referencias" sí alguna de las seleccionadas te aparece marcada como "FALTA". Sí es así, desmárcala.
Salu2
--
José Mª Fueyo
[MS MVP Access]
José Mª Fueyo
2014-01-13 15:54:04 UTC
Permalink
Hola
No puedo decirte ahora con Access 2007 (no lo tengo instalado aquí). En 2003 sería, dentro del entorno de desarrollo de VBA, menú herramientas, Referencias.

Salu2
--
José Mª Fueyo
[MS MVP Access]
Toni
2014-01-14 06:59:48 UTC
Permalink
Buenos días José Mª, y gracias de nuevo

He encontrado lo que me comentas, en VBA Herramientas.

Tengo activadas las siguientes referencias:

Visual Basic for Applications
Microsoft Acces 12.0 Object Library
OLE Automation
Microsoft Office 12.0 Acces Database engine object library

Hay muchas màs, sin activar, pero no encuentro por ninguna parte lo que me comentas que puedan estar marcadas como 'FALTA'.

Con esta información que te doy, puedes indicarme que debo hacer?

Gracias
Post by José Mª Fueyo
Hola
No puedo decirte ahora con Access 2007 (no lo tengo instalado aquí). En 2003 sería, dentro del entorno de desarrollo de VBA, menú herramientas, Referencias.
Salu2
--
José Mª Fueyo
[MS MVP Access]
José Mª Fueyo
2014-01-14 08:38:32 UTC
Permalink
Hola
¿Donde tienes definida esa función?

Salu2
--
José Mª Fueyo
[MS MVP Access]
Toni
2014-01-14 09:15:32 UTC
Permalink
En un módulo:

Public Function sObservacions(TipusEntrada As Integer, ObsHist As String) As String

....

End Function
Post by José Mª Fueyo
Hola
¿Donde tienes definida esa función?
Salu2
--
José Mª Fueyo
[MS MVP Access]
José Mª Fueyo
2014-01-14 09:46:03 UTC
Permalink
Sí los parámetros de tu función son campos de la consulta, prueba a agregar el nombre de la tabla entre corchetes, seguido de un punto (vamos, la notación completa)

SELECT OVP_Historic.*, sObservacions([OVP_Historic].[TipusEntradaHist],[OVP_Historic].[ObsHist]) AS Campo1
FROM OVP_Historic;

Salu2
--
José Mª Fueyo
[MS MVP Access]
Toni
2014-01-14 10:26:36 UTC
Permalink
Eso era, solucionado

Gracias
Post by José Mª Fueyo
Sí los parámetros de tu función son campos de la consulta, prueba a agregar el nombre de la tabla entre corchetes, seguido de un punto (vamos, la notación completa)
SELECT OVP_Historic.*, sObservacions([OVP_Historic].[TipusEntradaHist],[OVP_Historic].[ObsHist]) AS Campo1
FROM OVP_Historic;
Salu2
--
José Mª Fueyo
[MS MVP Access]
José Mª Fueyo
2014-01-14 10:57:29 UTC
Permalink
:-)

Salu2
--
José Mª Fueyo
[MS MVP Access]

Loading...