Menyisipkan Judul Report didalam Statement SQL

Wednesday, August 6, 2008
Inti dari tutorial ini adalah menunjukan bagaimana caranya menyisipkan string reguler didalam statement SQL. String reguler disini maksudnya adalah string yang bukan nilai dari sebuah table di dalam Database. Contoh :

SELECT 'Daftar Produk (Seluruh)' AS Judul, ProductID,ProductName
FROM Products

Judul ProductID ProductName
------------- ----------- ----------------------------------------
Daftar Produk 17 Alice Mutton
Daftar Produk 3 Aniseed Syrup
Daftar Produk 40 Boston Crab Meat
Daftar Produk 60 Camembert Pierrot
Daftar Produk 18 Carnarvon Tigers
Daftar Produk 1 Chai
. . . .
. . . .

77 rows selected

Statement SQL diatas akan menambahkan kolom JUDUL yang berisi nilai yang sama pada output query nya. nilai-nilai yang ada dibawah kolom JUDUL bukan merupakan nilai-nilai yang ada di table PRODUCTS, melainkan string biasa yang kita sertakan dalam Statement SQL nya. dibawah ini saya akan memperlihatkan contoh bagaimana metode ini dipakai untuk menyisipkan judul laporan yang berbeda kedalam SQL Statement menggunakan hanya satu komponen FastReport di Delphi.

Cara ini biasa saya gunakan untuk menghasilkan judul report berdasarkan parameter yang saya inputkan. misalnya saya akan menampilkan laporan daftar produk per supplier dan ingin agar judul report sesuai dengan nama supplier yang ingin saya cetak misalnya judul report nya ingin seperti ini : 'Daftar Produk Supplier : PT. ABC', 'Daftar Produk Supplier : PT. XYZ' dst dengan catatan struktur kolom dari report tersebut sama. Jadi parameternya saya sisipkan kedalam SQL Statement yang digunakan untuk pengambilan datanya. Sebagai contoh dibawah ini saya perlihatkan bagaimana caranya menyisipkan judul untuk report kedalam sebuah SQL statement menggunakan komponen FastReport dan ADOQuery di Delphi.

procedure TForm1.Button1Click(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('SELECT ');
adoquery1.SQL.Add('''Daftar Produk Supplier : ''+a.CompanyName as Judul,');
adoquery1.SQL.Add('B.ProductID,A.CompanyName,b.ProductName,');
adoquery1.SQL.Add('b.QuantityPerUnit,b.UnitPrice,b.UnitsInStock ');
adoquery1.SQL.Add('FROM suppliers a, Products b ');
adoquery1.SQL.Add('where a.SupplierID=b.SupplierID ');
adoquery1.SQL.Add('AND a.CompanyName = :CN');
adoquery1.Parameters[0].Value := combobox1.Text;
adoquery1.Prepared := true;
adoquery1.Open;

//kalau data ada
if adoquery1.RecordCount > 0 then
frxReport1.ShowReport();

end;


kamu bisa lihat didalam Statement SQL diatas saya sisipkan string 'Daftar Produk Supplier :' yang digabung dengan nilai CompanyName dari table Suppliers yang kemudian dialiaskan sebagai kolom/field Judul yang nantinya field/kolom Judul ini akan saya tempatkan di report sebagai judul report. agar lebih jelas kamu bisa lihat gambar dibawah ini :

Report Design
Report Design

Application Runtime
Application Runtime


Report Runtime
Report Runtime

Dengan metode ini kamu bisa memberikan judul report yang lebih detail tanpa harus memboroskan pemakaian komponen untuk mencetak berbagai report yang mempunyai struktur kolom yang sama.

Download Source Code Aplikasi ini disini.

3 comments:

Agus said...

Bisa minta tolong publishkan artikel cara pembuatan program backup registry menggunakan delphi,
Terima kasih sebelumnya...

hanung said...

haii kak aku minta source tutorial ini dunkk leas kirim ke email ku pranata_mahta@yahoo.co.id

hanung said...

http://www.rumahdietnutrisi.com

Recent Comments

Tags Cloud

Blogumulus by Roy Tanck and Amanda Fazani