Solved

User Defined Function now working in query design grid in ACCESS 2003

Posted on 2007-12-03
6
1,072 Views
Last Modified: 2008-02-01
I need to supply the function with the name of the month and have it give me back the integer.  Simply, I created the function, which does work.  However, in the code snippet, the first line is my call using it in the query grid of ACCESS 2003.  I simply cannot figure out how to tell it what the month is.  "445"Month" is another column with varying month names, so I do not understand where my flaw is.
MonthNo: WhatMonthIsIt("&tblSalesDaily445_and_Calendar.445Month&")
 
Public Function WhatMonthIsIt(ByRef strMonthName As String) As Integer
 
If strMonthName = "Jan" Or strMonthName = "January" Then WhatMonthIsIt = 1
If strMonthName = "Feb" Or strMonthName = "February" Then WhatMonthIsIt = 2
If strMonthName = "Mar" Or strMonthName = "March" Then WhatMonthIsIt = 3
If strMonthName = "Apr" Or strMonthName = "April" Then WhatMonthIsIt = 4
If strMonthName = "May" Or strMonthName = "May1" Then WhatMonthIsIt = 5
If strMonthName = "Jun" Or strMonthName = "June" Then WhatMonthIsIt = 6
If strMonthName = "Jul" Or strMonthName = "July" Then WhatMonthIsIt = 7
If strMonthName = "Aug" Or strMonthName = "August" Then WhatMonthIsIt = 8
If strMonthName = "Sep" Or strMonthName = "September" Then WhatMonthIsIt = 9
If strMonthName = "Oct" Or strMonthName = "October" Then WhatMonthIsIt = 10
If strMonthName = "Nov" Or strMonthName = "November" Then WhatMonthIsIt = 11
If strMonthName = "Dec" Or strMonthName = "December" Then WhatMonthIsIt = 12
 
End Function

Open in new window

0
Comment
Question by:ssmith94015
  • 3
  • 3
6 Comments
 
LVL 65

Expert Comment

by:Jim Horn
ID: 20398886
>WhatMonthIsIt("&tblSalesDaily445_and_Calendar.445Month&")
The double-quotes mean you are passing a string named &tblSalesDaily445_and_Calendar.445Month&"), which doesn't translate to any month in your WhatMonthIsIt function.

Exactly how are you determining what month to feed the function?
0
 
LVL 65

Expert Comment

by:Jim Horn
ID: 20398912
btw this is much easier to read

Public Function WhatMonthIsIt(sMonth as string) as Integer

Select Case Left(UCase(sMonth), 3)
   Case "JAN"
      WhatMonthIsIt = 1
   Case "FEB"
      WhatMonthIsIt = 2
   Case "MAR"
      WhatMonthIsIt = 3
   Case "You get the idea...."

   Case "DEC"
      WhatMonthIsIt = 12
   Case Else
      'You passed an unreadable month into sMonth.  Handle it here.
End Select

End Sub
0
 

Author Comment

by:ssmith94015
ID: 20398950
Hello Jim, I tried the Select Case statement first, but could not get it to work.  The If statement sequence at least (in the immediate window and when I type in the month name in the funciton in query grid) does return the appropriate value.  In the query, there is another column entitled 445Month that contains the string short names for the months, ie., Jan, Feb, Mar, etc.  So, I want to pass the values from this column to my function, but I know that my function needs quotes for a string and I think that is where I am getting stuck.  But I have tried various combinations of quiotes and getting no where.  I tried using the full qualified name of the column (table.columnname) and just the column name in the function, but neither worked as well.
0
Webinar: Aligning, Automating, Winning

Join Dan Russo, Senior Manager of Operations Intelligence, for an in-depth discussion on how Dealertrack, leading provider of integrated digital solutions for the automotive industry, transformed their DevOps processes to increase collaboration and move with greater velocity.

 
LVL 65

Accepted Solution

by:
Jim Horn earned 500 total points
ID: 20398988
Give this a whirl..

MonthNo: WhatMonthIsIt([tblSalesDaily445_and_Calendar].[445Month])
0
 

Author Comment

by:ssmith94015
ID: 20399007
WORKED!!!!!
0
 

Author Comment

by:ssmith94015
ID: 20399018
thank you very much!
0

Featured Post

Webinar: Aligning, Automating, Winning

Join Dan Russo, Senior Manager of Operations Intelligence, for an in-depth discussion on how Dealertrack, leading provider of integrated digital solutions for the automotive industry, transformed their DevOps processes to increase collaboration and move with greater velocity.

Question has a verified solution.

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

Overview: This article:       (a) explains one principle method to cross-reference invoice items in Quickbooks®       (b) explores the reasons one might need to cross-reference invoice items       (c) provides a sample process for creating a M…
I'm trying, I really am. But I've seen so many wrong approaches involving date(time) boundaries I despair about my inability to explain it. I've seen quite a few recently that define a non-leap year as 364 days, or 366 days and the list goes on. …
In Microsoft Access, learn the trick to repeating sub-report headings at the top of each page. The problem with sub-reports and headings: Add a dummy group to the sub report using the expression =1: Set the “Repeat Section” property of the dummy…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

837 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