Здравствуйте!
Есть БД Access, я к ней обращаюсь через ADO – как водится поставил на форму ADOConnection, ADOQuery и dataSourse и все соединил между собой.
В моем приложении после выполнения определенных действий пользователя автоматически происходит резервное копирование БД – файл БД копируется и к разрешению прибавляется буква “d”. Я свел все проблему своего приложения в следующий код:
procedure TForm1.Button1Click(Sender: TObject);
begin
DataSource1.DataSet.Edit;
DataSource1.DataSet.RecNo:=3;
DataSource1.DataSet.FieldByName('Col1').AsString:='222';
DataSource1.DataSet.Post;
– эта строка изначально закомментирована
CopyFile('D:\N.mdb','D:\N.mdbd',false)
end;
Так вот проблема в том, что обновленная запись со значениями 222 в файле N.mdbd не появляется!!! В «N.mdb» - все нормально, а в копии нет! Несмотря на вызов Post. То ли не успевает обновиться в исходном файле, то ли еще что….я не знаю и в этом проблема.
А вот ту строку которая в примере выше закомментирована – если ее раскомментировать, то все будет работать нормально! Но я не хочу разрывать связь с БД – слишком много всего при повторной загрузке необходимо будет восстанавливать. Подскажите пожста – как сделать так, чтобы данные полностью успевали сохраниться перед копированием файла??
Спасибо!