Solved

Error for DateAdd formula on blank date field

Posted on 2014-11-22
5
205 Views
Last Modified: 2014-11-22
=IIf(IsError(DateAdd("d",30,[Text44])),"",DateAdd("d",30,[Text44]))

When the above formula is evaluated for a Text44 textbox  with a "" value, I get an error as the output for the second text box.

What can I do make the formula output a blank value?

Thanks

Glen
0
Comment
Question by:GPSPOW
5 Comments
 
LVL 18

Assisted Solution

by:Simon
Simon earned 100 total points
ID: 40460035
The problem is that IIF evaluates both parts, even though it only returns a value for one of them.

This is a problem when using calculated controls. I tend to use event handlers that fire after controls are modified to set dependent fields. In this case I'd check that the value in Text44 is a date and only then calculate and populate the dependent field.
0
 
LVL 120

Assisted Solution

by:Rey Obrero (Capricorn1)
Rey Obrero (Capricorn1) earned 100 total points
ID: 40460041
try

= IIf([Text44] & "" = "", "", DateAdd("d", 30, [Text44]))
0
 
LVL 47

Accepted Solution

by:
Dale Fye (Access MVP) earned 300 total points
ID: 40460049
Or you could create a function:
Public Function DateAddPlus(Interval as string, Incr as Double, SomeDate as Variant) as Variant

    IF Len(Trim(SomeDate & " ")) = 0 Then
        DateAddPlus = ""
    Else
        DateAddPlus = DateAdd(Interval, Incr, SomeDate)
    End If

End Function

Open in new window

The advantage of using a function is that the function will be evaluated when you go to a new record and when you make a change in the the first date control.  The syntax you would use to call this function within your Control Source would be something like:

=DateAddPlus("d",30,[Forms]![YourFormName].[text44])
0
 

Author Closing Comment

by:GPSPOW
ID: 40460056
Thanks to all who gave me the good recommendations.

Glen
0
 
LVL 18

Expert Comment

by:Simon
ID: 40460057
I just knocked up a quick test. If the input date field is blank, a simple =DateAdd() calculated field stays blank until a valid date is entered into the input date field. My test used a bound date field to as the input date field. If using unbound fields, using an input mask or validation rule would prevent any non-date values being entered.
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Access sql to sql server express 10 31
Calculation in Access 5 22
Access 2003 query lost it's only join 7 24
Create macro from runcode 30 22
This article is a continuation or rather an extension from Cascading Combos (http://www.experts-exchange.com/A_5949.html) and builds on examples developed in detail there. It should be understandable alone, but I recommend reading the previous artic…
A simple tool to export all objects of two Access files as text and compare it with Meld, a free diff tool.
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.

815 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now