You wrote:
I don't understand this. Doesn't Year() return an integer, and Cstr() convert integers to strings? Note, however, that the following DOES work... yearStr = Cstr(Year( Today )) But why can't I use my DateTime in place of Today? (In the actual application, my thisDate could be any date. It's not actually going to be Today.)
====================================
How to get around this the simplest way is going to depend a lot on where you'll be getting the date from when you're writing your actual production code. If, for example, you were pulling a datetime from a document it's already stored in the correct format. You could use
yearStr = Cstr ( Year ( doc.MyDate(0) ) )
If you've got it as a text value that you're reading in from somplace, then do the conversion a little differently:
mydate = Cdat ( "01/01/2005" )
yearStr = Cstr ( Year ( mydate ) )
That's the big problem with hypothetical code, it doesn't have the context to give a solid answer that a real-world situation does.