Чтобы помочь переносить только изменения, я предлагаю вам добавить новую таблицу в базу данных Access, которая называется что-то вроде RecordChanges.
Структура таблицы будет выглядеть следующим образом:
RecordChangeID (int) - Primary Key (Autonumber)
TableName (varchar(250)) - Name of table that changed
RecordID (int) - ID of the record in that table that was added / modified
RecordAction (char(1)) - 'A' if add, 'M' if modified or 'D' if deleted
Примечание - добавив идентификатор пользователя и другие данные, вы можете получить хороший контрольный журнал.
Это болезненная часть, но я бы создал подпрограмму в вашем приложении для добавления записи в эту таблицу каждый раз, когда запись изменяется в таблице, которую вы хотите синхронизировать с базой данных MySQL.
Как только это будет сделано, я создам другую таблицу с одной записью, которая называется ExportStatus, со следующей структурой:
LastRecordChangeID (int) - ID of the last Record Change
you exported in the Record Changes table
Затем создайте подпрограмму, чтобы пройти через все изменения записей со времени последнего экспорта (вы извлекаете это из таблицы ExportStatus) и сгенерировать операторы SQL для обновления базы данных MySQL, обязательно обновив таблицу ExportStatus, когда закончите. Вы можете удалить все записи RecordChange, которые были успешно экспортированы, или оставить их в качестве контрольного журнала.
Перед выполнением этого вам необходимо выполнить начальную синхронизацию так, как вы это делаете в настоящее время.