Arsip: menampilkan record (dalam DBgrid) sesuai dengan kata kunci..

 
user image
more 17 years ago

divanda

mohon bantuannya.. saya new bie di delphi dan masih baru belajar untuk memperdalam.. saya mendapat project dari dosen saya untuk membuat program dengan database untuk simulasi sistem denda di perpustakaan.. nah disini saya membuat database dengan MS access dengan nama "library.mdb" kemudian di dalamnya ada table bernama "debit" yang atributnya studentID, category dan amount. nah saya sudah mencoba membuat koneksinya dengan ODBC dan berhasil menampilkan record yang ada di tabel debit ke program aplikasi saya. yang ingin saya tanyakan adalah di program saya ada fungsi pencarian, jadi ketika kita memasukkan nomr studentID kemudian klik button "check" maka nantinya yang tampil adalah DBgrid khusus record sesuai dengan nomor studentID bukan smua record yang ada di tabel debit. bagaimanakah cara menampilkan DBgrid yang khusus untuk menampilkan record sesuai nomor studentID itu? jika nomor studentID itu tidak mempunyai denda maka DB grid tidak akan ditampilkan melainkan hanya sebuah box konfirmasi yang menyatakan bahwa nomor student ID ini tidak mempunyai denda.. saya bingung dan masih tidak mempunyai gambaran bagaimana membuatnya? adakah disini yang bisa memberikan saya gambaran dan saran untuk membuatnya.. atau ada yang pernah punya pengalaman membuat sistem ini, mohon skali bantuannya dan pencerahannya.. terimakasih
user image
more 17 years ago

nurez

wahhhh... masalahnya si sidikit.. tp to the point ajha yha... pusingg ngeliatnya... :( pakai : with adoquer1 do begin select * from tableA where idstud =:idstud or denda=:denda parameters[0].value:=id.text... dst.. if adoquer1.findprior do begin showmessage('udah bayar, ngga ada denda'); end; showmessage(blumbayar.. tagih tuhh..!!); end; blum dicoba sih.. hanya inget2aj.. sptinya bener.. coba dlo yha.. makasieh...
user image
more 17 years ago

hasan_plg

Jika menggunakan ADOTable: - pada ADOTable -> Event OnFilter, tambahkan command sbb: Accept := (ADOTable1.FieldByName('StudentID').AsString = Edit1.Text); Jika menggunakan ADOQuery: - pada Edit1 - > Event OnChange, command sbb: ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('SELECT * FROM "debit" WHERE StudentID LIKE '+Edit1.Text+'%'); ADOQuery1.Open;
user image
more 17 years ago

alieng24

jika menggunakan BDE kalo gaksalah hehe : begin with query1 do begin close; query1.clear; sql.add('select * from (namatable) where (kondisinya)'); open; end; end;
user image
more 17 years ago

divanda

@hasan_plg: Jika menggunakan ADOTable: - pada ADOTable -> Event OnFilter, tambahkan command sbb: Accept := (ADOTable1.FieldByName('StudentID').AsString = Edit1.Text); Jika menggunakan ADOQuery: - pada Edit1 - > Event OnChange, command sbb: ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('SELECT * FROM "debit" WHERE StudentID LIKE '+Edit1.Text+'%'); ADOQuery1.Open;
karena menggunakan ADO, maka saya mencoba langkah yang anda berikan. untuk ini apakah properties Filtered diganti menjadi 'TRUE'? lalu untuk button CHECK commandnya apa? kan button itu merupakan trigger untuk menampilkan data sesuai dengan Student ID yang dimasukkan. mohon bantuannya, saya baru beberapa hari mempelajari delphi dan masih agak awam.. Terimakasih..
user image
more 17 years ago

divanda

Jadi begini, pada interface saya yang akan muncul hanyalah 1 edit box dan 1 button bernama 'CHECK' setelah user memasukkan nomor studentID pada edit box kemudian meng-klik button 'CHECK' maka akan nampak tabel debit yang isinya tagihan/bill nomor yang bersangkutan tadi.. jika tidak maka hanya muncul konfirmasi bahwa tidak ada tagihan. nah cara menampilkan tabel itu dalam bentuk DBGrid bagaimana? disini saya menggunakan ADO bukan BDE. Untuk command check nya itu, bagaimana listing nya? mohon pencerahannya.. terimakasih..
user image
more 17 years ago

cyber_hecker

disini saya beri contoh penfilteran query sederhana. silakan dikembangkan lebih lanjut : jika tidak ditemukan data : jika ditemukan data : kode :
unit uFCariDenda;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, Grids, DBGrids, DB, ADODB;
type
  TFCariDenda = class(TForm)
    adoCon: TADOConnection;
    qDebet: TADOQuery;
    qDebetID: TAutoIncField;
    qDebetStudentID: TWideStringField;
    qDebetCategory: TWideStringField;
    qDebetAmount: TFloatField;
    dsDebet: TDataSource;
    DBGrid1: TDBGrid;
    edStudentID: TEdit;
    edCategory: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    btnFilter: TBitBtn;
    btnAll: TBitBtn;
    btnClose: TBitBtn;
    procedure FormShow(Sender: TObject);
    procedure btnFilterClick(Sender: TObject);
    procedure btnAllClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
const
  strQuery = 'SELECT  FROM tbDebet';
  
var
  FCariDenda: TFCariDenda;
implementation
{$R  .dfm}
procedure TFCariDenda.FormShow(Sender: TObject);
begin
  ( buka query secara keseluruhan  )
  with qDebet do begin
    SQL.Text := strQuery;
    Open;
  end;
  ( kosongkan edit box untuk pencarian  )
  edStudentID.Clear;
  edCategory.Clear;
end;
procedure TFCariDenda.btnFilterClick(Sender: TObject);
begin
  ( filter query berdasarkan kriteria yang diisi pada editbox  )
  with qDebet do begin
    Close;
    SQL.Text := strQuery;
    SQL.Append('WHERE Amount > 0');
    if edStudentID.Text <> '' then
      SQL.Append('AND StudentID = '+QuotedStr(edStudentID.Text));
    if edCategory.Text <> '' then
      SQL.Append('AND Category = '+QuotedStr(edCategory.Text));
    Open;
    if RecordCount < 1 then begin
      MessageDlg('Maaf Data Yang Dicari Tidak Ada !',mtWarning,[mbOK],0);
    end;
  end;
end;
procedure TFCariDenda.btnAllClick(Sender: TObject);
begin
  ( tampilkan semua data  )
  with qDebet do begin
    Close;
    SQL.Text := strQuery;
    Open;
  end;
end;
end.
happy coding... :D
user image
more 17 years ago

divanda

qDebetID: TAutoIncField; qDebetStudentID: TWideStringField; qDebetCategory: TWideStringField; qDebetAmount: TFloatField; maaf, bisa diberi penjelasan tentang ini? kalo database saya dari MS Access bisa kan? seperti contoh diatas itu DB nya menggunakan apa ya? sebelumnya terimakasih banyak atas pencerahannya.. tapi saya masih agak2 bingung.. maklum baru belajar seminggu lalu..
user image
more 17 years ago

cyber_hecker

contoh diatas, database yang digunakan juga access. untuk qDebetID, qDebetStudentID itu adalah nama field yang di buat dari field editor. doble klik pada komponen ADOQuery yang telah diberi syntaq query 'SELECT * FROM tbDebet', setelah muncul field editor. tekan tombol CTRL+F (add all field) beres deh..
more ...
  • Pages:
  • 1
Share to

AI Forward

🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now: https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com