Arsip: Cara menampilkan data di DBGrid secara mendatar

more 17 years ago
murphy
Teman2,
Bisa bantuin saya untuk menampilkan data di dbgrid secara mendatar? Misalnya gini nih, data penjualan item (item A dan B) tiap bulan ingin ditampilkan di dbgrid dengan format :
A 10 30 40 25 ... dst
B 75 81 40 93 ... dst
Trims.

more 17 years ago
kaka-delphi
Sebelumnya anda menggunakan database apa ? Klo misal pake dbf, ga tau dech .... mendingan kabur aja ... wakakakakakkaakak ... :lol:
Tapi mungkin penjelasan berikut setidaknya dapat membantu ....
Misal saya punya tabel sebagai berikut :
CREATE TABLE tb_barang (
KdBarang int(10) unsigned NOT NULL auto_increment,
NamaBarang varchar(45) NOT NULL,
PRIMARY KEY (KdBarang)
)
CREATE TABLE tb_penjualan (
KdPenjualan int(10) unsigned NOT NULL auto_increment,
Tanggal date NOT NULL,
PRIMARY KEY (KdPenjualan)
)
CREATE TABLE tb_penjualan_detail (
KdPenjualan int(10) unsigned NOT NULL,
KdBarang int(10) unsigned NOT NULL,
Qty int(10) unsigned NOT NULL,
PRIMARY KEY (KdPenjualan,KdBarang),
KEY FK_tb_penjualan_detail_2 (KdBarang),
CONSTRAINT FK_tb_penjualan_detail_1
FOREIGN KEY (KdPenjualan) REFERENCES tb_penjualan (KdPenjualan) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT FK_tb_penjualan_detail_2
FOREIGN KEY (KdBarang) REFERENCES tb_barang (KdBarang) ON UPDATE CASCADE
)
Untuk mendapatkan hasil sum tiap barang perbulan dari tabel penjualan detail, bisa menggunakan skrip berikut :
SELECT SUM(pj.Qty)
FROM tb_penjualan_detail pj
JOIN tb_penjualan p ON (pj.KdPenjualan=p.KdPenjualan)
WHERE pj.KdBarang=:pKdBarang
AND MONTH(p.Tanggal)=:pBulan
AND YEAR(p.Tanggal)=:pTahun;
Terlihat di skrip di atas ada 3 parameter. Parameter 1 :pKdBarang untuk Kode Barang, Parameter 2 :pBulan untuk menyeleksi perbulan, Parameter 3 :pTahun untuk menyeleksi pertahun.
Yupz, tentunya skrip di atas mengahasilkan jumlah cuman satu 1 bulan dan 1 tahun yang diminta aja .. lho lalu gimana caranya supaya bisa semuanya ... tenang ..
bersambung ke halaman berikutnya .... :lol: :wink:
more 17 years ago
kaka-delphi
Nach untuk memudahkan, kita buat Store Procedure (dalam hal ini saya asumsikan memakai database MySQL 5.0).
Kutipan skrip diatas menjadi berikut :
Ada cara yang lebih simple lagi ? ...
xixixxiiiiii kasih tau dunk
CMIIW
Untuk contoh source code dapat di download di PublicFolder dengan nama Totaled.rar
Tetep Semangat !!!
Support To Luri Darmawan
Note :
Contoh source code memakai database MySQL versi 5.0. Untuk restore databasenya bisa pake file db.sql
Koneksi ke MySQL pake komponen ZEOS. Klo yang ga punya, ga tau dech ..... xixixixixixixiiiiii ....
DELIMITER $$
DROP FUNCTION IF EXISTS demodb.Bulan$$
CREATE FUNCTION Bulan(pBulan INT, pTahun INT, pKdBarang INT) RETURNS int(11)
BEGIN
DECLARE x INT;
SELECT SUM(pj.Qty)
INTO x
FROM tb_penjualan_detail pj
JOIN tb_penjualan p ON (pj.KdPenjualan=p.KdPenjualan)
WHERE pj.KdBarang=pKdBarang
AND MONTH(p.Tanggal)=pBulan
AND YEAR(p.Tanggal)=pTahun;
RETURN x;
END$$
DELIMITER ;
Sekarang kita buat query sebagai berikut :
SELECT b.NamaBarang,
Bulan(1,2006,b.KdBarang) AS Jan,
Bulan(2,2006,b.KdBarang) AS Feb,
Bulan(3,2006,b.KdBarang) AS Mar,
Bulan(4,2006,b.KdBarang) AS Apr,
Bulan(5,2006,b.KdBarang) AS Mei,
Bulan(6,2006,b.KdBarang) AS Jun,
Bulan(7,2006,b.KdBarang) AS Jul,
Bulan(8,2006,b.KdBarang) AS Aug,
Bulan(9,2006,b.KdBarang) AS Sep,
Bulan(10,2006,b.KdBarang) AS Oct,
Bulan(11,2006,b.KdBarang) AS Nov,
Bulan(12,2006,b.KdBarang) AS Des
FROM tb_barang b
Dan hasilnya sebagai berikut :


more 17 years ago
arbain
@arbain: Teman2, Bisa bantuin saya untuk membuat aplikasi didelphi menggunakan package sehingga aplikasi saya bisa diinstal layaknya sofware yang bisa diinstal dimana saja example program ninstal game :roll: Trims.:roll:

more 15 years ago
e_soep
maaf nih temen2...terpaksa aq buka kasus lama, coz yg aq cari ternyata tread ini...n ternyatanya lagi...tread ini belum terselesaikan...padahal aq butuh itu jg...dbgrid yang bisa menampilkan data secara mendatar...

more 15 years ago
betamax
@ e_Sop
DB Grid secara mendatar itu vertikal apa horizontal : asumsi mendatar adalah horizontal.
dimana mana database arah horizontal adalah hasil dari query, baik satu tabel atau multi tabel.
kalo lihat kasus mu mungkin cara manualnya buat tabel temproary 13 field.
field pertama di isi kode barang, field ke dua sampat 13 di isi jumlah transaksi. cara ngisinya terserah anda, mo pake query ato manual looping juga gpp. authorized aja kok.
tampilin di grid nya manual juga. coba di oprek properti grid nya adanya apa saja.
emt mencoba yah. :)
more ...
- Pages:
- 1
reply |
Report Obsolete
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 3 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 3 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 3 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 3 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 3 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 11 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 11 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 11 years ago
Random Topic
- Run Delphi in Web ???
by jancky in Tip n Trik Pemrograman more 15 years ago - konversi data
by lagisedih in Network, Files, I/O & System more 14 years ago - [?] Fungsi Tombol Enter di DBGrid (Beda Kasus...)
by babypigs in Tip n Trik Pemrograman more 15 years ago - Error Terbilang di Fastreport
by delphi1st in Reporting more 15 years ago - ukuran form vs resolusi
by dinox in Enginering more 17 years ago - Laporan seminar Code-Gear
by DelphiExpert in OOT more 16 years ago - Setting Untuk Client???
by bayu in MySQL more 16 years ago - Sertifikasi Delphi-ID
by ImanD in Moderator Only more 13 years ago - Masalah Pendistribusian Aplikasi
by jimbot in Hal umum tentang Pascal Indonesia more 15 years ago - [ASK] Tentang Count
by j3free in MySQL more 14 years ago