Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.24;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.032 c
15-1164889250
antonn
2006-11-30 15:20
2006.12.24
по хтмл ю вопросик


2-1165587005
fog
2006-12-08 17:10
2006.12.24
Закрытие программы


2-1165400497
Алик
2006-12-06 13:21
2006.12.24
Сжатие AVI-файла


2-1165120198
Tru
2006-12-03 07:29
2006.12.24
Компонент TDBLookupListBox


15-1164938781
PHPDeveloper
2006-12-01 05:06
2006.12.24
регистраторы программ