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;
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;
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;
7 8
quickreport1.ADOQuery1.SQL.Add('select * from infobeli where
nofak="'+dblookupcombobox3.Text+'"');
quickreport1.ADOQuery1.Open;
quickreport1.Preview;
end;