Показать сообщение отдельно
  #5  
Старый 16.02.2017, 14:52
sdmitriy84 sdmitriy84 вне форума
Прохожий
 
Регистрация: 28.07.2015
Сообщения: 3
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Сделал вот так

Код:
  index := 10;
  KeyValue1 := '';
  KeyValue2 := '';
  Cnt := 0;
  cnt2 := 0;
  cnt3:=0;
  with ds1.DataSet do
  begin
    sheet.cells[4, 1] := 'добровольного медицинского страхования за период c ' + ds1.DataSet.FieldByName('period_c').AsString + ' по ' + ds1.DataSet.FieldByName('period_po').AsString;
    First;
    while not ds1.DataSet.Eof do
    begin
        if (ds1.DataSet.FieldByName('Фамилия').AsString + ' ' + ds1.DataSet.FieldByName('Имя').AsString + ' ' + ds1.DataSet.FieldByName('Отчество').AsString <> KeyValue1) then
        begin
          Inc(cnt);
          keyvalue1 := ds1.DataSet.FieldByName('Фамилия').AsString + ' ' + ds1.DataSet.FieldByName('Имя').AsString + ' ' + ds1.DataSet.FieldByName('Отчество').AsString;
          keyvalue2 := ds1.DataSet.FieldByName('kod').AsString;
          sheet.cells[index, 1] := cnt;
          sheet.cells[index, 2] := ds1.DataSet.FieldByName('Фамилия').AsString + ' ' + ds1.DataSet.FieldByName('Имя').AsString + ' ' + ds1.DataSet.FieldByName('Отчество').AsString;
          sheet.cells[index, 3] := Fields.Fields[7].AsString;
          sheet.cells[index, 4] := Fields.Fields[14].AsString;
          sheet.cells[index, 5] := Fields.Fields[11].AsString;
          sheet.cells[index, 6] := Fields.Fields[25].AsString;
          sheet.cells[index, 7] := Fields.Fields[36].AsString;
          sheet.cells[index, 8] := Fields.Fields[26].AsString;
          sheet.cells[index, 9] := Fields.Fields[27].AsString;
          sheet.cells[index, 10] := Fields.Fields[28].AsString;
          sheet.cells[index, 11] := Fields.Fields[41].AsString;
          sheet.cells[index, 12] := Fields.Fields[47].AsString;
          sheet.cells[index, 13] := Fields.Fields[33].AsString;
        end;
      if (ds1.DataSet.FieldByName('Kod').AsString <> KeyValue2) then
      begin
        sheet.cells[index, 6] := Fields.Fields[25].AsString;
        sheet.cells[index, 7] := Fields.Fields[36].AsString;
        sheet.cells[index, 8] := Fields.Fields[26].AsString;
        sheet.cells[index, 9] := Fields.Fields[27].AsString;
        sheet.cells[index, 10] := Fields.Fields[28].AsString;
        sheet.cells[index, 11] := Fields.Fields[41].AsString;
        sheet.cells[index, 12] := Fields.Fields[47].AsString;
        sheet.cells[index, 13] := Fields.Fields[33].AsString;
      end;
      inc(index);
      ds1.DataSet.Next;
    end;

вот что получилось

http://cm.mf-image.ru/d/eyJ0IjoiMjAxNy0wMi0xNlQxMTo1MzowMi42NzMyOTIwWiIsIn RtIjoxNSwiYmQiOjEsImZkIjo0MTU4Nzg2LCJyZiI6bnVsbCwi c2wiOjAsImZuIjpudWxsLCJyIjoiaHR0cDovL215LWZpbGVzLn J1L3p2dnN4MyIsImwiOm51bGx9.ADF4DB57A9E37F9A7032143 91F6599D7./%D0%91%D0%B5%D0%B7%D1%8B%D0%BC%D1%8F%D0%BD%D0%BD%D 1%8B%D0%B9.JPG

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

Может кто знает как это реализовать...заранее благодарен за помощь всем кто откликнулся..

Должно выглядеть примерно так

http://v8.mf-image.ru/d/eyJ0IjoiMjAxNy0wMi0xNlQxMjoxMjowNy4yNzcxNzQwWiIsIn RtIjoxNSwiYmQiOjEsImZkIjo0MTU4ODcxLCJyZiI6bnVsbCwi c2wiOjAsImZuIjpudWxsLCJyIjoiaHR0cDovL215LWZpbGVzLn J1LzQ3dTZ6ciIsImwiOm51bGx9.A2199BDC8BD26384748E01A 970F26CFC./%D0%91%D0%B5%D0%B7%D1%8B%D0%BC%D1%8F%D0%BD%D0%BD%D 1%8B%D0%B9.JPG
Ответить с цитированием