2nd
Июн

Как убрать ненужные строки в запросе?

Posted by Chas under Пост-обзор

при запросе выводит каждую строку почему то аж по два раза! Как это исправить?

Serge_Bliznykov:

1) подобная задача на форуме решалась.. думаю, что поиском найдёте её.

2) вкратце, есть два подхода. 1-й – простой, правильный, понятный, эффективный – использовать в запросе группировку, чтобы устранить повторы (кстати, там же и сортировку можно приладить, в случае необходимости…)
это так:

  checklistbox3.items.clear;
adoquery2.Close;
adoquery2.SQL.Text := 'Select Область from ВашаТаблица group by Область';
adoquery2.Open;
// после Open мы и так не первой записи... adoquery2.first;
while not adoquery2.eof do
...
дальше всё как у вас

и 2-й подход. Если запрос по какой-то причине нельзя менять, тогда перед добавлением просто проверять, есть ли такая запись в checklistbox3.items….
примерно так:

 while not adoquery2.eof do
begin
if checklistbox3.items.IndexOf(adoquery2.fieldbyname('Область').asString)<0 then
checklistbox3.items.add(adoquery2.fieldbyname('Область').asString);
adoquery2.next;
end;

тема на форуме

Похожие статьи

Теги: |