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

Вниз

DBGrid   Найти похожие ветки 

 
Марат   (2004-06-11 12:20) [0]

Здрвствуйте, мастера. Вопрос такой. На одной из форм проекта создается запрос (Query1), который отображается на DBGrid1 (DataSource1). Затем по ID-шник текущей строки DBGrid1 запоминается в переменную ID_Cur:=Query1ID.AsInteger. По нажатию на Button2 открывается вторая форма в которой выполняется запрос, связанный с ID_Cur. Все это работает, но есть одна загвоздка- при открытии формы №1 DBGrid1 естественно пустой (пока не нажмем Button1) и при нажатии на Button2 выдается ошибка, т.к. ID_Cur=0. Пробовал избавится так:
if Query1.recordcount=0 then
showmessage("Невозможно открыть форму №2");
exit;
else
ID_Cur:=Query1ID.AsInteger;
ругается на close DataSet
Что делать?


 
stone ©   (2004-06-11 12:30) [1]


> if Query1.recordcount=0 then

if Query1.Active and not Query1.IsEmpty then
ID_Cur:=Query1ID.AsInteger
else
showmessage("Невозможно открыть форму №2");


 
Соловьев ©   (2004-06-11 12:31) [2]


> ID_Cur:=Query1ID.AsInteger

Qeury1.OnAfterScroll


> ругается на close DataSet

if Query1.Active then
if Query1.recordcount=0 then
showmessage("Невозможно открыть форму №2");
exit;
else
ID_Cur:=Query1ID.AsInteger;


 
roottim   (2004-06-11 12:32) [3]

ID_Cur := -1;
if (Query1.Active) and (not Query1.IsEmpty) then
showmessage("Невозможно открыть форму №2")
else
ID_Cur:=Query1ID.AsInteger;


 
bushmen ©   (2004-06-11 12:35) [4]

Все можно сделать гораздо проще. В дизайнере устанавливаешь Button2.Enabled в False. При нажатии в программе на Button1 после
Query1.Open пишешь:
If not Query1.IsEmpty then Button2.Enabled := True
else Button2.Enabled := False;


 
Соловьев ©   (2004-06-11 12:44) [5]


> [4] bushmen ©   (11.06.04 12:35)

для таких целей надо Action использовать


 
bushmen ©   (2004-06-11 13:46) [6]

>Соловьев ©   (11.06.04 12:44) [5]

Можно и так. Я просто суть рассказал. А как реализовать - дело того, кто вопрос задал.


 
NAlexey ©   (2004-06-11 14:06) [7]

>If not Query1.IsEmpty then Button2.Enabled := True
>else Button2.Enabled := False;
Както мудрЁно ты это все...



Страницы: 1 вся ветка

Текущий архив: 2004.07.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
1-1088164102
Aleksandr.
2004-06-25 15:48
2004.07.11
Что может вызывать тормоза в Делфи при трассировке?


1-1088398293
X-Men
2004-06-28 08:51
2004.07.11
Как получить указатель на функцию?


3-1086947716
Valeri
2004-06-11 13:55
2004.07.11
SELECT, Даты, Время


4-1085644793
Users
2004-05-27 11:59
2004.07.11
Переход между контролами по TAB


14-1087981579
ArhDD
2004-06-23 13:06
2004.07.11
Создание среды разработки при помощи WinApi