Stephen Palmer
Stephen Palmer

Reputation: 3

Compile Error: Argument Not Optional | Access VBA

I have a form on Access where I have 3 ComboBoxes (Section, Rooms: White House, Rooms: Churchills). I need to have it so when 'White House' is selected from the 'Section' ComboBox, 'Rooms: Churchills will be Locked. And the opposite for 'Churchills'.

I have the code:

Private Sub Section_Change()
If Section.Value = "White House" Then
  Rooms__White_House.Enabled = True
  Rooms__Churchills.Enabled = False
Else: Section.Value = "Churchills"
  Rooms__White_House.Enabled = False
  Rooms__Churchills.Enabled = True
End If
End Sub

But when I test the form it throws the error:

Compile Error: Argument Not Optional

Any Help Appreciated. Thanks in Advance!

Upvotes: 0

Views: 1341

Answers (1)

DeanOC
DeanOC

Reputation: 7282

The problem is that Section is a reserved word. So the compiler doesn't recognise it as the name of your combobox. Just change the name of the combo to something else, e.g. cboSection, and your code will compile. (You naturally need to change your code to match the new name).

This link shows a list of names that you should avoid when working with Access http://allenbrowne.com/AppIssueBadWord.html

BTW, your line

Else: Section.Value = "Churchills"

seems a bit odd as it is setting the value of the combo. I'm guessing that you are meaning to comment what the value must be if you enter the Else section. If that's the case then you need to add the apostrophe in front of the comment, i.e.

Else: 'Section.Value = "Churchills"

Upvotes: 1

Related Questions