Solved

# Need help creating a Function

Posted on 2002-03-19
145 Views
Last Modified: 2010-05-02
I'm creating a program for a school that tracks students summer reading and gives them bonus points for each book that they read. I need help in creating the Function to calculate points in the following manner:

The first three books are worth 10 points each. The next three are worth 15 points each. And all books over six are worth 20 points each.
0
Question by:Gmoney
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• Learn & ask questions
• 2
4 Comments

LVL 52

Expert Comment

ID: 6881730
Hi Gmoney,

Something like this should works:

Dim points As Long

..

If rs.RecordCount > 6 Then

Points = rs.RecordCount * 20

Else

For i = 1 to rs.RecordCount

Select case i
Case 1 To 3
Points = Points + 10
Case 4 To 6
Points = Points + 20
End Select

Next i

End If
0

LVL 52

Expert Comment

ID: 6881731
Public Function myPoints(Byval RCount As Long) As Long
Dim Points As Long
If RCount > 6 Then

Points = RCount * 20

Else

For i = 1 to RCount

Select case i
Case 1 To 3
Points = Points + 10
Case 4 To 6
Points = Points + 20
End Select

Next i
myPoints = Points
End Function
0

LVL 1

Accepted Solution

samsonite1023 earned 125 total points
ID: 6881788
Public Function PointsForBooks(numberRead as single) as single
dim tempPoints

If numberRead > 6 Then

PointsForBooks = 75 + (numberRead - 6)*20

Else

For i = 1 to numberRead
Select case i
Case 1 To 3
tempPoints = tempPoints + 10
Case 4 To 6
tempPoints = tempPoints + 15
End Select
Next i

PointsForBooks = tempPoints

EndIf

End Function

This should do it.
-Sam
0

LVL 6

Expert Comment

ID: 6881842
And yet another way...

Public Function BooksToPoints(ByVal intBooks As Integer) As Integer
If intBooks > 6 Then
BooksToPoints = 75 + ((intBooks - 6) * 20)
ElseIf intBooks > 3 Then
BooksToPoints = 30 + ((intBooks - 3) * 15)
ElseIf intBooks > 0 Then
BooksToPoints = intBooks * 10
End If
End Function
0

## Featured Post

Question has a verified solution.

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

### Suggested Solutions

Here are a few simple, working, games that you can use as-is or as the basis for your own games. Tic-Tac-Toe This is one of the simplest of all games.   The game allows for a choice of who goes first and keeps track of the number of wins for…
You can of course define an array to hold data that is of a particular type like an array of Strings to hold customer names or an array of Doubles to hold customer sales, but what do you do if you want to coordinate that data? This article describes…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
###### Suggested Courses
Course of the Month8 days, 4 hours left to enroll

#### 737 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.