devxlogo

Enumerate Values For Easy Maintenance

Enumerate Values For Easy Maintenance

Quite often, we find ourselves using variables to hold one of a set of possible values. For instance, let’s say you have a number of views on a grid. You’ll probably use an Integer to keep track of what view you’re in and as an argument to change views.

    'Here is how the sub is defined   Private Sub ChangeView(NewView as Integer)   'This is a pain to maintain - what's 3 mean?   ChangeView 3   'Constants are better   ChangeView VIEW_BY_LOCATION

size=3>
An even better way is to define an enumeration:

    Private Enum eViews      vByName = 1      vByPhone = 2      vByLocation = 3   End Enum   'use the enum like a type   Private Sub ChangeView(NewView as eViews)

size=3>
Now, you can call ChangeView like this:

    ChangeView vByLocation

size=3>
This will give you an Intellisense box showing vByName, vByPhone, and vByLocation. Now, you don’t have to find your list of constants to remember what views you have.
Another handy enumeration is a tri-state:

    Private Enum eSuperBoolean      sbTrue = -1      sbFalse = 0      sbDefault = 99   End Enum

size=3>
This lets you distinguish between (for instance) a True/False questionthat has or has not been answered.

devx-admin

Share the Post: