I do not know how the slates are assigned. Ideally they would be in their own table. It is easy to import only unique of each number - just set the SlateID to type text and set the options in validation tab to be unique and validate always. Then show all Shots, go to your Slates table and import the Slate. Any duplicate Slates will be excluded from the import.
Once you have finished creating the Parent (Slates) then relate Slates table to your Shots table ( File > Manage > Database > Relationships tab ) as:
Slates::SlateID = Shots::SlateID
Now that you have a good, valid relationship, you can view the resulting Slates in may various formats. From a layout based upon Slates, Insert > Field and select your Shots::Date field and place it directly onto Slates. Perform a find for the date you want then switch to list view. This can all be easily scripted. Also, Insert > Portal and select Shots so when viewing each Slate, you can see all shots associated. You can even assign button to portal rows to bring up that row's detail information.
This works. Thanks! Can I assume going forward that if I add a slate to the shots table it will be added to the slates table, provided it's a unique value? I have the relationship set up to allow the creation of new records.
It will not automatically be added but it can be handled in the same script that imports your data. Here is how I would handle it...
Go to your relationship and also turn on 'Allow Creation' on the Slate side. You haven't indicated what fields you want in Slates but I would suggest that you have a CreateDate (type date); do not set this to auto-enter date created - you want to handle that from the imported Takes table.
With 'Allow Creation' on, you can set any parent field (in this case we will set the CreateDate) and it will automatically create a new ParentID if required.
So script might look like (continuing after your import while you still have your found set):
... your regular import process and then ...
Go To Record/Request/Page [ first ]
If [ IsEmpty ( Slates::SlateID ) ]
Set Field [ Slates::CreateDate ; Get ( CurrentDate ) ]
Go to Record/Request/Page [ next; exit after last ]
If there is other information you wish to complete in Slates (such as typing to a film?) then just use global fields to capture your input and set any other fields in Slates right within this same script.