Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.27;
Скачать: CL | DM;

Вниз

Фильтрация повторяющихся значений   Найти похожие ветки 

 
AlexanderSK   (2004-06-03 17:50) [0]

Есть TClientDataSet, поля р1, р2.
Причем значения р1 - повторяются (по 2-4 записи с одинм и тем же значением р1, при этом р2 для них разные).
Нужно получить список значений р1 (без повторов!)

Подскажите, пожалуйста, как это лучше сделать?


 
Курдль ©   (2004-06-03 17:52) [1]

Только не TClientDataSet или каким угодно другим Т..., а ТЗапросом.


 
Sandman25 ©   (2004-06-03 17:58) [2]

Если получить там же, то можно установить IndexFieldNames, а потом пробежаться в цикле и удалить повторяющиеся.


 
Jiny   (2004-06-03 18:04) [3]

>Только не TClientDataSet или каким угодно другим Т..., а ТЗапросом
может быть надо было сказать каким именно запросом ?

select distinct p1 from имя таблицы


 
AlexsanderSK   (2004-06-03 18:07) [4]

>Курдль ©  (03.06.04 17:52) [1]
>Jiny  (03.06.04 18:04) [3]
Да нет! Суть как раз в том, чтобы к БД не обращаться!


 
Jiny   (2004-06-03 18:21) [5]

попробуй так
var
MyDIm: array of String;
i,i2: integer;
tmpText: string;;
Begin
 SetLength(MyDim,Tdataset.RecordCount);
 For i:=0 to Tdataset.RecordCount-1 do
 begin
   TmpText:=Tdataset.FieldByname("field").AsString;
   For i2:=0 to i do
   begin
     If AnsiUpperCase(TmpText)=AnsiUppercase(MYDim) then
       break;
     else
     Begin
       MyDim[i]:=TmpText;
       break;
     end;
   end;
    Tdataset.FindNext  
 end;
end;


 
Jiny   (2004-06-03 18:22) [6]

попробуй так
var
MyDIm: array of String;
i,i2: integer;
tmpText: string;;
Begin
 SetLength(MyDim,Tdataset.RecordCount);
 For i:=0 to Tdataset.RecordCount-1 do
 begin
   TmpText:=Tdataset.FieldByname("field").AsString;
   For i2:=0 to i do
   begin
     If AnsiUpperCase(TmpText)=AnsiUppercase(MYDim[i2]) then
       break;
     else
       MyDim[i]:=TmpText;
   end;
    Tdataset.FindNext  
 end;
end;


 
Jiny   (2004-06-03 18:27) [7]

Ошибочка Вышла, не успел отменить отправку текста,
попробуй так
var
MyDIm: array of String;
i,i2: integer;
tmpText: string;;
Result: boolean;
Begin
SetLength(MyDim,Tdataset.RecordCount);
For i:=0 to Tdataset.RecordCount-1 do
begin
  TmpText:=Tdataset.FieldByname("field").AsString;
  For i2:=0 to i do
    If AnsiUpperCase(TmpText)=AnsiUppercase(MYDim[i2]) then
      Result:=false else result:=true;

   If result then MyDim[i]:=TmpText;
 
   Tdataset.FindNext  
end;
MyDim:=nil;
end;
Потом пройдешься циклом по не нулевым значениям


 
Anatoly Podgoretsky ©   (2004-06-03 19:53) [8]

AlexsanderSK   (03.06.04 18:07) [4]
Духом святыс что ли?



Страницы: 1 вся ветка

Текущий архив: 2004.06.27;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.033 c
3-1086098477
WebErr
2004-06-01 18:01
2004.06.27
Проблема с TLookupComboBox


4-1084809469
GROL
2004-05-17 19:57
2004.06.27
Изменение изображения на экране.


14-1086892505
GanibalLector
2004-06-10 22:35
2004.06.27
][APKОВ !!!ту-ту-ту-тууу!!!туууу-тууууу!!!!


1-1087007130
Aswert
2004-06-12 06:25
2004.06.27
Как объявить структуру константой ?


8-1080731765
Новик
2004-03-31 15:16
2004.06.27
3d график





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский