Lanjutan pembuatan Crystal Report di VB2010
Dalam membuat Program Cetakan di VB-2010 harus di Rancang lebih dahulu
masalah Database - Tabel - Field nya supaya enak waktu pasang di Crstal Report.
Untuk itu Tabel dikususkan untuk Program Cetakan tersebut
Jadi setiap panggil Cetakan Tabel diKosongi dan di Isi lagi sesuai data yg di harapkan.
Untuk Hal ini sebaiknya di buat Procedure nya MYSQL
sebagai contoh :
CREATE DEFINER=`root`@`%` PROCEDURE `Tes_Kasirz`( in mnoinv char(20))
BEGIN
DECLARE vkuncih char(10);
DECLARE vkunci char(17);
DECLARE vtanggal char(10);
DECLARE vnoinv char(20);
DECLARE vtorder char(4);
DECLARE vcustomercode char(10);
DECLARE vcustomername char(50);
DECLARE valamat char(100);
DECLARE vnoitem INT;
DECLARE vkdrang char(15);
DECLARE vnamrang char(25);
DECLARE vkwarna char(3);
DECLARE vwarna char(25);
DECLARE vjumlah INT;
DECLARE vhsat INT;
DECLARE vstot INT;
DECLARE vpdiskont INT;
DECLARE vdiskont INT;
DECLARE vuang INT;
DECLARE habis BOOLEAN DEFAULT FALSE;
DECLARE kursor CURSOR FOR
Select a.kuncih, a.kunci, a.tanggal, a.torder, a.noinv, a.customercode,b.customername,b.alamat, a.noitem, a.kdrang, a.namrang, a.kwarna, a.warna, a.jumlah, a.hsat, a.stot, a.pdiskont, a.diskont, a.uang from silinek a inner join customer b on a.customercode = b.customercode where a.noinv = mnoinv;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000'
SET habis = TRUE;
DELETE FROM CETKASIR;
OPEN kursor;
REPEAT
FETCH kursor INTO vkuncih,vkunci,vtanggal,vtorder,vnoinv,vcustomercode,vcustomername,valamat,vnoitem,vkdrang,vnamrang,vkwarna,vwarna,vjumlah,vhsat,vstot,vpdiskont,vdiskont,vuang;
IF habis = FALSE THEN
INSERT INTO CETKASIR(kuncih,kunci,tanggal,torder,noinv,customercode,customername,alamat ,noitem,kdrang,namrang,kwarna,warna,jumlah,hsat,stot,pdiskont,diskont,uang)
VALUES (vkuncih,vkunci,vtanggal,vtorder,vnoinv,vcustomercode, vcustomername,valamat ,vnoitem,vkdrang,vnamrang,vkwarna,vwarna,vjumlah,vhsat,vstot,vpdiskont,vdiskont,vuang);
END IF;
UNTIL habis END REPEAT;
CLOSE kursor;
END;
Draftnya bisa do Dwnload di sini
lihat gambar :
Lihat di gambar panah atas di Klik 2 kali dan isikan :
Private Sub cetak_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cetak.Click
Try
konek()
Dim cmd As New MySqlCommand("call Tes_Kasirz('SI-C-20130517-0002')", db)
cmd.ExecuteNonQuery()
DisplayData()
Catch ex As Exception
MsgBox(ex.Message)
End Try
Form2.Show()
End Sub
keterangan :
call Tes_Kasirz('SI-C-20130517-0002') perintah panggil Procedure
Form2.Show() jalankan crystal report yg datanya ( Tabel ) hasil proses Procedure tsb.
db = Dim serv As String = "Server=192.168.1.8;"
Dim dbase As String = "Database=jualan;"
Dim uid As String = "uid=root;"
Dim pwd As String = "pwd=root;"
Dim ConString = serv & dbase & uid & pwd
Public db As New MySqlConnection(ConString)
Public Sub konek()
Try
tutupDB()
db.Open()
MsgBox("Koneksi DataBase berhasil dilakukan")
Catch ex As MySqlException
MsgBox(ex.Message)
MsgBox("Koneksi tidak berhasil dilakukan")
End Try
End Sub
Hasilnya :
Dalam membuat Program Cetakan di VB-2010 harus di Rancang lebih dahulu
masalah Database - Tabel - Field nya supaya enak waktu pasang di Crstal Report.
Untuk itu Tabel dikususkan untuk Program Cetakan tersebut
Jadi setiap panggil Cetakan Tabel diKosongi dan di Isi lagi sesuai data yg di harapkan.
Untuk Hal ini sebaiknya di buat Procedure nya MYSQL
sebagai contoh :
CREATE DEFINER=`root`@`%` PROCEDURE `Tes_Kasirz`( in mnoinv char(20))
BEGIN
DECLARE vkuncih char(10);
DECLARE vkunci char(17);
DECLARE vtanggal char(10);
DECLARE vnoinv char(20);
DECLARE vtorder char(4);
DECLARE vcustomercode char(10);
DECLARE vcustomername char(50);
DECLARE valamat char(100);
DECLARE vnoitem INT;
DECLARE vkdrang char(15);
DECLARE vnamrang char(25);
DECLARE vkwarna char(3);
DECLARE vwarna char(25);
DECLARE vjumlah INT;
DECLARE vhsat INT;
DECLARE vstot INT;
DECLARE vpdiskont INT;
DECLARE vdiskont INT;
DECLARE vuang INT;
DECLARE habis BOOLEAN DEFAULT FALSE;
DECLARE kursor CURSOR FOR
Select a.kuncih, a.kunci, a.tanggal, a.torder, a.noinv, a.customercode,b.customername,b.alamat, a.noitem, a.kdrang, a.namrang, a.kwarna, a.warna, a.jumlah, a.hsat, a.stot, a.pdiskont, a.diskont, a.uang from silinek a inner join customer b on a.customercode = b.customercode where a.noinv = mnoinv;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000'
SET habis = TRUE;
DELETE FROM CETKASIR;
OPEN kursor;
REPEAT
FETCH kursor INTO vkuncih,vkunci,vtanggal,vtorder,vnoinv,vcustomercode,vcustomername,valamat,vnoitem,vkdrang,vnamrang,vkwarna,vwarna,vjumlah,vhsat,vstot,vpdiskont,vdiskont,vuang;
IF habis = FALSE THEN
INSERT INTO CETKASIR(kuncih,kunci,tanggal,torder,noinv,customercode,customername,alamat ,noitem,kdrang,namrang,kwarna,warna,jumlah,hsat,stot,pdiskont,diskont,uang)
VALUES (vkuncih,vkunci,vtanggal,vtorder,vnoinv,vcustomercode, vcustomername,valamat ,vnoitem,vkdrang,vnamrang,vkwarna,vwarna,vjumlah,vhsat,vstot,vpdiskont,vdiskont,vuang);
END IF;
UNTIL habis END REPEAT;
CLOSE kursor;
END;
Draftnya bisa do Dwnload di sini
lihat gambar :
Lihat di gambar panah atas di Klik 2 kali dan isikan :
Private Sub cetak_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cetak.Click
Try
konek()
Dim cmd As New MySqlCommand("call Tes_Kasirz('SI-C-20130517-0002')", db)
cmd.ExecuteNonQuery()
DisplayData()
Catch ex As Exception
MsgBox(ex.Message)
End Try
Form2.Show()
End Sub
keterangan :
call Tes_Kasirz('SI-C-20130517-0002') perintah panggil Procedure
Form2.Show() jalankan crystal report yg datanya ( Tabel ) hasil proses Procedure tsb.
db = Dim serv As String = "Server=192.168.1.8;"
Dim dbase As String = "Database=jualan;"
Dim uid As String = "uid=root;"
Dim pwd As String = "pwd=root;"
Dim ConString = serv & dbase & uid & pwd
Public db As New MySqlConnection(ConString)
Public Sub konek()
Try
tutupDB()
db.Open()
MsgBox("Koneksi DataBase berhasil dilakukan")
Catch ex As MySqlException
MsgBox(ex.Message)
MsgBox("Koneksi tidak berhasil dilakukan")
End Try
End Sub
Hasilnya :
Tidak ada komentar:
Posting Komentar