ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   how to check that a var type date is initialized ?? (https://www.excelbanter.com/excel-programming/334734-how-check-var-type-date-initialized.html)

François

how to check that a var type date is initialized ??
 
Let's suppose a declaration like this

1. Set the static value

Call LastInputDate(#08/15/2005#)

2. Display the static value
MsgBox(LastInputDate)

Function LastInputDate (Optional dDate as date) as date
Static dLastDate as Date

If IsEmpty(dDate) then
LastInputDate = dLAstDate
Else
dLastDate = dDate
End Function.


This is never working since dDate contains allways "12:00:00 Am". How to
solve this ?

Dave Peterson

how to check that a var type date is initialized ??
 
If you declare dLastDate as date, then it's initial value is 00:00:00.

Could you check for that?

Or you could declare it as a variant and continue to check using isempty().



François wrote:

Let's suppose a declaration like this

1. Set the static value

Call LastInputDate(#08/15/2005#)

2. Display the static value
MsgBox(LastInputDate)

Function LastInputDate (Optional dDate as date) as date
Static dLastDate as Date

If IsEmpty(dDate) then
LastInputDate = dLAstDate
Else
dLastDate = dDate
End Function.

This is never working since dDate contains allways "12:00:00 Am". How to
solve this ?


--

Dave Peterson

Norman Jones

how to check that a var type date is initialized ??
 
Hi François'

Try changing dDate to variant and using the IsMissing function.

For example , the following worked for me:

Sub InitialiseIt() '
Call LastInputDate(#8/15/2005#)
End Sub

Sub DisplayIt()
MsgBox (LastInputDate)
End Sub

Function LastInputDate(Optional dDate) As Date
Static dLastDate As Date

If IsMissing(dDate) Then
LastInputDate = dLastDate
Else
dLastDate = dDate
End If
End Function


---
Regards,
Norman



"François" wrote in message
...
Let's suppose a declaration like this

1. Set the static value

Call LastInputDate(#08/15/2005#)

2. Display the static value
MsgBox(LastInputDate)

Function LastInputDate (Optional dDate as date) as date
Static dLastDate as Date

If IsEmpty(dDate) then
LastInputDate = dLAstDate
Else
dLastDate = dDate
End Function.


This is never working since dDate contains allways "12:00:00 Am". How to
solve this ?




Dave Peterson

how to check that a var type date is initialized ??
 
Oops. I confused dLastDate and dDate.

Another way is to use a date that won't be used:

Function LastInputDate(Optional dDate As Date = #12/31/9999#) As Date
Static dLastDate As Variant

If dDate = DateSerial(9999, 12, 31) Then
......



Dave Peterson wrote:

If you declare dLastDate as date, then it's initial value is 00:00:00.

Could you check for that?

Or you could declare it as a variant and continue to check using isempty().

François wrote:

Let's suppose a declaration like this

1. Set the static value

Call LastInputDate(#08/15/2005#)

2. Display the static value
MsgBox(LastInputDate)

Function LastInputDate (Optional dDate as date) as date
Static dLastDate as Date

If IsEmpty(dDate) then
LastInputDate = dLAstDate
Else
dLastDate = dDate
End Function.

This is never working since dDate contains allways "12:00:00 Am". How to
solve this ?


--

Dave Peterson


--

Dave Peterson


All times are GMT +1. The time now is 12:32 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com