ACC95: DateDiff, DateAdd, or DatePart Causes IPF in VBA232.DLL (169156)
The information in this article applies to:
- Microsoft Access for Windows 95 7.0
This article was previously published under Q169156 Moderate: Requires basic macro, coding, and interoperability skills.
SYMPTOMS
When you pass an uninitialized string variable to the interval argument of
the DateAdd(), DatePart(), or DateDiff() functions in Microsoft Access 7.0,
you receive the following error message:
MSACCESS caused an invalid page fault in module VBA232.DLL
RESOLUTION
Always pass a valid interval value to the DateAdd(), DatePart(), and
DateDiff() functions. To be sure you pass a valid interval value, you can
test for the value of the variable before you invoke the function, as in
the following example:
Sub IntervalTest()
Dim x as String
If x <> "" Then
Debug.Print DateAdd(x,1,Date)
Else
MsgBox "The interval argument is invalid."
End If
End Sub
Another way to prevent the page fault error is to initialize the variable
as a zero-length string as soon as you declare it. For example:
Sub IntervalTest()
Dim x as String
x = ""
' Add other code here that sets the value of x
Debug.Print DateAdd(x,1,Date)
End Sub
Then, if you do not set the value of the variable to a valid interval
before you pass it to the DateAdd(), DatePart(), or DateDiff() function,
you receive the following error, but Microsoft Access does not terminate:
Run-time error '5':
Invalid procedure call
STATUS
Microsoft has confirmed this to be a problem in Microsoft Access 7.0. This
behavior does not occur in Microsoft Access 2.0 or 97.
REFERENCES
For more information about DateAdd(), DatePart(), or DateDiff() functions,
ask the Microsoft Access 7.0 Answer Wizard for "date functions."
Modification Type: | Major | Last Reviewed: | 11/17/2000 |
---|
Keywords: | kbbug kberrmsg kbprogramming KB169156 |
---|
|