Форум: "Базы";
Текущий архив: 2006.12.24;
Скачать: [xml.tar.bz2];
ВнизADO, JRO, Access, DBGrid и вообще. Найти похожие ветки
← →
0_archi_0 (2006-10-12 18:11) [0]Всем доброго вечера, есть вопросик.
Есть база данных на Aecess - AIDS.mdb (главная таблица, две связанные).
Схематично: ADOConnection1 -> PacientiADOTable -> PacientiDataSource -> PacientiDBGrid на главной форме.
Из меню главной формы вызывается следующая процедура:
procedure TMainForm.N9Click(Sender: TObject);
var ReplObject: Replica;
Provider, Src, Dst: String;
begin
ReplObject:= CoReplica.Create;
Provider:= "Provider=Microsoft.Jet.OLEDB.4.0;";
Src:= Provider+"Data Source = "+"AIDS.mdb";
Dst:= "AIDS1.mdb";
ReplObject.Set_ActiveConnection(Src);
try
ReplObject.Synchronize(Dst, jrSyncTypeImport, jrSyncModeDirect);
except
on E: Exception do
ShowMessage(e.message);
end;
//Данный кусок кода переносит изменения из базы AIDS1.mdb в базу AIDS.mdb - главную реплику. К нему вопросов нет
if DataModule1.PacientiADOTable.Modified then
DataModule1.PacientiADOTable.Post;
DataModule1.PacientiADOTable.Requery;
Application.Terminate;
//а вот здесь вопросы - после выполнения кода приложение не заканчивается, как висела форма так и висит?????????? и данные DBGride не обновляются.
end;
Может кто что подскажет?
Заранее благодарю.
← →
ANB © (2006-10-12 18:21) [1]А зачем обновлять грид, если собираешься закрыть приложение ?
> if DataModule1.PacientiADOTable.Modified then
> DataModule1.PacientiADOTable.Post;
Вот этот кусок вообще бессмысленен.
← →
0_archi_0 (2006-10-12 18:45) [2]Первоначально ход мыслей был таков - жмется кнопка меню, происходит репликация, обновленные данные появляются там же где до этого были старые в DBGrid"e, которы на форме постоянно находится. Однако данные в DBDrid"e не обновляются, чтобы это произошло надо нажать еще раз меню.
А это не есть хорошо, поэтому решил просто закрыть форму, а когда открываешь снова программу данные обновлены и их видно - как альтернативный (другого выхода не знаю) выход.
А отчего форма не реагирует на Application.Terminate???????????
← →
ANB © (2006-10-12 18:53) [3]
> А отчего форма не реагирует на Application.Terminate????
> ???????
Ээээ. Вообще то форма Close закрывается. Наверное, потому и не кусает . . . А в каком обработчике это все происходит ?
← →
0_archi_0 (2006-10-12 19:36) [4]Форма не реагирует не только на Application.Terminate, но и на весь комплекс:
Self.Close;
MainForm.Close;
Application.Terminate;
Но с этим я разобрался, просто добавил строку - ReplObject:=nil;
Хотя может красивее что-то есть.
А вот DBGrid обновляеся только после второго нажатия менюшки, как бы за одни раз бы?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.12.24;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.044 c