Atlanta Custom Software Development 

   Search        Code/Page

User Login



Forgot the Password?
» Web Development
» Maintenance
» Data Integration/BI
» Information Management
» Regular Expr Tester
» Free Tools

IsMissing returns False with non-Variant arguments

Total Hit ( 2811)

Rate this article:     Poor     Excellent 

 Submit Your Question/Comment about this article



Every now and then I forget that the IsMissing function always returns False when the argument is not a Variant value. This happens because IsMissing does nothing more than converting its argument to Variant and testing for a special VarType value. For this reason, the following code is a symptom of a probable bug:

Click here to copy the following block
Sub DoSomething(Optional value As Long)
 If IsMissing(value) Then
  ' this code will be NEVER executed !!!
 End If
End Sub

Another little known quirk of the IsMissing function is that it always return False once the parameter has been set to an explicit value from within the procedure, as in:

Click here to copy the following block
Sub DoSomething(value1 As String, Optional value2 As Variant)
 If IsMissing(value2) Then
  value2 = value1
 End If
 If IsMissing(value2) Then
  ' this code will be NEVER executed !!!
 End If
End Sub

Submitted By : Nayan Patel  (Member Since : 5/26/2004 12:23:06 PM)

Job Description : He is the moderator of this site and currently working as an independent consultant. He works with, SQL Server and other MS technologies. He is, MCDBA and MCSE. In his free time he likes to watch funny movies and doing oil painting.
View all (893) submissions by this author  (Birth Date : 7/14/1981 )

Home   |  Comment   |  Contact Us   |  Privacy Policy   |  Terms & Conditions   |  BlogsZappySys

© 2008 BinaryWorld LLC. All rights reserved.