Anda di halaman 1dari 5

DELPHI -.

DataSource1
-. DBGrid
: Dataset = adoquery2
: Datasource = datasource1

Buat program database dengan contoh kasus pada System Listing untuk tombol save :
Inventory
procedure TForm1.Button1Click(Sender: TObject);
begin
Table if length(edit1.Text)<5 then
Barang : kdbrg(*), nmbrg, satuan, hargabeli, hargajual, stok begin
Supplier : kdsup(*), nmsup, alamat, telepon showmessage('Kode Anda belum lengkap');
edit1.SetFocus;
Customer : kdcus(*), nmcus, alamat, telepon exit;
Beli : nofak(*), tgl(*), kdsup(*), kdbrg(*), jumlah, harga end;
Jual : nofak(*), tgl(*), kdcus(*), kdbrg(*), jumlah, harga
if messagedlg('Data baru akan disimpan.
Yakin?',mtinformation,[mbyes,mbno],0)=mryes then
Langkah penyelesaian : begin
1. Buat database di ms.access dengan table di atas. adoquery1.SQL.Clear;
2. Rancang form di Delphi dengan tampilan di bawah ini. adoquery1.SQL.Add('insert into
tbarang(kdbrg,nmbrg,satuan,hargabeli,hargajual,stok)values("
'+edit1.Text+'","'+edit2.Text+'","'+edit3.Text+'","'+edit4.T
ext+'","'+edit5.Text+'","'+edit6.Text+'")');
adoquery1.ExecSQL;

adoquery2.SQL.Clear;
adoquery2.SQL.Add('select* from tbarang');
adoquery2.Open;
end;
end;

Listing untuk cari data (di edit_kodebarang) :


procedure TForm1.Edit1Change(Sender: TObject);
begin
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from tbarang where
kdbrg="'+edit1.Text+'"');
adoquery1.Open;

if not adoquery1.Eof then


begin
edit2.Text:=adoquery1.FieldValues['nmbrg'];
edit3.Text:=adoquery1.FieldValues['satuan'];
edit4.Text:=adoquery1.FieldValues['hargabeli'];
edit5.Text:=adoquery1.FieldValues['hargajual'];
edit6.Text:=adoquery1.FieldValues['stok'];
end;
end;

Lalu, set properties: Listing untuk tombol edit :


-. ADOConnection1 : procedure TForm1.Button2Click(Sender: TObject);
ConnectionString = build, Microsoft jet OLEDB 4.0, test begin
connection. if messagedlg('Yakin akan menyimpan
data?',mtinformation,[mbyes,mbno],0)=mryes then
Loginprompt = false adoquery1.SQL.Clear;
-. ADOQuery1 : Connection = adoconnection1 adoquery1.SQL.Add('update tbarang set
-. ADOQuery2 : nmbrg="'+edit2.Text+'",satuan="'+edit3.Text+'",hargabeli="'+
Connection = adoconnection1 edit4.Text+'",hargajual="'+edit5.Text+'",stok="'+edit6.Text+
'" where kdbrg="'+edit1.Text+'"');
SQL(Tstrings) = select * from tbarang adoquery1.ExecSQL;
Active = true adoquery2.SQL.Clear;

1 2
adoquery2.SQL.Add('select* from tbarang');
adoquery2.Open;
end;
Listing untuk tampilkan data di browse :
Listing untuk tombol delete : procedure TForm1.Edit7Change(Sender: TObject);
procedure TForm1.Button3Click(Sender: TObject);
begin
begin
adoquery2.SQL.Clear;
if messagedlg('Record ini akan dihapus.
adoquery2.SQL.Add('select * from tbarang where nmbrg like
Yakin?',mtinformation,[mbyes,mbno],0)=mryes then
"'+edit7.Text+'%"');
adoquery1.SQL.Clear;
adoquery2.Open;
adoquery1.SQL.Add('delete from tbarang where
end;
kdbrg="'+edit1.Text+'"');
adoquery1.ExecSQL;
Listing supaya yang di input hanya angka :
adoquery2.SQL.Clear; procedure TForm1.Edit4KeyPress(Sender: TObject; var Key:
adoquery2.SQL.Add('select* from tbarang'); Char);
adoquery2.Open; begin
end; if key=#13 then
edit5.SetFocus;
if not (((key>='0')and (key<='9') or (key=#8)))then
Listing untuk tombol cancel : key:=#0;
procedure TForm1.Button4Click(Sender: TObject);
end;
begin
edit1.Text:='';
edit2.Text:=''; Listing supaya jika ditekan enter, kursor bisa berpindah :
edit3.Text:=''; procedure TForm1.Edit1KeyPress(Sender: TObject; var Key:
edit4.Text:=''; Char);
edit5.Text:=''; begin
edit6.Text:=''; if key=#13 then
edit1.SetFocus; edit2.SetFocus;
end; end;

Listing untuk tombol exit :


procedure TForm1.Button5Click(Sender: TObject); Tampilan Form Pembelian
begin
application.Terminate
end;

Tampilan untuk browse data barang :

StringGrid

Set propertiesnya:
-. ADOConnection1 :

3 4
ConnectionString = build, Microsoft jet OLEDB 4.0, test
connection. Listing untuk set judul kolom dan besar kolom :
Loginprompt = false procedure TForm4.FormCreate(Sender: TObject);
begin
-. ADOQuery1 : sg.RowCount:=1;
Connection = adoconnection1 sg.ColCount:=8;
SQL(Tstrings) = select * from tsupplier sg.Cells[0,0]:='No';
Active = true sg.Cells[1,0]:='Kode';
-.DataSource1 : Dataset = ADOQuery1 sg.Cells[2,0]:='Barang';
sg.Cells[3,0]:='Satuan';
-.DBLookupComboBox1 : sg.Cells[4,0]:='Harga';
ListSource = DataSource1 sg.Cells[5,0]:='Jumlah';
ListField = kdsup sg.Cells[6,0]:='Total';
KeyField = kdsup sg.Cells[7,0]:='Stok';
-.DBEdit1 : sg.ColWidths[0]:=40;
DataSource = DataSource1 sg.ColWidths[1]:=60;
DataField = nmsup sg.ColWidths[2]:=80;
-.ADOQuery2 : sg.ColWidths[3]:=60;
sg.ColWidths[4]:=60;
Connection = adoconnection1 sg.ColWidths[5]:=60;
SQL(Tstrings) = select * from tbarang sg.ColWidths[6]:=60;
Active = true sg.ColWidths[7]:=60;
-.DataSource2 : Dataset = ADOQuery2 end;
-.DBLookupComboBox2 :
ListSource = DataSource2 Listing untuk tombol proses :
procedure TForm4.Button2Click(Sender: TObject);
ListField = kdbrg var
KeyField = kdbrg stk,hrg,qty,total:real;
-.DBEdit2 : i:integer;
DataSource = DataSource2 tot:currency;
begin
DataField = nmbrg
if edit2.Text='' then
-.DBEdit3 : begin
DataSource = DataSource2 showmessage('Jumlah belum diisi');
DataField = satuan edit2.SetFocus;
-.DBEdit4 : exit;
end;
DataSource = DataSource2 sg.RowCount:=sg.RowCount+1;
DataField = harga beli sg.Cells[1,sg.RowCount-1]:=dblookupcombobox2.Text;
-.DBEdit5 : sg.Cells[2,sg.RowCount-1]:=dbedit2.Text;
DataSource = DataSource2 sg.Cells[3,sg.RowCount-1]:=dbedit3.Text;
sg.Cells[4,sg.RowCount-1]:=dbedit4.Text;
DataField = stok hrg:=strtofloat(dbedit4.Text);
qty:=strtofloat(edit2.Text);
total:=hrg*qty;
stk:=strtofloat(dbedit5.Text)+qty;
sg.Cells[5,sg.RowCount-1]:=edit2.Text;
sg.Cells[6,sg.RowCount-1]:=floattostr(total);
sg.Cells[7,sg.RowCount-1]:=floattostr(stk);

tot:=0;
for i:=1 to sg.RowCount-1 do
begin
tot:=tot+strtocurr(sg.Cells[6,i]);
sg.Cells[0,i]:=inttostr(i);
end;
edit3.Text:=currtostr(tot);

end;

5 6
Listing untuk edit quantity ( agar hanya bisa diisi angka):
procedure TForm4.Edit2KeyPress(Sender: TObject; var Key:
Char);
begin procedure TForm4.DBLookupComboBox3Click(Sender: TObject);
if not (((key>='0')and (key<='9') or (key=#8)))then begin
key:=#0; adoquery5.SQL.Clear;
end; adoquery5.SQL.Add('select * from infobeli where
nofak="'+dblookupcombobox3.Text+'"');
Listing untuk tombol save : adoquery5.Open;
procedure TForm4.Button3Click(Sender: TObject);
var i:integer; if not adoquery5.Eof then
begin begin
if messagedlg('Yakin akan menyimpan edit4.Text:=adoquery5.FieldValues['nmsup'];
data?',mtinformation,[mbyes,mbno],0)=mryes then datetimepicker2.Date:=adoquery5.FieldValues['tgl'];
for i:=1 to sg.RowCount-1 do end;
begin
adoquery3.SQL.Clear; (untuk tampilkan isi faktur)
adoquery3.SQL.Add('insert into adoquery6.SQL.Clear;
tbeli(nofak,tgl,kdsup,kdbrg,jumlah,harga)values("'+edit1.Tex adoquery6.SQL.Add('select
t+'","'+datetostr(datetimepicker1.Date)+'","'+dblookupcombob kdbrg,nmbrg,satuan,harga,jumlah,total from infobeli where
ox1.Text+'","'+sg.Cells[1,i]+'","'+sg.Cells[5,i]+'","'+sg.Ce nofak="'+dblookupcombobox3.Text+'"');
lls[4,i]+'")'); adoquery6.Open;
adoquery3.ExecSQL;
adoquery3.SQL.Clear; adoquery7.SQL.Clear;
adoquery3.SQL.Add('update tbarang set adoquery7.SQL.Add('select sum(Total) as tottrans from
stok="'+sg.Cells[7,i]+'" where kdbrg="'+sg.Cells[1,i]+'"'); infobeli where nofak="'+dblookupcombobox3.Text+'"');
adoquery3.ExecSQL; adoquery7.Open;
end; edit5.Text:=adoquery7.FieldValues['tottrans'];
adoquery2.SQL.Clear;
adoquery2.SQL.Add('select* from tbarang'); end;
adoquery2.Open;
adoquery4.SQL.Clear;
adoquery4.SQL.Add('select distinct nofak from tbeli');
Tampilan Report Pembelian
adoquery4.Open;
end;

Buat tampilan browse di form pembelian

Listing untuk tombol cetak pada form pembelian :


procedure TForm4.Button1Click(Sender: TObject);
begin
quickreport1.ADOQuery1.SQL.Clear;

7 8
quickreport1.ADOQuery1.SQL.Add('select * from infobeli where
nofak="'+dblookupcombobox3.Text+'"');
quickreport1.ADOQuery1.Open;
quickreport1.Preview;
end;

Buat Report Pembelian Per Supplier

ADOQuery : select * from infobeli

Lalu buat form baru di Delphi dengan tampilan :

Listing untuk tombol cetak :

procedure TForm6.Button1Click(Sender: TObject);


begin
report3.ADOQuery1.SQL.Clear;
report3.ADOQuery1.SQL.Add('select * from infobeli where
kdsup="'+dblookupcombobox1.Text+'"');
report3.ADOQuery1.Open;
report3.Preview;
end;

Anda mungkin juga menyukai