![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Добрый день! Нужно чтобы одинаковые значения в ComboBox не повторялись. Данные берутся из таблицы, нужно чтобы на выходе одинаковых строк небыло.
Пробую такие варианты: Код:
var a1:string; a2:string; a3:string; a4:string; i:integer; begin ADOQuery6.First; while not ADOQuery6.Eof do begin a1:=ADOQuery6.FieldByName('Корпус').AsString; a2:=ADOQuery6.FieldByName('Ряд').AsString; a3:=ADOQuery6.FieldByName('Место').AsString; a4:=ADOQuery6.FieldByName('Ярус').AsString; Label7.Caption:=Format('%s:%s-%s/%s',[a1,a2,a3,a4]); for i := 0 to Combobox6.Items.Count - 1 do if Combobox6.Items.Strings[i]=Label7.Caption then begin ADOQuery6.Next; end; if Combobox6.Items.Strings[i]<>Label7.Caption then begin ComboBox6.Items.Append(Format('%s:%s-%s/%s',[a1,a2,a3,a4])); ADOQuery6.Next; end; end; end; |
#2
|
||||
|
||||
![]() Сделай изначально запрос без посторений и все.
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#3
|
|||
|
|||
![]() Цитата:
|
#4
|
||||
|
||||
![]() Цитата:
Код:
var a1, a2, a3, a4: string; begin ADOQuery6.First; while not ADOQuery6.Eof do begin a1 := ADOQuery6.FieldByName('Корпус').AsString; a2 := ADOQuery6.FieldByName('Ряд').AsString; a3 := ADOQuery6.FieldByName('Место').AsString; a4 := ADOQuery6.FieldByName('Ярус').AsString; Label7.Caption := Format('%s:%s-%s/%s', [a1, a2, a3, a4]); if ComboBox6.Items.IndexOf(Label7.Caption)<0 then ComboBox6.Items.Add(Label7.Caption); ADOQuery6.Next; end; end; |
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
cyborgg4655 (25.03.2013)
|
#5
|
|||
|
|||
![]() Цитата:
|
#6
|
||||
|
||||
![]() Код:
select distinct поля from таблица where условия И не надо вызывать IndexOf и т.д. Мой вариант быстрее и лучше, ИМХО ![]() — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#7
|
||||
|
||||
![]() а если еще поля сконкатенировать прямо в запросе, то и Format не нужен. цикл будет из 2=х строк:
Код:
.Add(.FieldByName()) .Next Пишу программы за еду. __________________ |