Solved

How can I add a wildcard text element to a nested IIF in text box form

Posted on 2011-02-11
3
440 Views
Last Modified: 2012-05-11
Hi, this is probably simple for someone who does a lot of formulas. Here is my formulas that works great in my ms access 2007 text box.

=IIf([YrsofSvc]>=25,"25",IIf([YrsofSvc]>=15,"20",IIf([YrsofSvc]>=5,"15",IIf([YrsofSvc]>=1,"10",""))))

The [YrsofSvc] is returning a number so this is working fine. It is getting this number from another formula that returns the number + either Years or Months. So, some people return 2 Years, (or whatever), but others return "4 months"  Here's the formula for that, if it matters:
=IIf((DateDiff("m",[Date 1],Date()))>12,(Round(DateDiff("m",[Date 1],Date())/12)) & " " & "Years",(DateDiff("m",[Date 1],Date()) & " " & "months"))

So, what I am trying to do is get the first IIF statement to return "5" IF the 2nd statement is producing the word "months" . Some people have 7 years of service and that currently is resulting in a return of 15 days of vacation. However, for those that have 7 months only, NOT years, I want it to return a "5" (5 days of vacation).

So how do I get my if statement to evaluate whether it is showing months or years? I tried to do a wildcard in the IIF statement if it saw the text "months" but can't figure out how - not sure if that is right avenue.

Any help appreciated!
Diane
0
Comment
Question by:zgrrl
  • 2
3 Comments
 
LVL 31

Accepted Solution

by:
Helen_Feddema earned 500 total points
ID: 34874322
I would do the calculated expressions in a query, not in a textbox's control source -- much easier to work with!  I would redo the 2nd formula to always yield months (no text, just a number), and then it could be used in the 1st formula.
0
 

Author Comment

by:zgrrl
ID: 34874971
Helen,

Doh! Why didn't I think of that? I did this and now it's working fine. For those who may be reading this, here is my final formula after I calculated for months instead of years.

=IIf([TotalMonths]>=300,"25",IIf([TotalMonths]>=180,"20",IIf([TotalMonths]>=60,"15",IIf([TotalMonths]>=12,"10",IIf([TotalMonths]>=6,"5","0")))))

I did use my original formula still to show the "5 months" or "2 years" etc. But doing the months calculation is what worked for me to get the awarded vacation allotment to show properly, so thank you!.
0
 

Author Closing Comment

by:zgrrl
ID: 34874975
Thank you!
0

Featured Post

Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

Question has a verified solution.

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

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…
In the article entitled Working with Objects – Part 1 (http://www.experts-exchange.com/Microsoft/Development/MS_Access/A_4942-Working-with-Objects-Part-1.html), you learned the basics of working with objects, properties, methods, and events. In Work…
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …

948 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

18 Experts available now in Live!

Get 1:1 Help Now