Discussion:
Error 3085: La función 'Nz' no está definida en la expresión
(demasiado antiguo para responder)
Carlos Valencia
2008-07-07 19:00:56 UTC
Permalink
Hola,

Pues que no encuentro solución a este error, y es que no acabo de
entender porque peta, si Nz es una función de Ms Jet, verdad?

El error ocurre al abrir una consulta (utilizando DAO), la línea de
código es esta:

Set resultSQL = CurrentDb.OpenRecordset("SERIES_VPNC" ,
dbOpenSnapshot)

En esa query, utilizo Nz en el Where, así:

WHERE Nz([VPNC 900].[SUBPERIODO])=Nz([VPNC 970].[SUBPERIODO])
AND Nz([VPNC 900].[SUBPERIODO])=Nz([VPNC 985].[SUBPERIODO])

y me salta ese error como si Nz fuera una función definida por mí...
no lo entiendo.

He buscado en el support de microsoft pero no propone solución
alguna...

Alguna idea?

PD: He probado ya a crear una función miNz alternativa (que hace lo
mismo que Nz), pero me he quedado igual.

Gracias por anticipado, y salu2 desde Valencia!

Carlos Canet
xavi
2008-07-08 06:39:07 UTC
Permalink
Hola,

¿Has probado indicando el valor por defecto cuando se encuentre un nulo?

WHERE Nz([VPNC 900].[SUBPERIODO]; 0) = Nz([VPNC 970].[SUBPERIODO]; 0)...
--
Un saludo

Xavi
http://www.llodax.com
http://www.mvp-access.com/foro
Post by Carlos Valencia
Hola,
Pues que no encuentro solución a este error, y es que no acabo de
entender porque peta, si Nz es una función de Ms Jet, verdad?
El error ocurre al abrir una consulta (utilizando DAO), la línea de
Set resultSQL = CurrentDb.OpenRecordset("SERIES_VPNC" ,
dbOpenSnapshot)
WHERE Nz([VPNC 900].[SUBPERIODO])=Nz([VPNC 970].[SUBPERIODO])
AND Nz([VPNC 900].[SUBPERIODO])=Nz([VPNC 985].[SUBPERIODO])
y me salta ese error como si Nz fuera una función definida por mí...
no lo entiendo.
He buscado en el support de microsoft pero no propone solución
alguna...
Alguna idea?
PD: He probado ya a crear una función miNz alternativa (que hace lo
mismo que Nz), pero me he quedado igual.
Gracias por anticipado, y salu2 desde Valencia!
Carlos Canet
Valentín Playá
2008-07-08 12:41:27 UTC
Permalink
Carlos,

son cosas del Access. Mira en el editor de Visual Basic las
referencias, casi seguro que hay alguna que falta, posiblemente la de
DAO. Corrigelo eliminando la que falta y seleccionando la de la
versión que tiene el PC y ya está.

Esto nos ha hecho perder mucho tiempo a muchos.

Saludos,

Valentín Playá
Sonotronic S.A.
Madrid
**********************************************************
Post by Carlos Valencia
Hola,
Pues que no encuentro solución a este error, y es que no acabo de
entender porque peta, si Nz es una función de Ms Jet, verdad?
El error ocurre al abrir una consulta (utilizando DAO), la línea de
Set resultSQL = CurrentDb.OpenRecordset("SERIES_VPNC" ,
dbOpenSnapshot)
WHERE Nz([VPNC 900].[SUBPERIODO])=Nz([VPNC 970].[SUBPERIODO])
AND Nz([VPNC 900].[SUBPERIODO])=Nz([VPNC 985].[SUBPERIODO])
y me salta ese error como si Nz fuera una función definida por mí...
no lo entiendo.
He buscado en el support de microsoft pero no propone solución
alguna...
Alguna idea?
PD: He probado ya a crear una función miNz alternativa (que hace lo
mismo que Nz), pero me he quedado igual.
Gracias por anticipado, y salu2 desde Valencia!
Carlos Canet
Carlos Valencia
2008-07-09 21:27:01 UTC
Permalink
Solucionado!!

Muchas gracias Valentín.

Salu2 desde Valencia!

Carlos Canet
Post by Valentín Playá
Carlos,
son cosas del Access. Mira en el editor de Visual Basic las
referencias, casi seguro que hay alguna que falta, posiblemente la de
DAO. Corrigelo eliminando la que falta y seleccionando la de la
versión que tiene el PC y ya está.
Esto nos ha hecho perder mucho tiempo a muchos.
Saludos,
Valentín Playá
Sonotronic S.A.
Madrid
**********************************************************
Post by Carlos Valencia
Hola,
Pues que no encuentro solución a este error, y es que no acabo de
entender porque peta, si Nz es una función de Ms Jet, verdad?
El error ocurre al abrir una consulta (utilizando DAO), la línea de
Set resultSQL = CurrentDb.OpenRecordset("SERIES_VPNC" ,
dbOpenSnapshot)
WHERE Nz([VPNC 900].[SUBPERIODO])=Nz([VPNC 970].[SUBPERIODO])
AND Nz([VPNC 900].[SUBPERIODO])=Nz([VPNC 985].[SUBPERIODO])
y me salta ese error como si Nz fuera una función definida por mí...
no lo entiendo.
He buscado en el support de microsoft pero no propone solución
alguna...
Alguna idea?
PD: He probado ya a crear una función miNz alternativa (que hace lo
mismo que Nz), pero me he quedado igual.
Gracias por anticipado, y salu2 desde Valencia!
Carlos Canet
e***@gmail.com
2017-08-10 20:46:43 UTC
Permalink
Post by Valentín Playá
Carlos,
son cosas del Access. Mira en el editor de Visual Basic las
referencias, casi seguro que hay alguna que falta, posiblemente la de
DAO. Corrigelo eliminando la que falta y seleccionando la de la
versión que tiene el PC y ya está.
Esto nos ha hecho perder mucho tiempo a muchos.
Saludos,
Valentín Playá
Sonotronic S.A.
Madrid
**********************************************************
Post by Carlos Valencia
Hola,
Pues que no encuentro solución a este error, y es que no acabo de
entender porque peta, si Nz es una función de Ms Jet, verdad?
El error ocurre al abrir una consulta (utilizando DAO), la línea de
Set resultSQL = CurrentDb.OpenRecordset("SERIES_VPNC" ,
dbOpenSnapshot)
WHERE Nz([VPNC 900].[SUBPERIODO])=Nz([VPNC 970].[SUBPERIODO])
AND Nz([VPNC 900].[SUBPERIODO])=Nz([VPNC 985].[SUBPERIODO])
y me salta ese error como si Nz fuera una función definida por mí...
no lo entiendo.
He buscado en el support de microsoft pero no propone solución
alguna...
Alguna idea?
PD: He probado ya a crear una función miNz alternativa (que hace lo
mismo que Nz), pero me he quedado igual.
Gracias por anticipado, y salu2 desde Valencia!
Carlos Canet
disculpa, pero no encuantro la manera de solucionarlo para la consola SQL de powerpivot (excel 2016). No me reconoce el argumento 'nZ', y ya activé desde VBA la referencia 'Microsoft Access 15.0 Object Library'.
Emilio
2017-08-11 12:41:18 UTC
Permalink
-------------------------------------------------------------------------------
¡Importante!: Colabora con el grupo.Contesta a este mensaje
y dinos si te sirvió o no la respuesta dada. Muchas gracias
-------------------------------------------------------------------------------
Hola!

¿Pero a quien se le ocurre responder a un mensaje que tiene casi 10 años, a
saber cuantos años hace Valentín no pasa por aquí? ...

Nz es una función de Access, no de Excel, por lo que no te funcionará,
tendrás que elaborar tu propia función nz que no hace otra cosa que si un
valor fuera nulo lo reemplaza por el valor que le indiques

Saludos a todos desde Huelva

Emilio [MS-MVP Access 2006/11]
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio
escribió en el mensaje de
Post by Valentín Playá
Carlos,
son cosas del Access. Mira en el editor de Visual Basic las
referencias, casi seguro que hay alguna que falta, posiblemente la de
DAO. Corrigelo eliminando la que falta y seleccionando la de la
versión que tiene el PC y ya está.
Esto nos ha hecho perder mucho tiempo a muchos.
Saludos,
Valentín Playá
Sonotronic S.A.
Madrid
**********************************************************
Post by Carlos Valencia
Hola,
Pues que no encuentro solución a este error, y es que no acabo de
entender porque peta, si Nz es una función de Ms Jet, verdad?
El error ocurre al abrir una consulta (utilizando DAO), la línea de
Set resultSQL = CurrentDb.OpenRecordset("SERIES_VPNC" ,
dbOpenSnapshot)
WHERE Nz([VPNC 900].[SUBPERIODO])=Nz([VPNC 970].[SUBPERIODO])
AND Nz([VPNC 900].[SUBPERIODO])=Nz([VPNC 985].[SUBPERIODO])
y me salta ese error como si Nz fuera una función definida por mí...
no lo entiendo.
He buscado en el support de microsoft pero no propone solución
alguna...
Alguna idea?
PD: He probado ya a crear una función miNz alternativa (que hace lo
mismo que Nz), pero me he quedado igual.
Gracias por anticipado, y salu2 desde Valencia!
Carlos Canet
disculpa, pero no encuantro la manera de solucionarlo para la consola SQL de
powerpivot (excel 2016). No me reconoce el argumento 'nZ', y ya activé desde
VBA la referencia 'Microsoft Access 15.0 Object Library'.

Loading...