Blogku, sebenarnya g tega meninggalkan blog lama2, dah hampir 2 bulan ga sentuh stillcetek :((
Ada yang menanyakan tentang ADO dan MS Access, kebetulan tugas akhir dulu saya menggunakan delphi, dengan ADO Connection, dan MS Access sebagai databasenya, program sederhana ya tapi alhamdulillah bener2 buat sendiri jadi puas sedapatnya.
Ini Contoh program Add :
procedure TFrBarang.BTAddClick(Sender: TObject);
begin
if Application.MessageBox('Benar mau disimpan ?','Konfirmasi',4+32)=idyes then
begin
with ADOobat do
begin
append;
FieldByName('kdobat').AsString:=ed1.Text;
FieldByName('nmobat').AsString:=ed2.Text;
FieldByName('satuan').AsString:=ed3.Text;
FieldByName('harga').AsFloat:=StrToInt(ed4.Text);
FieldByName('stok').AsInteger:=StrToInt(ed5.Text);
FieldByName('kdjenis').AsString:=DbJenis.KeyValue;
post;
end;
end;
end;
Saya menggunakan method Append; dan Post; untuk save data, ADOobat adalah Ado table yang saya rename, kalo untuk Edit data tinggal ganti Append dengan Edit;
Untuk pencarian saya gunakan query, contohnya sebagai berikut; contoh mencari Obat sesuai kodenya:
With ADOobat Do
begin
Close;
Sql.Clear;
sql.Add('Select * From tb_obat Where kode_obat=:kd');
Prepared;
Parameters.Items[0].Value:=comboObat.KeyValue;
Open;
if Not Eof then
ed2.Text:=FieldByname('nama_obat').AsString;
end;
Close : tutup koneksi
sql.clear : bersihkan query yang mungkin sudah ada sebelumnya
sql.Add : buat query pencariannya
Prepared : query dipersiapkan
Parameters : Poin yang dicari; items[0] adalah mengambil nilai parameter pertama yang ada comboObat(Dbcombobox) atau jika ada disebuah textbox maka text.text;
Jika ketemu maka contoh nama obat akan di tampilkan di ed2;
Contoh dengan dua parameter pencarian; Mencari data di table tbbeli dengan nofaktur tertentu dan kode barang tertentu:
With DM.Abeli Do
begin
Close;
Sql.Clear;
sql.Add('Select * From tbbeli where nofaktur=:nf and kdobat=:ko');
Prepared;
Parameters.Items[0].Value:=Ed1.Text;
Parameters.Items[1].Value:=Edit1.Text;
Open;
If not eof then
begin
Date1.Date:=FieldByName('tglbeli').AsDateTime;
DbPasok.KeyValue:=FieldByName('kdpemasok').AsString;
Ed2.Text:=FieldByName('nmpemasok').AsString;
Ed3.Text:=FieldByName('nmobat').AsString;
end
else
begin
MessageDlg('Kode barang '+Edit1.Text+ ' dengan no faktur '+ed1.Text+' tidak ada!',mtInformation,[MbOK],0);
end;
Semoga membantu