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
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