The simple answer is to normalize your database. As soon as you start naming fields with 1, 2, 3, etc. that's a certain flag that you have a one to many relationship and need a separate table to accomodate the relationship. For this situation you would have three tables, tblPerson, tblSkills, tblPeopleSkills.
tblPerson
PersonID (PK)
FName
LName
Address
etc.
tblSkills
SkillID (PK)
SkillName
tblPeopleSkills
PersonID
SkillID
and both PersonID and SkillID would be the PK for the tblPeopleSkills.
By having your table structured with skill1, skill2, skill3 what are you going to do with a person who has 4 skills? You're only option would be to add a skill# field each time someone gains more than 3 skills. With the normalized table structure above, any person can have ALL the skills in tblSkill without any table restructuring.
If you are not in a position that you can fix your table structure. You are going to need to create a form to collect the input of what skill you are looking for and use that entry as your criteria (the basic syntax will look something like this):
SELECT * FROM TABLENAME WHERE SKILL1 = frm!itemname or SKILL2 = frm!itemname or SKILL3 = frm!itemname
and then each time you have to add a skill to your table you will need to modify ALL the queries you have that use SKILL1, SKILL2, and SKILL3 to include the new skill field.
If you normalize your table you would need:
SELECT tblPerson.PERSONID, FNAME, LNAME FROM tblPERSON INNER JOIN tblPeopleSkills on tblPerson.PersonID = tblPeopleSkills.PersonID WHERE SKILLID = 1
will return the personid and name of all the people who have skillid #1. This can also be set up so the user selects the SKILL NAME.
For more information on data normalization see JeremyNYC's website:
HTH
Leslie