Link to home
Start Free TrialLog in
Avatar of Sandra Smith
Sandra SmithFlag for United States of America

asked on

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

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

Avatar of Jim Horn
Jim Horn
Flag of United States of America image

>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?
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
Avatar of Sandra Smith

ASKER

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.
ASKER CERTIFIED SOLUTION
Avatar of Jim Horn
Jim Horn
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
WORKED!!!!!
thank you very much!