Your approach is completely wrong here.
You need to split everything down to objects and decide which objects relate to other objects. Now, everything here is an object: boats, people, person type, and catches. There may, and probably will, be other things that will need tables created for them. However, using the four objects listed above we can keep this relatively simple.
We have boats, people, person types, and catches. You currently have something like this in the same table, don't you?
Date
CaptainName
CaptainWeight
PassengerName
PassengerWeight
This presents a problem. It violates the very first rule normal form of database normalisation (the steps to follow for good and appropriate design) which says that all data should be atomic (which it is) and requires you to also elimnate what we term a repeating group. In this instance the repeating group is fields of person after person: captain, passenger. The reason this is bad is that rules and limits can be prone to change. It may not happen here but if you had to add a third person to the boat then you would have to fix all your tables, all your queries, all your forms, all your reports, and anything else that makes use of the new person. That is why a database is built to grow downwards and not across. A repeating group is an indication that something requires a table of its own.
So, the solution, as I've said is to break the objects down into separate parts.
We need a table for boats, as you've said, and this should be straightforward. I don't know what sort of info you keep about the boat; I'll just add some basic fields.
tblBoat
BoatID (Autonumber, primary key)
BoatName (Text)
You can add other details to the boat table
but the info you add in fields must depend on the Boat. Adding a group of tickboxes for stuff that it may hold on board is a repeating group and needs a new table i.e. outboard motor, oars, first aid kit (you never know

)
The next thing to look at is the people. As captains and passengers are the same thing we just need one table for them. Rather than just store their name it's always best to split it out. Since its a club we can keep other information on them here, such as join date
tblMembers
MemberID (Autonumber, primary key)
Forename (Text)
Surname (Text)
DateJoined (Date/Time)
Now, as they stand we don't know anything about who is a captain and who is a passenger. So, we need another table to let us list the different people who can go on a boat.
tblMemberTypes
MemberTypeID (Autonumber, primary key)
MemberType (Text)
This means we can list in the MemberType field the different people who can go on board in the table's rows.
But we must return to the Members table as we need a way to differentiate between who is a captain and who is a passenger. We add a new field to the table, a Number field, with the exact same name (preferably) as the primary key of the table we are going to join. This creates a foreign key.
So, the members table is edited to look like this:
tblMembers
MemberID (Autonumber, primary key)
Forename (Text)
Surname (Text)
DateJoined (Date/Time)
MemberTypeID
Now, the next step is to think about catches. As I think of it there is two ways we can look at it. The first is that each pair of people has a specific boat assigned to them and this does not change. The other is that the boat people are assigned does not matter.
Which of these two situations is most relevant? Once you answer this I'll continue.