Sorgumun döngülerinde bir hata var bir göz atabilirmisiniz?
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
Var
Excel:Variant;
i, x, z : Integer;
G1, G2, Belge : String;
BorcBakiye, AlacakBakiye, Bakiye : Extended;
DBakiye, DBorcBakiye, DAlacakBakiye, Devir : Extended;
Dekont, Iade, Muhtelif, Kasa, Cek, Senet : Extended;
Tarih, Tarih1 : String;
begin
Excel:=CreateOleObject('Excel.Application');
Excel.Visible := True;
Excel.Workbooks.Add;
Excel.Range['A1','C3'].Font.Bold:=True;
Excel.Range['A1','C3'].Font.Color:=clRed;
Excel.Cells[1,1].Value:='Müşteri';
Excel.Cells[1,2].Value:='Cari Kod';
Excel.Cells[1,3].Value:='Cari İsim';
Excel.Cells[2,3].Value:='Telefon';
Excel.Cells[3,3].Value:='Cari İlçe - İl';
Excel.Range['A4','I4'].Font.Bold:=True;
Excel.Range['A4','I4'].Font.Color:=clRed;
Excel.Cells[4,1].Value:='Tarih';
Excel.Cells[4,2].Value:='Fiş Numarası';
Excel.Cells[4,3].Value:='Açıklama';
Excel.Cells[4,4].Value:='Vade Tarihi';
Excel.Cells[4,5].Value:='Borç Tutarı';
Excel.Cells[4,6].Value:='Alacak Tutarı';
Excel.Cells[4,7].Value:='Bakiye';
NRap1.Sql.Add('SELECT CARI_KOD, CARI_ISIM, CARI_TEL, CARI_IL, CARI_ILCE FROM TBLCASABIT WHERE CARI_KOD=''' + Edit1.Text +'''');
NRap1.Open;
Excel.Cells[1,2].Value:='''' + NRap1.FieldByName('CARI_KOD').AsString;
Excel.Cells[1,3].Value:='''' + NRap1.FieldByName('CARI_ISIM').AsString;
Excel.Cells[2,3].Value:='''' + NRap1.FieldByName('CARI_TEL').AsString;
Excel.Cells[3,3].Value:='''' + NRap1.FieldByName('CARI_ILCE').AsString + ' - ' + NRap1.FieldByName('CARI_IL').AsString;
NRap3.SQL.Add('SELECT TARIH, VADE_TARIHI, BELGE_NO, ACIKLAMA, BORC, ALACAK, BAKIYE, HAREKET_TURU FROM TBLCAHAR WHERE CARI_KOD=''' + Edit1.Text + ''' ORDER BY TARIH');
NRap3.Open;
Excel.Range['E5','I700'].NumberFormat:='#.##0,00';
i:=5;
while not NRap3.EOF do begin
if NRap3.FieldByName('HAREKET_TURU').AsString<>'B' then begin
Excel.Cells[i,1].Value:=NRap3.FieldByName('TARIH').AsString;
Excel.Cells[i,2].Value:=NRap3.FieldByName('BELGE_NO').AsString;
Excel.Cells[i,3].Value:=NRap3.FieldByName('ACIKLAMA').AsString;
Excel.Cells[i,4].Value:=NRap3.FieldByName('VADE_TARIHI').AsString;
Excel.Cells[i,5].Value:=NRap3.FieldByName('BORC').AsFloat;
BorcBakiye:=BorcBakiye + NRap3.FieldByName('BORC').AsFloat;
Excel.Cells[i,6].Value:=NRap3.FieldByName('ALACAK').AsFloat;
AlacakBakiye:=AlacakBakiye + NRap3.FieldByName('ALACAK').AsFloat;
Bakiye:=BorcBakiye - AlacakBakiye;
Excel.Cells[i,7].Value:=Bakiye;
if NRap3.FieldByName('BORC').AsFloat<>0 then
Excel.Cells[i,9].Value:=Excel.Cells[i,5].Value / Excel.Cells[i,8].Value
else
Excel.Cells[i,9].Value:=Excel.Cells[i,6].Value / Excel.Cells[i,8].Value;
end;
if (NRap3.FieldByName('HAREKET_TURU').AsString='G') And (NRap3.FieldByName('ALACAK').AsFloat<>0) then begin
Cek:=Cek + NRap4.FieldByName('ALACAK').AsFloat;
Excel.Range['A'+IntToStr(i),'J'+IntToStr(i)].Font.Color:=clRed;
end;
if (NRap3.FieldByName('HAREKET_TURU').AsString='E') And (NRap3.FieldByName('ALACAK').AsFloat<>0) then begin
Senet:=Senet + NRap5.FieldByName('ALACAK').AsFloat;
Excel.Range['A'+IntToStr(i),'J'+IntToStr(i)].Font.Color:=clRed;
end;
if (NRap3.FieldByName('HAREKET_TURU').AsString='D') And (NRap3.FieldByName('ALACAK').AsFloat<>0) then begin
Kasa:=Kasa + NRap6.FieldByName('ALACAK').AsFloat;
Excel.Range['A'+IntToStr(i),'J'+IntToStr(i)].Font.Color:=clRed;
end;
if (NRap3.FieldByName('HAREKET_TURU').AsString='K') And (NRap3.FieldByName('ALACAK').AsFloat<>0) then begin
Dekont:=Dekont + NRap7.FieldByName('ALACAK').AsFloat;
Excel.Range['A'+IntToStr(i),'J'+IntToStr(i)].Font.Color:=clRed;
end;
if (NRap3.FieldByName('HAREKET_TURU').AsString='L') And (NRap3.FieldByName('ALACAK').AsFloat<>0) then begin
Muhtelif:=Muhtelif + NRap3.FieldByName('ALACAK').AsFloat;
Excel.Range['A'+IntToStr(i),'J'+IntToStr(i)].Font.Color:=clRed;
end;
if (NRap3.FieldByName('HAREKET_TURU').AsString='C') And (NRap3.FieldByName('ALACAK').AsFloat<>0) then begin
Iade:=Iade + NRap3.FieldByName('ALACAK').AsFloat;
Excel.Range['A'+IntToStr(i),'J'+IntToStr(i)].Font.Color:=clRed;
end
else begin
NRap7.Open;
NRap8.Open;
Excel.Range['A'+IntToStr(i),'J'+IntToStr(i)].Font.Bold:=True;
Excel.Range['A'+IntToStr(i),'J'+IntToStr(i)].Font.Color:=clBlue;
Excel.Cells[i,1].Value:=NRap3.FieldByName('TARIH').AsString;
Excel.Cells[i,2].Value:=NRap3.FieldByName('BELGE_NO').AsString;
Excel.Cells[i,3].Value:=NRap3.FieldByName('ACIKLAMA').AsString;
Excel.Cells[i,4].Value:=NRap3.FieldByName('VADE_TARIHI').AsString;
Excel.Cells[i,5].Value:=NRap3.FieldByName('BORC').AsFloat;
BorcBakiye:=BorcBakiye + NRap3.FieldByName('BORC').AsFloat;
Excel.Cells[i,6].Value:=NRap3.FieldByName('ALACAK').AsFloat;
AlacakBakiye:=AlacakBakiye + NRap3.FieldByName('ALACAK').AsFloat;
Bakiye:=BorcBakiye - AlacakBakiye;
Excel.Cells[i,7].Value:=Bakiye;
DBakiye:=DBorcBakiye - DAlacakBakiye;
Belge:=NRap3.FieldByName('BELGE_NO').AsString;
NRap7.SQL.Add('SELECT SH.STOK_KODU, ST.STOK_ADI, SH.STHAR_GCMIK, SH.STHAR_NF, SH.STHAR_BF FROM TBLSTHAR SH, TBLSTSABIT ST WHERE SH.STOK_KODU=ST.STOK_KODU AND SH.FISNO=''' + Belge + '''');
NRap7.Open;
NRap8.Open;
inc(i);
Excel.Range['A'+IntToStr(i),'J'+IntToStr(i)].Font.Italic:=True;
Excel.Range['A'+IntToStr(i),'J'+IntToStr(i)].Font.Color:=clBlue;
Excel.Cells[i,2].Value:='Stok Kodu';
Excel.Cells[i,3].Value:='Stok İsmi';
Excel.Cells[i,4].Value:='Miktar';
Excel.Cells[i,5].Value:='Brüt Fiyat';
Excel.Cells[i,6].Value:='Net Fiyat';
Excel.Cells[i,7].Value:='Tutar';
while not NRap7.EOF do begin
inc(i);
Excel.Range['A'+IntToStr(i),'J'+IntToStr(i)].Font.Italic:=True;
Excel.Range['A'+IntToStr(i),'J'+IntToStr(i)].Font.Color:=clGreen;
Excel.Cells[i,2].Value:=NRap7.FieldByName('STOK_KODU').AsString;
Excel.Cells[i,3].Value:=NRap8.FieldByName('STOK_ADI').AsString;
Excel.Cells[i,4].Value:=NRap7.FieldByName('STHAR_GCMIK').AsFloat;
Excel.Cells[i,5].Value:=NRap7.FieldByName('STHAR_NF').AsFloat;
Excel.Cells[i,6].Value:=NRap7.FieldByName('STHAR_BF').AsFloat;
Excel.Cells[i,7].Value:=(Excel.Cells[i,4].Value) * (Excel.Cells[i,5].Value);
inc(i);
NRap7.Open;
NRap7.Next;
end;
end;
end;
end;