Solved

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

Posted on 2007-12-03
6
1,066 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
Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

 
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

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

When you are entering numbers in a speadsheet, and don't remember what 6×7 is, you just type “=6*7" instead. It works in every cell! This is not so in Access. To enter the elusive 42 in a text box, you have to find a calculator, and then copy the re…
In a multiple monitor setup, if you don't want to use AutoCenter to position your popup forms, you have a problem: where will they appear?  Sometimes you may have an additional problem: where the devil did they go?  If you last had a popup form open…
Familiarize people with the process of utilizing SQL Server functions from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Ac…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

708 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

15 Experts available now in Live!

Get 1:1 Help Now