|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Поиск по базе данных, созданной в Access
Приветствую всех и прошу помощи. У меня есть база данных химчистки,созданная в access, по которой необходимо выполнить поиск по клиентам. Т.е. на отдельной форме я создал форму поиска:
1.png И набросал вот такой код,изменив найденный на просторах интернета: Код:
procedure TForm2.Button1Click(Sender: TObject); var s: string; n: integer; begin n := 0; s := 'SELECT * FROM '; if Checkbox1.Checked then Inc(n); if Checkbox2.Checked then Inc(n); if Checkbox3.Checked then Inc(n); if Checkbox4.Checked then Inc(n); if n > 0 then begin s := s + ' WHERE '; if Checkbox1.Checked then begin s := s + '(DBGrid6.Columns[0] = "' + Edit1.Text + '")'; if n > 1 then s := s + ' AND '; Dec(n); end; if Checkbox2.Checked then begin s := s + '(DBGrid6.Columns[1] = "' + Edit2.Text + '")'; if n > 1 then s := s + ' AND '; Dec(n); end; if Checkbox3.Checked then begin s := s + '(DBGrid6.Columns[2] = "' + Edit3.Text + '")'; if n > 1 then s := s + ' AND '; Dec(n); end; if Checkbox4.Checked then begin s := s + '(DBGrid6.Columns[3] = "' + Edit4.Text + '")'; if n > 1 then s := s + ' AND '; Dec(n); end; with DataModule1.FindKlientsQ do begin Close; SQL.Clear; SQL.Add(s); Open; end; end; Код:
s := 'SELECT * FROM '; P.S. DBGrid6.Columns[i]-это столбцы базы данных,которая расположена на другой форме.Соответсвенно DBGrid6.Columns[0]-это номер.DBGrid6.Columns[1]-фамилия и т.д. P.S.S. в DataModule1 расположены два компонента Query(FindKlientsQ) и DataSource(FindKlientsQDS). 12.png В Query пытался выбирать все DataBaseName,но ничего не работает. Возможно,что это можно сделать намного проще и я всё усложняю,поэтому и прошу помощи. |