Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2011, 11:18   #11
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Цитата:
Сообщение от mmihan Посмотреть сообщение
а не подскажите почему при компиляции возникает ошибка ?
Код:
if ADOQuery1.Locate('True', dbgrid1.datasource.Dataset.fieldbyname('Закрыта').asinteger)then    begin
Первый параметр это имена полей по которым идёт поиск
Второй параметр это значения по которым идёт поиск
Третий параметр (может быть равен []) это настройки поиска
А у ва как записано? Или у вас есть поле 'True'?
SERG1980 вне форума Ответить с цитированием
Старый 06.12.2011, 12:12   #12
mmihan
Пользователь
 
Регистрация: 01.06.2009
Сообщений: 30
По умолчанию

Код:
if ADOQuery1.Locate('Закрыта', dbgrid1.datasource.Dataset.fieldbyname('True').asinteger )then    begin
Каретку перемешается после asinteger
mmihan вне форума Ответить с цитированием
Старый 06.12.2011, 13:21   #13
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Код:
if ADOQuery1.Locate('Закрыта', dbgrid1.datasource.Dataset.fieldbyname('True').asboolean,[] )then    begin
SERG1980 вне форума Ответить с цитированием
Старый 06.12.2011, 13:46   #14
mmihan
Пользователь
 
Регистрация: 01.06.2009
Сообщений: 30
По умолчанию

СПАСИБО БОЛЬШОЕ надо было вот так
Код:
if ADOQuery1.Locate('Закрыта', dbgrid1.datasource.Dataset.fieldbyname('Закрыта').asboolean,[] )then    begin
mmihan вне форума Ответить с цитированием
Старый 06.12.2011, 16:31   #15
mmihan
Пользователь
 
Регистрация: 01.06.2009
Сообщений: 30
По умолчанию

что то нечего не пойму.. вроде заработало.. сейчас опять не работает..

Всегда доступно для редактирования(((

Код:
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:=true;
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;

:WALL ПДЫШЬ ПДЫШЬЬ
mmihan вне форума Ответить с цитированием
Старый 06.12.2011, 16:35   #16
mmihan
Пользователь
 
Регистрация: 01.06.2009
Сообщений: 30
По умолчанию

а второе если 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 вне форума Ответить с цитированием
Старый 06.12.2011, 16:54   #17
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

Цитата:
если после поиска пытаться открыть строку .. ты вылетит ошибка.. как эту беду победить?.
нам ошибку не видно.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск Locate по нескольким полям athleet Общие вопросы Delphi 5 22.05.2011 15:34
ADOtable Locate поиск приблеженный MrMorozko БД в Delphi 2 28.04.2011 15:37
Grid и поиск Locate amator_roma БД в Delphi 5 03.12.2010 13:35
поиск единственной записи через locate ИВэТэшка Помощь студентам 3 10.04.2009 15:21
Поиск по базе Антон Шестаков БД в Delphi 1 22.01.2008 20:32