Доброго дня! очень надеюсь на Вашу помощь!, надо в excel сформировать отчет такого плана:
наименование тех. процесса
Материал| Наим. мат.| Марка| .........
Здесь таблица материалов по тех. процессу
Итого:
(пропуск 2 строки)
наименование тех. процесса
Материал| Наим. мат.| Марка| .........
Здесь таблица материалов по тех. процессу
Итого:
(пропуск 2 строки)
и так далее для каждого тех. процесса свой набор материалов.
для одного тех. процесса сделала отчет, а для всего набора - не получается...
Код:
index:=4;
FData:=VarArrayCreate([1,PechatUdNormForm.ADOQuery1.RecordCount+2,1,PechatUdNormForm.ADOQuery1.Fields.Count],varVariant);
for i := 0 to PechatUdNormForm.TehProcessComboBox.items.count-1 do begin
// Заполняем массив
PechatUdNormForm.ADOQuery1.First;
k:=1;
while not PechatUdNormForm.ADOQuery1.Eof do
begin
for j:=1 to PechatUdNormForm.ADOQuery1.Fields.Count do begin
FData[k,j]:=PechatUdNormForm.ADOQuery1.Fields[j-1].Value;
end;
k:=k+1;
PechatUdNormForm.ADOQuery1.Next;
Excl.Range[Excl.ActiveSheet.Cells[index, 1], Excl.Cells[PechatUdNormForm.ADOQuery1.RecordCount+3, PechatUdNormForm.ADOQuery1.Fields.Count]].Value:=FData;
//index:=index+PechatUdNormForm.ADOQuery1.RecordCount+3;
end;
end;
Код:
for i:=0 to PechatUdNormForm.TehProcessComboBox.items.count-1 do begin
with PechatUdNormForm.ADOQuery1 do begin
Close;
SQL.Clear;
SQL.Add('select unr.obm, n051s.nam, n051s.mar, n051s.ram, n051s.gsm, ');
sql.Add('n051s.gss, unr.unr1, unr.kets, unr.ets, n051s.cenp, unr.unr1*n051s.cenp as cen ');
sql.Add('from unr INNER join [\\SERVER-BUH\Dbf\dbf\n051s.DBF] on n051s.obm=unr.obm ');
sql.add('where tpr='+QuotedStr(PechatUdNormForm.TehProcessComboBox.items.Strings[i]));
Open;
end;