Using the "Select Case..." function

T

Telesphore

I am trying the following code in a TextBox of a Report.
We need to type the "Department of... " according to the different program a
student is registered.

Any suggestion wilol be appreciated.

Thank you




Function EquivalenceDepartment(strTypeDepartment As Variant) As String
Select Case strTypeDepartment

Case ProgBPh = Yes
EquivalenceDepartment = "Department of philosophy"
Case ProgMPh = Yes
EquivalenceDepartment = "Department of philosophy"
Case ProgCPh = Yes
EquivalenceDepartment = "Department of philosophy"
Case ProgBThIFTM = Yes
EquivalenceDepartment = "Department of theology"
Case ProgBThLatran = Yes
EquivalenceDepartment = "Department of theology"
Case ProgCTh = Yes
EquivalenceDepartment = "Department of theology"
Case ProgMThP = Yes
EquivalenceDepartment = "Department of pastoral"
Case ProgDESS = Yes
EquivalenceDepartment = "Department of pastoral"
Case ProgMDiv = Yes
EquivalenceDepartment = "Department of pastoral"
Case ProgCPF = Yes
EquivalenceDepartment = "Department of pastoral"
Case ProgCSPI = Yes
EquivalenceDepartment = "Department of pastoral"
Case ProgBA = Yes
EquivalenceDepartment = "Department of philosophy"
Case ProgAU = Yes
EquivalenceDepartment = "Other"
End Select
End Function
 
M

Marshall Barton

Telesphore said:
I am trying the following code in a TextBox of a Report.
We need to type the "Department of... " according to the different program a
student is registered.

Function EquivalenceDepartment(strTypeDepartment As Variant) As String
Select Case strTypeDepartment

Case ProgBPh = Yes
EquivalenceDepartment = "Department of philosophy"
Case ProgMPh = Yes
EquivalenceDepartment = "Department of philosophy"
Case ProgCPh = Yes
EquivalenceDepartment = "Department of philosophy"
Case ProgBThIFTM = Yes
EquivalenceDepartment = "Department of theology"
Case ProgBThLatran = Yes
EquivalenceDepartment = "Department of theology"
Case ProgCTh = Yes
EquivalenceDepartment = "Department of theology"
Case ProgMThP = Yes
EquivalenceDepartment = "Department of pastoral"
Case ProgDESS = Yes
EquivalenceDepartment = "Department of pastoral"
Case ProgMDiv = Yes
EquivalenceDepartment = "Department of pastoral"
Case ProgCPF = Yes
EquivalenceDepartment = "Department of pastoral"
Case ProgCSPI = Yes
EquivalenceDepartment = "Department of pastoral"
Case ProgBA = Yes
EquivalenceDepartment = "Department of philosophy"
Case ProgAU = Yes
EquivalenceDepartment = "Other"
End Select
End Function


It sort of looks like the Prog... are check boxes and you
want to translate them to text. If so, try using:

Select Case True
Case ProgBPh, ProgMPh, ProgCPh, ProgBA
EquivalenceDepartment = "Department of philosophy"
Case ProgBThIFTM, ProgBThLatran, ProgCTh,
EquivalenceDepartment = "Department of theology"
Case ProgMThP, ProgDESS, ProgMDiv, ProgCPF, ProgCSPI
EquivalenceDepartment = "Department of pastoral"
Case ProgAU
EquivalenceDepartment = "Other"
End Select


BUT, since you only have one text box, it appears that only
one of the check boxes can be selected. If that's correct,
you should be using an OptionGroup so more than one can not
be selected. In this case, the code would be very
different.

A warning is appropriate here. The text you are inserting
into the text box is data and data should not be hidden away
in code. Instead, it should be stored in a table so it can
be changed without having to modify the cade.
 
T

Telesphore

Thank you,

I learn something new with the instruction "Select Case True".

But I think the rest of the code will not work, since you have already said
"it appears that only one of the check boxes can be selected"..
Because a student can be registered in more than one program, so 2 or 3
check boxes, we will have to introduce a new field [Department] in the table
[tblIncriptionTable] so the that the secretary will have to type only one
department for each student.

Thank you again.
 
M

Marshall Barton

How do you want to display multiple departments on the form?
Maybe using a subform instead of all those check boxes??

Seems like you need a many-many junction table to keep track
of which students are in which departments.

I don't understand what you are saying about adding a field
to tblIncriptionTable??
--
Marsh
MVP [MS Access]

I learn something new with the instruction "Select Case True".

But I think the rest of the code will not work, since you have already said
"it appears that only one of the check boxes can be selected"..
Because a student can be registered in more than one program, so 2 or 3
check boxes, we will have to introduce a new field [Department] in the table
[tblIncriptionTable] so the that the secretary will have to type only one
department for each student.

"Marshall Barton" écrit
...

It sort of looks like the Prog... are check boxes and you
want to translate them to text. If so, try using:

Select Case True
Case ProgBPh, ProgMPh, ProgCPh, ProgBA
EquivalenceDepartment = "Department of philosophy"
Case ProgBThIFTM, ProgBThLatran, ProgCTh,
EquivalenceDepartment = "Department of theology"
Case ProgMThP, ProgDESS, ProgMDiv, ProgCPF, ProgCSPI
EquivalenceDepartment = "Department of pastoral"
Case ProgAU
EquivalenceDepartment = "Other"
End Select


BUT, since you only have one text box, it appears that only
one of the check boxes can be selected. If that's correct,
you should be using an OptionGroup so more than one can not
be selected. In this case, the code would be very
different.

A warning is appropriate here. The text you are inserting
into the text box is data and data should not be hidden away
in code. Instead, it should be stored in a table so it can
be changed without having to modify the cade.
 
T

Telesphore

How do you want to display multiple departments on the form?
Maybe using a subform instead of all those check boxes??
Seems like you need a many-many junction table to keep track
of which students are in which departments.
I don't understand what you are saying about adding a field
to tblIncriptionTable??

In the tblInscription I will add the [Departement] field with these 3
values: "Philosophy";"Theology";"Pastoral" in the combo box. So that the
secretary will write only one of these 3 values through the frmInscription
for each student. She will keep on checking the programm boxes.
 
M

Marshall Barton

Telesphore said:
How do you want to display multiple departments on the form?
Maybe using a subform instead of all those check boxes??
Seems like you need a many-many junction table to keep track
of which students are in which departments.
I don't understand what you are saying about adding a field
to tblIncriptionTable??

In the tblInscription I will add the [Departement] field with these 3
values: "Philosophy";"Theology";"Pastoral" in the combo box. So that the
secretary will write only one of these 3 values through the frmInscription
for each student. She will keep on checking the programm boxes.


What combo box???

If a student can be in more that one department, how can one
field keep track of more than one thing?
 
T

Telesphore

Thanks and sorry to answer lately.

You are right, about the problem of multiple departments. It will be easier
to reduce the multiple programst to one. The departments are only 3 of them,
meanwhile the programs are 14. So the the secretary will decide the
department to choose.

Thank you again.

Marshall Barton said:
Telesphore said:
How do you want to display multiple departments on the form?
Maybe using a subform instead of all those check boxes??
Seems like you need a many-many junction table to keep track
of which students are in which departments.
I don't understand what you are saying about adding a field
to tblIncriptionTable??

In the tblInscription I will add the [Departement] field with these 3
values: "Philosophy";"Theology";"Pastoral" in the combo box. So that the
secretary will write only one of these 3 values through the frmInscription
for each student. She will keep on checking the programm boxes.


What combo box???

If a student can be in more that one department, how can one
field keep track of more than one thing?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top