Sabtu, 26 Maret 2011

Membuat Form Transaksi pengembalian buku pada Delphi7+Ms.Accsess2007

Karena project Perpustakaan sebelumnya sudah dibuat, pada modul 4.
Membuat menu
, maka pada kesempatan ini adalah melengkapi frmkembali yaitu dengan cara:
1. Mengaktifkan Delphi 7.0 dengan cara, klik Start, Klik All Program, Klik Borland Delphi 7, Klik Delphi 7.
2. Klik menu File, klik Open Project, tentukan folder tempat anda menyimpan project PRjpustaka, lalu klik prjpustaka dan klik open
3. Klik Menu file, Klik New, klik form, ganti caption pada properties dengan Input Data Transaksi Pengembalian, dan pada name ketikkan frmkembali.
4. Klik menu View, lalu klik forms dan double klik frmenu, klik Transaksi pada frmmenu, klik Pengembalian dan ketikkan :
frmkembali.show;
5. Klik menu View, lalu klik forms dan double klik frmkembali, lengkapi form tersebut seperti gambar berikut :
Gambar 1. Membuat form Transaksi Pengembalian Buku

Adapun koding selengkapnya adalah :
a. Buatlah variable seperti di bawah ini :
b. Membuat Koding pada Form Activate
procedure TFrmKembali.FormActivate(Sender: TObject);
begin
edit1.SetFocus;
end;
c. Membuat Koding pada Form Create
01procedure TFrmKembali.FormCreate(Sender: TObject);
02begin
03edit1.Text :='';
04edit6.Text := '1000';
05edit2.Enabled := false;
06edit3.Enabled := false;
07edit4.Enabled := false;
08edit5.Enabled := false;
09edit6.Enabled := false;
10edit7.Enabled := false;
11edit8.Enabled := false;
12datetimepicker1.Enabled := false;
13end;
d. Buat koding pada edit1 dengan menggunakan event on keypress
01procedure TFrmKembali.Edit1KeyPress(Sender: TObject; var Key: Char);
02var tgl :tdatetime;
03begin
04if key=#13 then
05begin
06adoquery1.Close;
07adoquery1.SQL.Clear;
08adoquery1.SQL.add('Select * from pinjam where id_pinjam="'+ edit1.Text +'"');
09adoquery1.open;
10if not adoquery1.Eof then
11begin
12
13  //menghitung tanggal tempo
14  decodedate(datetimepicker1.DateTime,thn,bln,hari);
15  hari := hari + 5;
16  tanggal := encodedate(thn,bln,hari);
17  edit2.Text := formatdatetime('dd/mm/yyyy',tanggal);
18
19  edit3.Text := adoquery1.Fields[1].AsString;
20  tgl := adoquery1.Fields[3].AsDateTime;
21  if datetostr(tgl)  <> ''  then
22  begin
23    button1.Enabled := false;
24    datetimepicker2.enabled := false;
25    showmessage('Buku Sudah dikembalikan');
26  end;
27
28  datetimepicker1.Date := adoquery1.Fields[2].AsDateTime;
29  datetimepicker2.date := adoquery1.fields[3].asdatetime;
30
31  //menselect data pada id anggota
32  adoquery2.close;
33  adoquery2.SQL.clear;
34  adoquery2.SQL.add('select * from Anggota where id_Anggota = "'+ edit3.Text +'"');
35  adoquery2.Open;
36  if not adoquery2.Eof then
37  begin
38    edit4.text := adoquery2.Fields[1].AsString;
39    edit5.Text := adoquery2.Fields[2].AsString;
40  end;
41
42  //menampilkan data buku pada datagrid
43  adoquery3.Close;
44  adoquery3.SQL.Clear;
45  adoquery3.SQL.add('select dpinjam.id_pinjam,dpinjam.id_buku,buku.judulbuku,jumlah from dpinjam,buku where dpinjam.id_buku = buku.kode and id_pinjam ="' + edit1.Text +'"');
46  adoquery3.open;
47  if not adoquery3.eof then
48  datasource1.dataset := adoquery3;
49  DBGrid1.DataSource := datasource1;
50end
51else
52  showmessage('data tidak ditemukan');
53
54end;
55end;
e. Membuat koding pada datetimepicker2 dengan menggunakan event change
01procedure TFrmKembali.DateTimePicker2Change(Sender: TObject);
02begin
03edit8.text:='0';
04edit7.Text :='0';
05tgl1 := datetimepicker1.Date;
06tgl2 := datetimepicker2.date;
07if (tgl2 > tanggal) then
08begin
09lama :=trunc(tgl2 - tgl1);
10edit7.Text := inttostr(lama);
11edit8.text := inttostr(strtoint(edit6.text) * lama);
12end
13else
14edit7.Text := '0';
15end;
f. Membuat koding pada tombol prosess button1
procedure TFrmKembali.Button1Click(Sender: TObject);
begin
01adoquery1.Close;
02adoquery1.SQL.clear;
03adoquery1.SQL.add('update pinjam set tgl_kembali = "'+ datetostr(datetimepicker2.date)+'", tgl_tempo = "'+ edit2.text +'" where id_pinjam ="'+ edit1.text +'"');
04adoquery1.ExecSQL;
05showmessage('Data Sudah terupdate');
06edit1.Text := '';
07edit2.text := '';
08edit3.text := '';
09edit4.text := '';
10edit5.text := '';
11edit6.text := '';
12edit7.text := '';
13edit8.text := '';
14end;

Tidak ada komentar:

Posting Komentar