Avatar of Fotofixer
Fotofixer asked on

Generating ranking (ordinal number) field in a query

I need to get a query to generate employee rankings in various categories so I can then add up those rankings to get a total score. I'm using Acess 2000 on Windows 2000. I've tried both solutions provided for the previous question asked like this, but I can't get either of them to work. When I try to use the long solution, I get an "undefined function" error and the VBA debugger highlights the first two lines in the module. The directions say to make sure DAO is ticked in References...there are several "Microsoft DAO *.* Object Library" listings...I've tried them all. When I try to use DAO 3.6, I get a name conflict error. Please help!
Microsoft Access

Avatar of undefined
Last Comment
nico5038

8/22/2022 - Mon
bluelizard

are the solutions you're mentioning part of an EE question?  if so, please post a link to that question.


--bluelizard
nico5038

For setting the references:

Open some VBA code and select Tools/References.
Each libraryname necessary must be checked and (for you: microsoft DAO version x.xx the used version doesn't matter as long it's selected from the list).

Nic;o)
walterecook

Yes I'd like to see the code and the previous question you reference.
Nico's right in his helping to check the references.
Some other thoughts:
Are the functions ones that should be inherent (like format() for instance or are you actually referencing a custom function.
Are you trying to call myfunction() for instance, and it can't find it?
Are your functions spelled right?
Say, if you meant format() and you put fomat(), VBA will think it needs a custom function called "fomat" and it will go looking for it.

Walt
Your help has saved me hundreds of hours of internet surfing.
fblack61
ASKER
Fotofixer

This is the question that I referenced the solutions for: I'm not sure how to set it up as a link in here.
Solution Title: Ordinal number in a query
Author: ConsultOR
Both solutions define a custom function. As far as I can tell everything is spelled correctly.
walterecook

To link, just copy and paste the URL into the message.
This looks like the one you referenced:
https://www.experts-exchange.com/Databases/MS_Access/Q_20589953.html

Maybe you could post your code so we can see ow you implemented it?

Walt
ASKER CERTIFIED SOLUTION
nico5038

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
See how we're fighting big data
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question
ASKER
Fotofixer

That did the trick. But there is a problem with the way they wrote the expression on that site. This is the way they wrote it:

Seniority: (Select Count(*) from Employees Where [HireDate] < _
 [Emp1].[HireDate]+1;)

This is the way it should be:

Seniority: (Select Count(*) from Employees Where [HireDate] < [Emp1].[HireDate])+1

The close parenthesis goes in front of the +1

That page has a link to a file that you can download that gives many query examples.

Thanks again
Get an unlimited membership to EE for less than $4 a week.
Unlimited question asking, solutions, articles and more.
nico5038

Hmm, I would have used:
Seniority: (Select Count(*) from Employees Where [HireDate] <= [Emp1].[HireDate])

Thus the equal is automatically counted as 1 and no need for the addition :-)

Success with the application !

Nic;o)