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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2016, 16:01   #1
Александр9797
Пользователь
 
Регистрация: 19.11.2015
Сообщений: 25
По умолчанию Поиск по ФИО

Вот сделал поиск по Коду Сотрудника:
procedure TFormSot.Edit1Change(Sender: TObject);
var Kod: Integer;
begin
if DM.ADOTableSot.Filtered then DM.ADOTableSot.Filtered:=False;
if TryStrToInt(Edit1.Text,Kod) then begin
DM.ADOTableSot.Filter:=Format('[КодСотрудника]=%d',[Kod]);
DM.ADOTableSot.Filtered:=True;
end;
end;
Как переделать что бы искало по ФИО
Или как то иначе можно сделать???

Последний раз редактировалось Александр9797; 18.04.2016 в 16:03.
Александр9797 вне форума Ответить с цитированием
Старый 18.04.2016, 18:55   #2
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Цитата:
Как переделать что бы искало по ФИО
Код:
procedure TForm1.Edit2Change(Sender: TObject);
  var
    S: string;
begin
 if (Trim(Edit2.Text)<>'') then
  begin
    S := 'ShipCity like';
    ADOTable1.Filter := s + '''' + Trim(Edit2.Text) + '%''';
    ADOTable1.Filtered := True;
  end
  else
   ADOTable1.Filtered := False;
end;
end.

Последний раз редактировалось xxbesoxx; 18.04.2016 в 19:00.
xxbesoxx вне форума Ответить с цитированием
Старый 19.04.2016, 04:31   #3
Александр9797
Пользователь
 
Регистрация: 19.11.2015
Сообщений: 25
По умолчанию

Выдает ошибку Безымянный.jpg

Вот код:
Код:
procedure TFormSot.Edit1Change(Sender: TObject);
var
S: string;
begin
if (Trim(Edit1.Text)<>'') then
begin
S := 'ShipCity like';
DM.ADOTableSot.Filter := s + '''' + Trim(Edit1.Text) + '%''';
DM.ADOTableSot.Filtered := True;
end
else
DM.ADOTableSot.Filtered := False;
end;
Выдает ошибку на вот эту строчку: DM.ADOTableSot.Filtered := True;

_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 19.04.2016 в 09:37.
Александр9797 вне форума Ответить с цитированием
Старый 19.04.2016, 06:39   #4
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Цитата:
Выдает ошибку на вот эту строчку: DM.ADOTableSot.Filtered := True;
Потому что Вы невнимательно копипастите код .!
Код:
S := 'ShipCity like';
ShipCity это у меня есть таблице , У вась как Fio или ФИО ???

Последний раз редактировалось xxbesoxx; 19.04.2016 в 06:43.
xxbesoxx вне форума Ответить с цитированием
Старый 19.04.2016, 06:44   #5
Александр9797
Пользователь
 
Регистрация: 19.11.2015
Сообщений: 25
По умолчанию

по русски ФИО
Александр9797 вне форума Ответить с цитированием
Старый 19.04.2016, 06:45   #6
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Цитата:
Сообщение от Александр9797 Посмотреть сообщение
по русски ФИО
Ну пишите
Код:
S := 'ФИО like';
и посмотрите что будеть
xxbesoxx вне форума Ответить с цитированием
Старый 19.04.2016, 06:48   #7
Александр9797
Пользователь
 
Регистрация: 19.11.2015
Сообщений: 25
По умолчанию

ShipCity-это название таблицы???
like-это название поля в таблицы???

а все понял

нет все равно выдает ошибку и выводит вот эту строчку
DM.ADOTableSot.Filtered := True;

Код:
procedure TFormSot.Edit1Change(Sender: TObject);
var
S: string;
begin
if (Trim(Edit1.Text)<>'') then
begin
S := 'ФИО like';
DM.ADOTableSot.Filter := s + '''' + Trim(Edit1.Text) + '%''';
DM.ADOTableSot.Filtered := True;
end
else
DM.ADOTableSot.Filtered := False;
end;

Последний раз редактировалось Аватар; 19.04.2016 в 07:34.
Александр9797 вне форума Ответить с цитированием
Старый 19.04.2016, 06:56   #8
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Цитата:
Сообщение от Александр9797 Посмотреть сообщение
ShipCity-это название таблицы???
like-это название поля в таблицы???
Нет..!
ShipCity = это название стольбцов .! на ваши случай надо писать ФИО
like = это конструкция из SQL -ов который применяется на фильтраций

Пожалуйста .!!! Книга просто полистайте если не читайте, Пример работаеть на все версие Delphi

Последний раз редактировалось xxbesoxx; 19.04.2016 в 07:03.
xxbesoxx вне форума Ответить с цитированием
Старый 19.04.2016, 13:27   #9
Александр9797
Пользователь
 
Регистрация: 19.11.2015
Сообщений: 25
По умолчанию

Все спасибо сделал по другому вот так:
Код:
Var help1,help2:string;
begin
help1:='%'+Unit4.FormJournal.Edit1.Text+'%';
help2:=QuotedStr(help1);
with unit3.DM.ADOQueryJournal do
begin
Close;
SQL.Clear;
SQL.Text := 'select * from ЖурналПеремещенияСотрудников where ФИО like ' + help2+' or Отдел like ' + help2+' or Должность like ' + help2;
Open;
end;
end;
_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 19.04.2016 в 14:26.
Александр9797 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Склонение ФИО Lokos Общие вопросы Delphi 4 11.09.2014 08:05
Перенос ФИО Exlus1v3 Microsoft Office Excel 0 15.05.2014 15:42
Склонения ФИО maximyn Microsoft Office Word 2 22.06.2011 13:27
Столбец для ФИО Kraimon Microsoft Office Excel 5 27.01.2011 22:02
База данных ФИО alebed Microsoft Office Excel 13 31.08.2010 09:41