![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Приветствую всех и прошу помощи. У меня есть база данных химчистки,созданная в 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,но ничего не работает. Возможно,что это можно сделать намного проще и я всё усложняю,поэтому и прошу помощи. |