Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск по в поле Значаения 
:(
    Опции темы
MMihan
  Дата 8.12.2011, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 8.12.2011

Репутация: нет
Всего: нет



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

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

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

в MSSQL Тип данных в поле 'Закрыто' Булево... если cделать запрос то отображается '1' ,в Dbgrid отображается как 'True ' запись в поле 'Закрыто' чекбоксом..

Код

mform.ADOTable1.FieldByName('Закрыта').AsBoolean:=true;



Код

Procedure TMform.DBGrid1DblClick(Sender: TObject);
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.CheckBox1.Enabled:=false;
ShowForm.CheckBox1.Caption:='Закрыта';
  end
else
ShowForm.Edit1.ReadOnly:=true;
ShowForm.Edit2.ReadOnly:=false;
//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.Memo1.Text:= DBGrid1.DataSource.DataSet.FieldByName('Акт первичного осмотра').AsString;
ShowForm.Memo2.Text:= DBGrid1.DataSource.DataSet.FieldByName('Проделанная работа').AsString;
Showform.EDIT12.Text:= DBGrid1.DataSource.DataSet.FieldByName('Сотрудник').AsString;
Showform.EDIT11.Text:= DBGrid1.DataSource.DataSet.FieldByName('Затраченно часов').AsString;
showForm.ShowModal;
 
   end
 
 
end;



2  Еше  для отображение  результата поиска в DBgrid  работает процедура ... как я понял они не будут взаимодействовать правильно  .. если  Выполнить ее .и кликнуть по ДБгриду


Код

procedure TMform.SearchDoc(Sender: TObject);
var
   dt1,dt2:Tdate;
begin
  dt1:=DateTimePicker1.DateTime;
  dt2:=DateTimePicker2.DateTime;

  ADOQuery1.Close; {деактивируем запрос в качестве одной из мер предосторожности}
  ADOQuery1.SQL.Clear; {стираем предыдущий запрос}
  ADOQuery1.SQL.Add('select КЛ, ФИО,Телефон, Адрес, Оборудование,SN,Количество,
 Неисправность,[Дата поступления], [Дата ремонта], Комплектность,[Внешний вид]' ) ;
  ADOQuery1.SQL.Add('from Клиент');
  ADOQuery1.SQL.Add('where ((КЛ  LIKE ''%'+Edit1.Text+'%'') AND (ФИО  LIKE   ''%'+Edit2.Text+'%'' OR ФИО IS NULL )  
AND (Оборудование  LIKE   ''%'+Edit4.Text+'%'' OR Оборудование IS NULL)
 AND (Телефон  LIKE   ''%'+Edit3.Text+'%'' OR Телефон IS NULL)
  AND      ([Дата поступления] BeTwEEN '+QuotedStr(FormatDateTime('yyyy-MM-dd',dt1))+' 
  AND '+QuotedStr(FormatDateTime('yyyy-MM-dd',dt2))+'  )    )');

  ADOQuery1.Open; {выполняем запрос}
  ADOQuery1.Active:=true;
  DataSource1.DataSet:=ADOQuery1;
   DbGrid1.DataSource:=DataSource1;
  ADOQuery1.FieldByName('Внешний вид').Visible:=false;
  DbGrid1.Fields[0].DisplayLabel:='Номер';



  end;


Это сообщение отредактировал(а) MMihan - 8.12.2011, 22:24
PM MAIL   Вверх
Akella
Дата 8.12.2011, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



я бы не стал использовать кириллицу в названиях полей, таблиц и т.д.

Добавлено через 2 минуты и 46 секунд
открой для себя параметры (параметрические запросы)

Добавлено через 3 минуты и 38 секунд
отредактируй сообщения так, чтобы твой код был без горизонтальной прокрутки здесь, на форуме
PM MAIL   Вверх
MMihan
Дата 8.12.2011, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 8.12.2011

Репутация: нет
Всего: нет



А не подскажите что и на что поменять в процедуре Procedure TMform.DBGrid1DblClick... что бы заработало..

Это сообщение отредактировал(а) MMihan - 8.12.2011, 23:11
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0483 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.