Both of the following options assume that there is some data in each row of your csv data that uniquely identifies that row.
Show all records in your target table, then import records with the import matching and add if no match options specified. Identify the field or fields that uniquely identify each row as "match fields".
Import the data into an intermediary file that has those same fields specified as match fields in a relationship to your target table. Perform a find to isolate only the records that do not have a matching record in the target table. Import that found set into your target table.
Key difference: Option 1 will update data in existing records if data in mapped column of CSV data is different from that in the target table. Option 2: will leave existing records unchanged.
Thank you for reply.
Can please explain option 2 with example?Its means a lot
Say you have this data in columns of your csv file and also as fields in a table named contacts:
Email Address, First Name, Last Name
You want to import those rows of CSV data that do not already have a matching email address.
Define a second filemaker table, ImportTemp with the same three fields.
Define this relationship:
Contacts::emailAddress = ImportTemp::EmailAddress
If you will perform the find for records in ImportTemp that do not match a record in Contacts by hand instead of a script, use the field tool to add Contacts::EmailAddress to the ImportTemp layout.
Assuming that you will do the same operation over and over, the following steps would be done either by hand or in a script:
Go to the ImportTemp layout
Show All Records
Delete All Records
Import Your CSV file into the ImportTemp table
Enter find mode and specify * in the contacts::emailAddress field
Make this an Omit request (click the omit button) so that you get all records in ImportTemp that do not have a matching record in Contacts
Go to the Contacts layout and use Import Records to import this found set from ImportTemp into Contacts.