Показать сообщение отдельно
  #1  
Старый 06.12.2011, 18:59
SQLISHE SQLISHE вне форума
Прохожий
 
Регистрация: 22.11.2011
Сообщения: 7
Репутация: 10
Восклицание Поиск по Базе , Locate

Доброго времени суток!

Не Выполняется почему то условие(( .. всегда дает редактировать..


Кликая по строке в Dbgrid Открываться Форма с Edit, если в поле 'Закрыто' True (1) булево значение, условие выполняется , то Edit не дается редактироваться.

в MSSQL Тип данных в поле 'Закрыто' Булево... если cделать запрос то отображается '1' ,в Dbgrid отображается как 'True ' запись в поле 'Закрыто' чекбоксом
Код:
mform.ADOTable1.FieldByName('Закрыта').AsBoolean:=true;



Код:
begin
ADOQuery1.Close; {деактивируем запрос в качестве одной из мер предосторожности}
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select Закрыта');
ADOQuery1.SQL.Add('from Клиент');
ADOQuery1.SQL.Add('where (Закрыта=1)') ;
ADOQuery1.Open;

if ADOQuery1.Locate('Закрыта', dbgrid1.datasource.Dataset.fieldbyname('Закрыта').AsBoolean,[]) then    begin
ShowForm.Edit1.ReadOnly:=true;
ShowForm.Edit2.ReadOnly:=true;
ShowForm.Edit3.ReadOnly:=true;
ShowForm.Edit4.ReadOnly:=true;
ShowForm.Edit5.ReadOnly:=true;
ShowForm.Edit6.ReadOnly:=true;
ShowForm.Edit7.ReadOnly:=true;
ShowForm.Edit8.ReadOnly:=true;
ShowForm.Edit9.ReadOnly:=true;
ShowForm.Edit10.ReadOnly:=true;
ShowForm.Edit11.ReadOnly:=true;
ShowForm.CheckBox1.Enabled:=false;
ShowForm.CheckBox1.Caption:='Закрыта';
  end
else
ShowForm.Edit1.ReadOnly:=true;
ShowForm.Edit2.ReadOnly:=fasle;
ShowForm.Edit2.ReadOnly:=false;
ShowForm.Edit3.ReadOnly:=false;
ShowForm.Edit4.ReadOnly:=false;
ShowForm.Edit5.ReadOnly:=false;
ShowForm.Edit6.ReadOnly:=false;
ShowForm.Edit7.ReadOnly:=false;
ShowForm.Edit8.ReadOnly:=false;
ShowForm.Edit9.ReadOnly:=false;
ShowForm.Edit10.ReadOnly:=false;
ShowForm.Edit11.ReadOnly:=false;
ShowForm.CheckBox1.Enabled:=True;
ShowForm.CheckBox1.Caption:='Закрыть';

begin
Showform.EDIT1.Text := DBGrid1.DataSource.DataSet.FieldByName('КЛ').AsString;
Showform.EDIT2.Text := DBGrid1.DataSource.DataSet.FieldByName('ФИО').AsString;
Showform.EDIT3.Text := DBGrid1.DataSource.DataSet.FieldByName('Адрес').AsString;
Showform.EDIT4.Text := DBGrid1.DataSource.DataSet.FieldByName('Телефон').AsString;
Showform.EDIT5.Text := DBGrid1.DataSource.DataSet.FieldByName('Оборудование').AsString;
Showform.EDIT6.Text := DBGrid1.DataSource.DataSet.FieldByName('Количество').AsString;
Showform.EDIT7.Text := DBGrid1.DataSource.DataSet.FieldByName('SN').AsString;
Showform.EDIT8.Text := DBGrid1.DataSource.DataSet.FieldByName('Комплектность').AsString;
Showform.EDIT9.Text := DBGrid1.DataSource.DataSet.FieldByName('Внешний вид').AsString;
Showform.EDIT10.Text:= DBGrid1.DataSource.DataSet.FieldByName('Неисправность').AsString;
showForm.ShowModal;

   end


end;
Ответить с цитированием