--::welcome To MyBlog Thank For Your visit:--

Rabu, 28 Mei 2014

Cara Membuat Laporan Perbulan dengan Delphi

Halo Delphier gimana kabarnya nihhh.... Kali ini saya akan share cara membuat laporan per bulan dengan delphi yang dapat di buat per bulan dalam satu tahun yang ditentukan oleh user... Oya disini saya pakai database MySql ya temen - temen... Okay langsung saja pertama siapkan form dan komponen yang diperlukan adalah:

1. Dua buah label
2. Dua buah combobox
3. Dua buah bitbutton
4. Datasource
5. ADOQuery
6. ADOConnection
 
 Form Laporan Per Bulan


 Setelah itu siapkan pula QuickRep dan Komponennya, kira - kira seperti inilah screenshot dari
desain laporan yang saya buat;

Screenshot QuickRep Laporan Per Bulan
Berikut ini adalah listing yang saya gunakan dalam aplikasi saya:
var
  frmlapbulanan: Tfrmlapbulanan;
  NSql: String;
implementation

{$R *.dfm}
procedure Tfrmlapbulanan.total();
var
i,jml :integer;
begin
qjual.First;
jml := 0;
for i := 1 to qjual.RecordCount do
begin
jml := jml +qjual.FieldByName('sum(totalbayar)').AsInteger;
qjual.Next;
end;
etotal.Text := IntToStr(jml);
end;

procedure Tfrmlapbulanan.BitBtn2Click(Sender: TObject);
begin
close;
end;

procedure Tfrmlapbulanan.BitBtn1Click(Sender: TObject);
begin
QuickRep1.DataSet:=qjual;
// sambungkan qrdbtext dengan dataset
QRDBText1.dataset:=qjual;
QRDBText9.DataSet:=qjual;
// sambungkan qrdbtext dengan masing masing field
qrdbtext1.DataField:='tgljual';
qrdbtext9.DataField:='sum(totalbayar)';
  QRLabel10.Caption:=etotal.Text;
  QRLabel9.Caption:='Per  '+cbbulan.Text+'  '+cbtahun.Text;
//tampilkan report
QuickRep1.Preview;
end;

procedure Tfrmlapbulanan.FormActivate(Sender: TObject);
begin
 cbbulan.Items.Clear;
 qjual.Close;
 qjual.Connection:=murni;
 qjual.SQL.Text:='select distinct MONTHname(tgljual) from penjualan order by month(tgljual) asc';
 qjual.Open;
 qjual.First;
 while not qjual.Eof do
 begin
 cbbulan.Items.Add(qjual.Fields[0].AsString);
 qjual.Next;
 end;
 cbtahun.Items.Clear;
 qjual.Close;
 qjual.Connection:=murni;
 qjual.SQL.Text:='select distinct YEAR(tgljual) from penjualan order by tgljual asc';
 qjual.Open;
 qjual.First;
 while not qjual.Eof do
 begin
 cbtahun.Items.Add(qjual.Fields[0].AsString);
 qjual.Next;
 end;
NSql:='select  distinct tgljual,monthname(tgljual), sum(totalbayar)  from penjualan Group by tgljual';
qjual.Close;
qjual.Connection:=murni;
qjual.SQL.Text:=Nsql;
qjual.Open;
cbtahun.Text:='Pilih Tahun';
cbbulan.Text:='Pilih Bulan';
 total();
end;

procedure Tfrmlapbulanan.cbbulanSelect(Sender: TObject);
begin
qjual.close;
qjual.Connection:=murni;
qjual.sql.text:='SELECT distinct tgljual,monthname(tgljual), sum(totalbayar)  FROM penjualan WHERE MONTHname(tgljual)like'+
QuotedStr('%'+cbbulan.text+'%')+
'and year(tgljual)like'+
QuotedStr('%'+cbtahun.Text+'%')+'group by tgljual';
qjual.Open;
total();
end;

procedure Tfrmlapbulanan.cbtahunSelect(Sender: TObject);
begin
qjual.close;
qjual.Connection:=murni;
qjual.sql.text:='SELECT distinct tgljual,monthname(tgljual), sum(totalbayar)  FROM penjualan WHERE MONTHname(tgljual)like'+
QuotedStr('%'+cbbulan.text+'%')+
'and year(tgljual)like'+
QuotedStr('%'+cbtahun.Text+'%')+'group by tgljual';
qjual.Open;
total();
end;

end.

Nahh itu tadi adalah listing yang saya buat jika masih ada kekurangannya saya harap temen - temen delphier bersedia buat ngasih kritik dan saran untuk pengembangan aplikasi ini. Okay terima kasih atas kunjungannya salam delphier kawann!!!!!!!! :)



sumber :
http://www.zonafantasi.com/

Tidak ada komentar :

Posting Komentar

Berkomentarlah Dengan Bahasa yang Baik dan Benar