Not sure exactly what you're trying to do, or exactly what you mean by a "time" field, but in point of fact, there is no such thing in Access as a "Time" field! All fields defined in the underlying table to a hold Date and/or Time values are actually Date/Time datatype.
If only the "date" part is entered, Access completes the field by adding 00:00:00 for hours/minutes/seconds. The opposite is true as well. If a "time" is entered, Access adds the default date of 12/30/1899 to it.
Access internally stores Date/Times as Doubles. 1/21/2008 is actually stored as 39468, which is the number of days since the previously mentioned 12/30/1899. The time part is stored as the part of a day, so that 1/21/2008 12:00:00 (noon) would be stored as 39468.5.
As I said before, for most functions Access will accept a "date" if it looks like a date, and a "time" if it looks like a time. CDate() will coerce any expression into a date that can be reasonably be interrpreted as a date.
CDate("1/21/2008") will return 1/21/2008, even though "1/21/2008" is a string. CDate(39468) will also return 1/21/2008 a date because, in Access' eyes, the expression 39468 can be interpreted as a date.
When do you use CDate()? Don't really know; I've never had to. Perhaps in SQL which is not as forgiving as VBA.
Linq ;0)>