Приветствую всех и прошу помощи. У меня есть база данных химчистки,созданная в 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;
Проблема в том,что я не совсем понимаю,что следует писать в строчке,ибо в интернете полно примеров,где выбираются просто таблицы:
.
P.S. DBGrid6.Columns[i]-это столбцы базы данных,которая расположена на другой форме.Соответсвенно DBGrid6.Columns[0]-это номер.DBGrid6.Columns[1]-фамилия и т.д.
P.S.S. в DataModule1 расположены два компонента Query(FindKlientsQ) и DataSource(FindKlientsQDS).
12.png
В Query пытался выбирать все DataBaseName,но ничего не работает.
Возможно,что это можно сделать намного проще и я всё усложняю,поэтому и прошу помощи.