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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2014, 09:47   #1
Dj_DeVaIs
Пользователь
 
Регистрация: 07.03.2009
Сообщений: 52
По умолчанию Поиск данных по двум столбцам)))

Добрый день. Если повторяю тему то прости те меня но времени очень мало. Суть проблемы: сть сервер SQL Server 2005 + Delphi. Надо настроить программу что бы при клике на Buttone1 поиск (Edit1.text) искал по двум столбцам это ФИО и сотрудник.

Вот код. SQL не дружу. В чем ошибка и как правильно надо написать...
Спасибо заранее. Жду ваших советов.

Код:
procedure TFindForm.Edit1Change(Sender: TObject);
begin
if FindForm.Caption='Поиск по Номеру карточки' then

 help1:='%'+FindForm.Edit1.Text+'%';
 Help3:='%'+MainForm.Edit1.Text+'%';
 help2:=QuotedStr(help1);
 help4:=QuotedStr(help3);
  with DM.QRe_33 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select * from Table_43R where Sotrudnik  = '''+MainForm.Edit1.Text+' or  where FIO like '+FindForm.Edit1.Text);

    Open;
  end;
end;


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 13.01.2014 в 10:20.
Dj_DeVaIs вне форума Ответить с цитированием
Старый 13.01.2014, 10:23   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Код:
  CLose;
  SQL.Clear;
  SQL.Add('select * from Table_43R ');
  SQL.Add('where Sotrudnik  = '+QuotedStr(MainForm.Edit1.Text)+
               ' AND  FIO like '+QuotedStr(FindForm.Edit1.Text));
Open;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.01.2014, 10:58   #3
Dj_DeVaIs
Пользователь
 
Регистрация: 07.03.2009
Сообщений: 52
По умолчанию

Не получается.... он просто не одной записи не показывает. в чем проблема может быть?
Dj_DeVaIs вне форума Ответить с цитированием
Старый 13.01.2014, 11:02   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

например, с тем, что в таблице нет записей, где поле sotrudnik В ТОЧНОСТИ РАВНО полю в MainForm.Edit1.text и одновременно, этот же сотрудник имеет фамилию, ПОЛНОСТЬЮ совпадающую с полем FindForm.Edit1.Text...

p.s. учтите, что пробелы имеют значение. и для Sotrudnik ещё и регистр текста имеет значение!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.01.2014, 11:07   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
регистр текста имеет значение
Не обязательно, зависит от настроек сиквела
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 13.01.2014, 11:27   #6
Dj_DeVaIs
Пользователь
 
Регистрация: 07.03.2009
Сообщений: 52
По умолчанию

нее смотрите....столбец сотридники всегда одно и та жа например Пупкин И.И. а вот ФИО всегда разное например Иванов Сидоров. В MainForm.Edit1.Text- это сотрудники. FindForm.Edit1.Text - это ФИО. это разные edit)))
Dj_DeVaIs вне форума Ответить с цитированием
Старый 13.01.2014, 13:29   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

не совсем понимаю, смысл вашей таблицы и что Вы, собственно, ищите, но,
Цитата:
столбец сотридники всегда одно и та жа например Пупкин И.И. а вот ФИО всегда разное например Иванов Сидоров.
значит, в таблице Table_43R нет записи, где сотрудник указан "Пупкин И.И." и FIO в этой записи "Иванов"


возникло смутное подозрение.
Уж не пытаетесь ли в поле FIO написать НЕСКОЛЬКО фамилий?!!! Если да - это это Вы напрасно. Так Вы их не найдёте!!!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.01.2014, 17:11   #8
Dj_DeVaIs
Пользователь
 
Регистрация: 07.03.2009
Сообщений: 52
По умолчанию

нет не пытаюсь....

еще раз попытаюсь свой замисел объяснить....

есть форма аутификации куда народ водит имя пользователя и пароль (имя пользователя это фамилия сотрудника)

Есть база и она разделена на несколько сотрудников. например
Сотрудник - Пупкин И.И. имеет доступ к записям с 1 по 500
Сотрудник - Иванов О.А. имеет доступ к записям с 501 по 1000


и вот. хочу сделать так что бы поиск был с учетом фамилии сотрудника (есть отдельный столбец где написан он)


может посоветуите как нибудь полегче сделать... но я делаю сравнение при входе и если есть сравнения то показываются первые 500 записей так же с помощью поиска...
Dj_DeVaIs вне форума Ответить с цитированием
Старый 13.01.2014, 17:13   #9
Dj_DeVaIs
Пользователь
 
Регистрация: 07.03.2009
Сообщений: 52
По умолчанию

простым языком говорить то мне надо написать запрос что бы программа искала по двум столбцам с разных edit.
Dj_DeVaIs вне форума Ответить с цитированием
Старый 13.01.2014, 17:31   #10
Dj_DeVaIs
Пользователь
 
Регистрация: 07.03.2009
Сообщений: 52
По умолчанию

Безымянный.jpg

вот что то типо такого
Dj_DeVaIs вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск точного совпадения по двум столбцам таблицы в БД Access lun-wadim БД в Delphi 2 15.02.2013 21:39
Поиск дубликатов по двум столбцам?! mojo Microsoft Office Excel 5 15.11.2012 00:13
Фильтр по двум столбцам kzld Microsoft Office Excel 3 31.10.2010 16:57
C Builder фильтрация в ADOTable по двум столбцам AlexSol.BY Помощь студентам 0 28.05.2010 22:09
поиск данных по двум значениям robbe Microsoft Office Excel 14 13.01.2010 12:03