11 May 2012

Membuat Program Database dan Tombol Pencarian Data dengan Delphi 7

Apa kabar pecinta blogger... semoga kabar kalian semua baik. Kali ini saya ingin share tentang bagaimana membuat program yang dilengkapi dengan database dan tombol pencarian data. Tentunya di sini penulis menggunakan sofware Delphi 7 + Paradox. Untuk lebih jelasnya, silahkan lihat script / coding di bawah ini :
















unit Unit2;


uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, DBTables, Grids, DBGrids, StdCtrls, Buttons;

type
  TForm2 = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    GroupBox2: TGroupBox;
    Label6: TLabel;
    Edit6: TEdit;
    BitBtn5: TBitBtn;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Table1: TTable;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;


var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.BitBtn1Click(Sender: TObject);
begin
table1.append;
table1['NO']:=edit1.Text;
table1['KODE_BARANG']:=edit2.Text;
table1['NAMA_BARANG']:=edit3.Text;
table1['SATUAN']:=edit4.Text;
table1['JUMLAH_STOCK']:=edit5.Text;
showmessage('Data berhasil disimpan');
table1.post;
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
end;

procedure TForm2.BitBtn2Click(Sender: TObject);
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit1.setfocus;
end;

procedure TForm2.BitBtn5Click(Sender: TObject);
var ada:boolean;
i:integer;
begin
table1.IndexName:='XNAMA';
ada:=table1.FindKey([edit6.text]);
if ada then
begin
edit1.Text:=table1['NO'];
edit2.Text:=table1['KODE_BARANG'];
edit3.Text:=table1['NAMA_BARANG'];
edit4.Text:=table1['SATUAN'];
edit5.Text:=table1['JUMLAH_STOCK'];
i:=table1.RecNo;
edit6.Text:=inttostr(i);
end
else
showmessage('Barang Tidak Tersedia, Silahkan Cari Yang Lain');
edit6.Text:='';
edit6.SetFocus;
end;

procedure TForm2.BitBtn3Click(Sender: TObject);
begin
if(application.messagebox('Anda Yakin Akan Menghapusnya?','Peringatan', mb_yesno or mb_iconwarning)=idyes) then
table1.Delete;
table1.refresh;
end;

procedure TForm2.BitBtn4Click(Sender: TObject);
begin
showmessage('Terima Kasih Atas Kunjungannya');
close;
end;

end.

___________________________________________________________

Untuk bisa menggunakan tombol search, kita harus membuat dulu secondary indexnya. Di sini saya menggunakan nama 'XNAMA' untuk index fieldnya.
Untuk lebih jelasnya, silahkan anda bisa download database dan index fieldnya KLIK DI SINI saya juga menyertakan file gambar iconnya. 
Sekian dulu tutorial kali ini, selamat bereksperimen. semoga dapat bermanfaat bagi pembaca semuanya. Terima kasih.

5 comments:

  1. thanks sharing ilmunya gan...

    ReplyDelete
  2. yoyoi gan.... sama sama...

    senang bisa membantu...

    ReplyDelete
  3. kalo pencarian 2 variable gmn y boz...misal: laporan harian terdiri dari jam dan hari... jika hanya mengguanakan hari / tgl untuk variable pencarian akan terjadi error. dikarenakan data tanggal yang sama lebih dari 1. jika variabelnye jam. juga tidak bisa. karena data jam juga lebih dari satu.....mohon bantuannya.. hendrik_bbt@yahoo.co.id

    ReplyDelete
    Replies
    1. terima kasih Agan dah mampir,
      saya akan coba menjawab pertanyaan agan, walaupun saya sendiri masih kekurangan ilmu pengetahuan ... hehe :D

      Kalo untuk pencarian 2 variabel, kemungkinan kita juga harus membuat index name nya tidak hanya satu, tapi juga dua. Pada prinsipnya, langkahnya juga sama...

      Semoga bisa membantu, thanks...

      Delete

Agar lebih baik lagi, silahkan isi comment-nya...