converting switch to lookup tbl?

I've had this lingering question for a while and am now finally trying
to address it.  We know switch statements' sizes are limited.  I have
this switch statement below, and I need to add more but am bumping up
against the size limitation:

SELECT Switch(
[TCODE]="4030","Purchase - abcd" ,
[TCODE]="3021","Dividend - abcd",
[TCODE]="8081","FIFO Sale - Subtract CDSC",
[TCODE]="7011" And IsNull([TBL1.SACCTNUM])<>True,"Not purchase",
[TCODE]="7011" And IsNull([TBL1.SACCTNUM])=True,"Purchase",
[TCODE]="7512" And IsNull([TBL1.SACCTNUM])<>True,"No Sale ",
[TCODE]="7512" And IsNull([TBL1.SACCTNUM])=True,"FIFO Sale",
[TCODE]="6011" And IsNull([TBL1.SACCTNUM])<>True,"Not purchase",
[TCODE]="6011" And IsNull([TBL1.SACCTNUM])=True,"Purch",
[TCODE]="6512" And IsNull([TBL1.SACCTNUM])<>True,"No sale",
[TCODE]="6512" And IsNull([TBL1.SACCTNUM])=True,"FIFO sale",
[TCODE]="7551","FIFO Sale - unmatched xchange",
[TCODE]= "6600","FIFO Sale by xyz",
[TCODE]="1010","FIFO pos adjust")
FROM TBL1;

It was suggested to me to try a lookup table, and I have done that and
populated it.  It looks like this:

ID - autonumber
TCODE - Text
DESC - Text
NoSACCTNUM - Yes / No


Now I'm trying to figure out the mechanics of pulling that DESC field
into my query with a condition that sometimes the TCODE's are the
same, and the correct DESC (description) is determined by checking if
the SACCTNUM field from the main query has a value - if so, I want to
grab the DESC where NoSACCTNUM is yes.  Otherwise, I want to grab the
DESC where NoSACCTNUM is no.  I can change NoSACCTNUM to a text field,
I don't mind - whatever anyone suggests.  I am just wondering how to
do the above logic, when I'm not a VBA expert.  In Oracle I would
create a function, but I'm not clear in Access how to do this.  I've
thought of doing it at the Join level, but I'm not sure that will work
either.

Thanks for any help!
JJ

0
xz
4/20/2007 4:14:21 PM
access.queries 6343 articles. 1 followers. Follow

2 Replies
768 Views

Similar Articles

[PageSpeed] 21

Get two fields to lookup at:


code    nullNum    description    ' fields
4030    true    "Purchase - abcd"
4030    false   "Purchase - abcd"
....
7011    true    "Not purchase"
7011    false    "Purchase"
....


and make the inner join (or the lookup) on the two first field, to be 
associated to (or to read) the third one.



Hoping it may help,
Vanderghast, Access MVP



"xz" <jasonshohet@gmail.com> wrote in message 
news:1177085661.404876.134380@q75g2000hsh.googlegroups.com...
>
> I've had this lingering question for a while and am now finally trying
> to address it.  We know switch statements' sizes are limited.  I have
> this switch statement below, and I need to add more but am bumping up
> against the size limitation:
>
> SELECT Switch(
> [TCODE]="4030","Purchase - abcd" ,
> [TCODE]="3021","Dividend - abcd",
> [TCODE]="8081","FIFO Sale - Subtract CDSC",
> [TCODE]="7011" And IsNull([TBL1.SACCTNUM])<>True,"Not purchase",
> [TCODE]="7011" And IsNull([TBL1.SACCTNUM])=True,"Purchase",
> [TCODE]="7512" And IsNull([TBL1.SACCTNUM])<>True,"No Sale ",
> [TCODE]="7512" And IsNull([TBL1.SACCTNUM])=True,"FIFO Sale",
> [TCODE]="6011" And IsNull([TBL1.SACCTNUM])<>True,"Not purchase",
> [TCODE]="6011" And IsNull([TBL1.SACCTNUM])=True,"Purch",
> [TCODE]="6512" And IsNull([TBL1.SACCTNUM])<>True,"No sale",
> [TCODE]="6512" And IsNull([TBL1.SACCTNUM])=True,"FIFO sale",
> [TCODE]="7551","FIFO Sale - unmatched xchange",
> [TCODE]= "6600","FIFO Sale by xyz",
> [TCODE]="1010","FIFO pos adjust")
> FROM TBL1;
>
> It was suggested to me to try a lookup table, and I have done that and
> populated it.  It looks like this:
>
> ID - autonumber
> TCODE - Text
> DESC - Text
> NoSACCTNUM - Yes / No
>
>
> Now I'm trying to figure out the mechanics of pulling that DESC field
> into my query with a condition that sometimes the TCODE's are the
> same, and the correct DESC (description) is determined by checking if
> the SACCTNUM field from the main query has a value - if so, I want to
> grab the DESC where NoSACCTNUM is yes.  Otherwise, I want to grab the
> DESC where NoSACCTNUM is no.  I can change NoSACCTNUM to a text field,
> I don't mind - whatever anyone suggests.  I am just wondering how to
> do the above logic, when I'm not a VBA expert.  In Oracle I would
> create a function, but I'm not clear in Access how to do this.  I've
> thought of doing it at the Join level, but I'm not sure that will work
> either.
>
> Thanks for any help!
> JJ
> 


0
Michel
4/20/2007 7:38:12 PM
xz wrote:
>I've had this lingering question for a while and am now finally trying
>to address it.  We know switch statements' sizes are limited.  I have
>this switch statement below, and I need to add more but am bumping up
>against the size limitation:
>
>SELECT Switch(
>[TCODE]="4030","Purchase - abcd" ,
>[TCODE]="3021","Dividend - abcd",
>[TCODE]="8081","FIFO Sale - Subtract CDSC",
>[TCODE]="7011" And IsNull([TBL1.SACCTNUM])<>True,"Not purchase",
>[TCODE]="7011" And IsNull([TBL1.SACCTNUM])=True,"Purchase",
>[TCODE]="7512" And IsNull([TBL1.SACCTNUM])<>True,"No Sale ",
>[TCODE]="7512" And IsNull([TBL1.SACCTNUM])=True,"FIFO Sale",
>[TCODE]="6011" And IsNull([TBL1.SACCTNUM])<>True,"Not purchase",
>[TCODE]="6011" And IsNull([TBL1.SACCTNUM])=True,"Purch",
>[TCODE]="6512" And IsNull([TBL1.SACCTNUM])<>True,"No sale",
>[TCODE]="6512" And IsNull([TBL1.SACCTNUM])=True,"FIFO sale",
>[TCODE]="7551","FIFO Sale - unmatched xchange",
>[TCODE]= "6600","FIFO Sale by xyz",
>[TCODE]="1010","FIFO pos adjust")
>FROM TBL1;
>
>It was suggested to me to try a lookup table, and I have done that and
>populated it.  It looks like this:
>
>ID - autonumber
>TCODE - Text
>DESC - Text
>NoSACCTNUM - Yes / No
>
>
>Now I'm trying to figure out the mechanics of pulling that DESC field
>into my query with a condition that sometimes the TCODE's are the
>same, and the correct DESC (description) is determined by checking if
>the SACCTNUM field from the main query has a value - if so, I want to
>grab the DESC where NoSACCTNUM is yes.  Otherwise, I want to grab the
>DESC where NoSACCTNUM is no.  I can change NoSACCTNUM to a text field,
>I don't mind - whatever anyone suggests.  I am just wondering how to
>do the above logic, when I'm not a VBA expert.  In Oracle I would
>create a function, but I'm not clear in Access how to do this.  I've
>thought of doing it at the Join level, but I'm not sure that will work
>either.


Let's see how far this gets you:

SELECT L.DESC
FROM TBL1 As T LEFT JOIN lookuptable As L
	ON T.TCODE = L.TCODE
		AND L.NoSACCTNUM = ([T.SACCTNUM] Is Null)

-- 
Marsh
MVP [MS Access]
0
Marshall
4/20/2007 7:42:52 PM
Reply:

Similar Artilces:

How to Convert UTC to localTIme(C# )
I have got the value of user account's lastlogon time. Its type is Int64. This value is stored as a large integer that represents the number of 100 nanosecond intervals since January 1, 1601 (UTC)(Refer to MSDN). I don't know how to convert this value to localTime. The following is my code. ################################################################ DirectoryEntry deUser = new DirectoryEntry(ldappath); DirectorySearcher src = new DirectorySearcher(deUser); src.Filter = "(&(objectClass=user)(SAMAccountName=" + accountNa...

Convert text to time value
I have a series of time values in a 'General' format. They are of the type: 184525 Which is 18:45:25 or 6:45:25 pm. A time which is am would be of the type: 12345 Which is 1:23:45 am. Is there a way to convert those 'General' values to an Excel serial so that I can figure out the difference between two times? I've seen a bunch of examples on the net, but none of those that I have found deal with this format that I can tell. Thanks. Hi try =--TEXT(A1,"00:00:00") -- Regards Frank Kabel Frankfurt, Germany "Andy" <amelton@gmail.com> schrieb...

how to convert date
Hi, I'm looking for some method to convert mail date, in format: eg. "Sun, 18 Sep 2005 20:57:08 +0200", to computer local time. I tried CTime but without resoults. m. Have you tried COleDateTime::ParseDateTime()? m.wski21.usunto@aust.com wrote: > Hi, > > I'm looking for some method to convert mail date, in format: > eg. "Sun, 18 Sep 2005 20:57:08 +0200", to computer local time. > I tried CTime but without resoults. > > m. >I'm looking for some method to convert mail date, in format: >eg. "Sun, 18 Sep 2005 20:57:08 +0200&qu...

Excel: Auto converting text to numbers
I am downloading an Excel sheet, and the numbers come in as text. It basically comes in as "33 %" but Excel registers this as text, not a percentage. I have a cell that will be used to add the numbers, but since they are text it doesn't work. Given this information, is there a way to convert the imported data into numbers. I would prefer to include this into my formula. The potential numbers are: 0, 1, 2, 3, 4, 0 %, 25 %, 33 %, 50 %, 67 %, 75 %, 100 %, and N/A I would prefer a function, again if possible, that could convert any number. Please note, the space between the nu...

How do I convert dates to text keeping the format?
I'm trying to convert a column of data in date format *m/d/yyyy to a text format without converting to serial numbers. Ie: I want to retain the mm/dd/yyyy format. Is there a way to do this? =TEXT(A1,"MM/DD"/YYYY") "sprlarry" <sprlarry@discussions.microsoft.com> wrote in message news:69669AA6-FD15-47D7-843D-FC768728BF7A@microsoft.com... > I'm trying to convert a column of data in date format *m/d/yyyy to a text > format without converting to serial numbers. Ie: I want to retain the > mm/dd/yyyy format. Is there a way to do this? That ...

how to convert excel's .cvf file to .csv file
...

Convert Access97 to 2000
Hello, we're currently running access97 and would like to convert it to 2000, but we don't know what is the administrator password for this database. Also this database is running on multi user and have difference permission for diffence users. Could someone help me how to do make this happen but keep the currently permission retaint. Thanks ...

Convert 2000 Calendar to web page
Greetings, When I convert my calendar for 2005 to a webpage, the page is off by 1 day. Is there a template or fix available to fix this? Thanks, Duane I can edit the html file but this should not be the case. Fixes? Suggestions...other than use Apple? "Duane Perry" <dlp_sr@yahoo.com> wrote in message news:yZRtd.5561$0r.1710@newsread1.news.pas.earthlink.net... > Greetings, > > When I convert my calendar for 2005 to a webpage, the page is off by 1 day. > Is there a template or fix available to fix this? > > Thanks, > > Duane > > Duane, ...

XML Note convert to DataSet
Hello, I have this function: object acmResponse = acmLogin.acmString("4001", "", paramFormLogin + paramUserBasics);System.Xml.XmlNode[] acmNodes = (System.Xml.XmlNode[])acmResponse; What I have todo, to convert the XML Object in the DataSet Object? Thank you Matthias ...

lookup over a range
Say I have an array with times and temps: 1:00 75 2:00 77 3:00 78 .. .. .. and so on. I would like to find a function that looks for the first temp that is over some user-defined temp (76 for example). So in this case, the result would be 2:00. Any ideas?? Swap the column positions and use VLookup. = Vlookup(76,A2:B4,2,False) would return 2:00 if temps were in A and Times were in B HTH, "Matt" <MLThornton@gmail.com> wrote in message news:1181060328.636962.219790@k79g2000hse.googlegroups.com... > Say I have an array with times and temps: > > 1:00...

How do I set outlook 2003 to always switch to HTML in replies?
I receive e-mails from someone on a regular basis who is using Outlook 2003 on an exchange 2003 server. Often when I want to reply the e-mail is set to TXT and I want to reply html. I have to switch it manually each time. Is there a way to make it autoreply HTML without switching each time? Thanks "boe" <boe_d@dontspamhotmail.com> wrote in message news:uVKUXV02GHA.4748@TK2MSFTNGP04.phx.gbl... >I receive e-mails from someone on a regular basis who is using Outlook 2003 >on an exchange 2003 server. Often when I want to reply the e-mail is set >to TXT and I...

Problem converting from Quicken to M2005
My Quicken files are mostly investment related, and generally converted fine. However all bonds (regular and muni's) converted as Investment type: Mutual Fund, not Bond. (1) How do I prevent that, (2) How do you change the Investment Type for an item? Thank you. In microsoft.public.money, Mike wrote: >My Quicken files are mostly investment related, and generally >converted fine. However all bonds (regular and muni's) converted as >Investment type: Mutual Fund, not Bond. (1) How do I prevent that, (2) Money typically converts custom data types from Quicken into funds. I thou...

Convert
Is it possible to convert a Money file created in the USA version to that of the UK version? Thanks in advance The general way is QIF Export then Import. It's involved and has limitations like loan accounts don't QIF. See http://www.bollar.org/msmoney/#Q1. "Crispy" <nowayspammers@hotmail.com> wrote in message news:uQKSfzfyDHA.2500@TK2MSFTNGP09.phx.gbl... > Is it possible to convert a Money file created in the USA version to that of > the UK version? ...

Numbers converting to decimal
I a trying to figure out why when I type 11 and automatically converts it to .11, if I type 11. it will stay 11,if I change all the cells to text then back to number they willstay. I have checked the formatting of the cells, it even happens when I open a brand new worksheet. Any ideas? Thanks Dawn Hi Dawn, Tools>Option>Edit, uncheck Fixed Decimal -- Kind Regards, Niek Otten Microsoft MVP - Excel "DawnP" <anonymous@discussions.microsoft.com> wrote in message news:c3cf01c48a05$d75359d0$a501280a@phx.gbl... > I a trying to figure out why when I type 11 and &...

Converting Quicken 2004 to Money
Quicken 2004 has many bugs, and I have had it. The most recent being that it doesn't work AT ALL now that it is the year 2004. I have had to change the date on my computer today to open it. I want to get Money instead, however I do not know if Money can get my data from the 2004 version. Does anybody know for sure? Yes is the answer to the question you posed. No is the answer to the question you are getting to but didn't pose. M04 imports Q03 and earlier. If the past predicts the future M05 will import Q04. "Colin" <anonymous@discussions.microsoft.com> wrote ...

Converting from AOL to Outlook
Is there an efficient way for me to convert my AOL address book over to Outlook? Before I buy Outlook, I want to be sure I cam make the conversion without loosing the large address book I have on AOL. "Herb Clader" <Herb Clader@discussions.microsoft.com> wrote in message news:44A9739C-A94F-49AB-BF08-31D78A86CCB7@microsoft.com... > Is there an efficient way for me to convert my AOL address book over to > Outlook? > > Before I buy Outlook, I want to be sure I cam make the conversion without > loosing the large address book I have on AOL. AOL's help p...

Customizing "Convert Campaign Response"
We have created custom Fields in the Campaign Response entity that we would like to populate on the Lead Entity when we do a conversion. However it doesn't seem like this is possible from the Data Map. Is there a way to modify what fields are carried forward during a conversion, or do I need to find a different method? Thank you in advance. Hi, As I had some time left, I tried to figure this one out. To my surprise I can't find ANY direct link between a converted campaign response and a new lead. There is only an indirect link, through the campaign entity. But that does not ...

return cell reference in a table based upon given lookup criteria
Is there a way to return the cell reference, or column/row coordinates, of a cell within an array or table by providing lookup criteria? Perhaps something like this: For a table of value in A1:E10 F1: (the value to find) G1: =ADDRESS(MAX((A1:E10=F1)*ROW(A1:E10)),MAX((A1:E10=F1)*COLUMN(A1:E10))) Note: Commit that array formula by holding down the [Ctrl][Shift] keys and press [Enter]. That formula returns the address of the 1st cell containing the value in F1, or #VALUE! if there is no match. Am I on the right track here? *********** Regards, Ron XL2002, WinXP-Pro "Travis" ...

Problem with AFX_THREAD_STATE class converting from VS6.0 to VS.NET 2003
I have inherited some code that works in VS6.0. It has code snippets like the following: _AFX_THREAD_STATE* pThreadState = AfxGetThreadState(); pThreadState->m_nLastHit = 0; and _AFX_THREAD_STATE* pThreadState = AfxGetThreadState(); CToolTipCtrl* pToolTip = pThreadState->m_pToolTip; It then does things with these values. In VS.NET, there is no member variable in _AFX_THREAD_STATE that corresponds to m_nLastHit or m_pToolTip. Have these been replaced by something similar in VS.NET 2003 that I can use? #if (_MFC_VER < 0x0700) _AFX_THREAD_STATE* pThreadState = AfxGetThrea...

Convert English language document to Hindi
Is there any software available to convert an English language text document to Hindi language document by using dictionary based translation (not transliteration). For example: The sentence : My name is Joseph Should be converted to : ???? ??? ????? ?? ...

Converting Hours an minutes just into minutes #2
Is thier a formula to use to change hous and minutes, just into minutes ex: 01:30 (1 hour and 30 minutes) into 90 minutes. And how do you format the cells. Thank you Select the cell and change the format to: [m] -- Gary's Student "Six Sigma Blackbelt" wrote: > Is thier a formula to use to change hous and minutes, just into minutes ex: > 01:30 (1 hour and 30 minutes) into 90 minutes. And how do you format the > cells. > > Thank you ...

converting chart to spreadsheet?
how can i revert back to my spreadsheet from a chart? thanks You mean you have a chart but don't have the data it was created from? This article in the Microsoft knowledge base describes a macro that will extract data from a chart. http://support.microsoft.com/default.aspx?scid=kb;en-us;137016 - Jon ------- Jon Peltier, Microsoft Excel MVP Tutorials and Custom Solutions http://PeltierTech.com _______ "excel chart" <excel chart@discussions.microsoft.com> wrote in message news:7E415558-89B6-457B-A340-2A8CE2BA5521@microsoft.com... > how can i revert back to my s...

A Lookup function does not work
Hi, This is my first posting. I am using Exel 2000. I have 2 separate spreadsheets that have some similar columns but not all of the data in the similar columns is the same. What I want to do is take column A in spreadsheet#1 and find this same value in Column B in Spreadsheet#2 and then insert into column 3 in spreadsheet #1 a value from a different column in spreasheet #2 that corresponds to the row in which the value was looked up in Column B in spreadsheet#2. What I am doing is comparing 2 different inventory files that have stock codes in columns and quantities in another column, but n...

Help with LOOKUP function
This function is in a workbook with 2 sheets. It _almost_ works perfectly. These "C" columns in two different sheets '2005-2006'!C:C,'2004-2005'!C:C, contain names of people. The D column in one of the sheets - '2004-2005'!D:D - contains a date associated with the person's name from the C column of 2004-2005 sheet. This formula is in the "D" column of Sheet 2005-2006. =LOOKUP('2005-2006'!C:C,'2004-2005'!C:C,'2004-2005'!D:D) The concept is for the formula to lookup the value (person's name) in column C of 2005-2006 a...

graphics converter not working
I am using Publisher 2000 to create a newsletter. It has been going well but now that I'm ready to insert pictures from files, it won't work. I get the message saying that Publisher can't convert this picture (it's either that it doesn't recognize the format or there was an error installing the graphics converter and to go to to Start > Control Panel > Add/Remove Programs > Highlight the Publisher program and choose "Change". When prompted, choose "Add Features". Then be sure to select to run ALL from your computer so that everything is...