Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Базы данных > ADO Помгите пожалуйста с выборкой


Автор: Bugs25 7.7.2010, 17:05
База Локальная Access
Я как-то задавал такой вопрос но решения так и ненашел а очень нужно

У меня две таблицы Одна Люди другая дела   , что-бы сделать отчёт из таблицы дела нужно выбрать всех людей , это получаеться , а как мне сделать так что-бы Фамилия была  одна конкретного человека а даты шли строкой 

У меня сейчас запросом  ADOQuery SELECT * FROM job   выбираються все записи , а как-же можно отсеить одинаковые , и сделать вот такой вид


До:                                                         После:
                                                  
Номер   Фамилия         Дата                     Номер   Фамилия    Дата 
 11      Иванов     12.01.2010                      11        Иванов     12.14.15 (01.2010)
 11      Иванов     14.01.2010                      16        Петров      12.16.19 (01.2010)
 11      Иванов     15.01.2010                      22        Сидоров    12.15.20 (01.2010)
 16      Петров     12.01.2010
 16      Петров     16 .01.2010
 16      Петров      19.01.2010
 22      Сидоров    20.01.2010
 22      Сидоров    15.01.2010
 22      Сидоров    12.01.2010



Помогите пожалуйста немогу сделать отчёт ни в Word не  в QReport, программа стоит наместе как безделушка 
Пологаю что нужно использовать компонент TClientDataSet Но как его заставить формировать  нужную выборку незнаю , помогите плиз всю голову сломл

Это неработает и делает не то что нужно

if (ADOQuery1->Acive)     
ADOQuery1->Close();
ADOQuery1->Open();  

for(ADOQuery1->First();
!ADOQuery1->Eof;
ADOQuery1->Next())
{      if (ClientDataSet1->FieldByName("num")->Value  == ADOQuery1->FieldByName("Номер")->Value)      

{           
 ClientDataSet1->Edit();            
ClientDataSet1->FieldByName("DateTimes")->Value =  ClientDataSet1->FieldByName("DateTimes")->Value.DateTimeStrimg() + ";" + ADOQuery1->FieldByName("Дата")->Value;            ClientDataSet1->Post();      
}else      

{
            ClientDataSet1->Append();           
 ClientDataSet1->FieldByName("num")->Value =   ADOQuery1->FieldByName("Номер")->Value;            
ClientDataSet1->FieldByName("DateTimes")->Value =   ADOQuery1->FieldByName("Фамилия")->Value;            
ClientDataSet1->FieldByName("DateTimes")->Value =   ADOQuery1->FieldByName("Дата")->Value;          
  ClientDataSet1->Post();                     
}

} 

Автор: Rodman 8.7.2010, 22:35
distinct или group by

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)