"Invalid use of Null" when using Str() with a Null Recordset field, but Str(Null) works fine
Posted
by Mike Spross
on Stack Overflow
See other posts from Stack Overflow
or by Mike Spross
Published on 2010-05-06T22:22:39Z
Indexed on
2010/05/06
22:28 UTC
Read the original article
Hit count: 217
I'm banging my head against the wall on this one. I was looking at some old database reporting code written in VB6 and case across this line (the code is moving data from a "source" database into a reporting database):
rsTarget!VehYear = Trim(Str(rsSource!VehYear))
When rsSource!VehYear
is Null
, the above line generates an "Invalid use of Null" run-time error. If I break on the above line and type the following in the Immediate pane:
?rsSource!VehYear
It outputs Null
. Fine, that makes sense. Next, I try to reproduce the error:
?Str(rsSource!VehYear)
I get an "Invalid use of Null" error.
However, if I type the following into the Immediate window:
?Str(Null)
I don't get an error. It simply outputs Null
.
If I repeat the same experiment with Trim()
instead of Str()
, everything works fine. ?Trim(rsSource!VehYear)
returns Null
, as does ?Trim(Null)
. No run-time errors.
So, my question is, how can Str(rsSource!VehYear)
possibly throw an "Invalid use of Null" error when Str(Null)
does not, when I know that rsSource!VehYear
is equal to Null
?
© Stack Overflow or respective owner