Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Проверка значения в поле


Автор: MMihan 19.12.2011, 16:32
Добрый вечер
Подскажите как проверить в поле значение... 


 Суть Такова..

Кликая по DBgrid открывается форма с DbEdit если в поле 'Closed', Значение равно 1 , то  DbEdit  становятся только для чтения


Как сделать проверку .....
 

Автор: Данкинг 19.12.2011, 17:21
Код

if AdoTable.FieldValues['Closed']='1' then DbEdit.ReadOnly:=True;

Автор: MMihan 19.12.2011, 17:35
Спасибо помогло.., но  теперь проблема в другом.., если стоит другое значение т.е 0 (false).. то не дает открыть форму.., .. а открываются только те где  1 (true)..

Автор: Данкинг 19.12.2011, 19:00
Цитата(MMihan @  19.12.2011,  18:35 Найти цитируемый пост)
если стоит другое значение т.е 0 (false).. то не дает открыть форму.., 

Как это связано с вопросом про проверку значения?

Автор: MMihan 19.12.2011, 19:21
если без 
Код

    
if AdoTable.FieldValues['Closed']='1'


то открывается любая..

Добавлено @ 19:30
Если сделать вот так .. то он открывает только те где  1 (True) и не дает редактировать .. как надо!
Код

 procedure TMForm.DBGrid1DblClick(Sender: TObject);

  begin

if AdoTable1.FieldValues['Closed']='True'
  then            begin


ShowForm.DBEdit1.ReadOnly:=True;
ShowForm.DBEdit2.ReadOnly:=True;
ShowForm.DBEdit3.ReadOnly:=True;
ShowForm.DBEdit4.ReadOnly:=True;
.....
ShowForm.Caption:='Расписка СЦ';
ShowForm.Show;



если вот так ..то открывает все , НО(( не зависимо что  от значения в поле 'Closed' всегда дает редактировать((
 
Код

 procedure TMForm.DBGrid1DblClick(Sender: TObject);

  begin

if AdoTable1.FieldValues['Closed']='True'
  then            begin


ShowForm.DBEdit1.ReadOnly:=True;
ShowForm.DBEdit2.ReadOnly:=True;
ShowForm.DBEdit3.ReadOnly:=True;
ShowForm.DBEdit4.ReadOnly:=True;
.....
ShowForm.Caption:='Расписка СЦ';
ShowForm.Show;

 end
 else

  ShowForm.DBEdit1.ReadOnly:=True;
ShowForm.DBEdit2.ReadOnly:=False;
ShowForm.DBEdit3.ReadOnly:=False;
ShowForm.DBEdit4.ReadOnly:=False;
ShowForm.DBEdit5.ReadOnly:=False;
.......
ShowForm.Caption:='Расписка СЦ';
ShowForm.Show;   


Автор: Данкинг 19.12.2011, 20:11
После else забыл BEGIN...END ещё.

Автор: MMihan 19.12.2011, 20:11
Данкинг Спасибо тебе Огромное... на 6 формах не смогли помочь))..  надо было сделать вот так

 
Код

procedure TMForm.DBGrid1DblClick(Sender: TObject);

  begin
    if (dbgrid1.datasource.Dataset.FieldValues ['Closed'])='True'
//if AdoTable1.FieldValues['Closed']='True'
  then            begin

  ShowForm.DBEdit1.ReadOnly:=True;
ShowForm.DBEdit2.ReadOnly:=True;
ShowForm.DBEdit3.ReadOnly:=True;
ShowForm.DBEdit4.ReadOnly:=True;
...........
ShowForm.DBCheckBoxClosed.Visible:=True;
ShowForm.Caption:='Расписка СЦ';
ShowForm.Show;
 end;

if   (dbgrid1.datasource.Dataset.FieldValues ['Closed'])='False'
  then begin

    ShowForm.DBEdit1.ReadOnly:=True;
ShowForm.DBEdit2.ReadOnly:=False;
ShowForm.DBEdit3.ReadOnly:=False;
ShowForm.DBEdit4.ReadOnly:=False;
..........
ShowForm.Caption:='Расписка СЦ';
ShowForm.Show;

end;
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)