Your table structure seems problematic. Don't see why you need a different table for different kinds of sightings.
Yes, I've been to-ing and fro-ing about whether it would be better to have separate tables for types of sightings or not. There's a few common variables like Time, LocationValue etc, but a lot of the variables are completely different.
Even if I combined them into one table, however, I'd still have a couple of many to one relationships: location to surveys, surveys to sightings, and I'd like each sighting to be tagged with the location and survey ID.
The main problems with separate tables for each type of sighting are:
1) Each time you need to record data for a new type of sighting, you have to add a new table and this design change then flows through your entire solution requiring layout and script changes to accommodate it.
2) It complicates any reports you may need to produce that combine data from these separate tables.
Sometimes the best option is a compromise between an "all in one table" with many fields that are only used for one type of sighting and a set of separate tables for each type. Instead of either of those two options, you construct a unified table of the fields recording the data that IS common to each sighting no matter the type and then you link in separate detail tables, one for each type of sighting.