Crystal Report : Cara Membuat Font Berubah Warna Ketika Hasil Laporan Minus

Programmer adalah keindahanMalam Jumat biasanya identik dengan hal-hal mistik yang pastinya membuat bulu kuduk merinding. Yang biasanya kalo malam-malam di hari biasa, bunyi suara kodok nga menjadi masalah. Nah, untuk malam Jumat rada beda. Bunyi apapun yang terdengar, ujung-ujungnya mengingatkan pada makhluk ghoib….T – T

Anyway,  sorry udah nge-bacot nga jelas ^-^. Kali ini gw mau sedikit sharing ilmu VB.Net khususnya dalam pengaturan bentuk laporan di Crystal Report. Untuk membuat report bulanan terkadang kita dihadapkan kepada masalah sepele : kalo misalkan hasil bulanan adalah rugi alias minus, bagaimana cara mengubah warna tulisan di laporan. Sehingga terlihat dengan jelas hasil-hasil yang didapat. Apakah bulan ini untung atau rugi?!

 Tanpa berpanjang lebar, mengingat malam Jumat (again…..^-^) gw langsung sharing sedikit cara-cara pembuatannya :

Dalam sharing subuh hari ini, gw menggunakan VB.Net 2008, Crystal Report 10.5, dan SQL Server 2005. Skenario kali ini adalah : Database yang gw buat dikasih nama dummy dan terdapat table yang bernama labarugi. Untuk attributes dari table-nya sendiri adalah : Bulan, Penjualan, Pengeluaran. Atau untuk ringkasnya berikut query untuk database yang bernama dummy :

create table labarugi (
Bulan varchar(30),
Penjualan numeric(18,0),
Pengeluaran numeric(18,0));
insert into labarugi values('Mei 2011','20000000','10000000');
insert into labarugi values('Juni 2011','30000000','10000000');
insert into labarugi values('Juli 2011','25000000','35000000');
insert into labarugi values('Agustus 2011','20000000','30000000');
insert into labarugi values('September 2011','10000000','15000000');

Terlihat didalam database tersebut gw  insert beberapa data. Sehingga memudahkan teman-teman untuk langsung melihat hasilnya.

1. Setelah database dibuat maka sekarang tinggal buat buat Form1 yang gunanya sebagai trigger buat pemanggilan laporan. (Sebenarnya gw udah pernah sharing mengenai cara pemanggilan laporan dari  CrystalReportViewer. Tapi demi kenyamanan teman-teman gw sharing kembali) —- Lihat contoh sebelumnya

2. Adapun di Form1 terdapat 2 properties yaitu : RadioButton dan Button. Untuk RadioButton gw kasih nama RBSeluruh sedangkan untuk Button gw kasih nama BtnOk

Here’s the code :

Public Class Form1
Inherits System.Windows.Forms.Form
Private Sub BtnOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnOk.Click
If RBSeluruh.Checked = True Then
Form2.WindowState = FormWindowState.Maximized
Form2.Show()
End If
End Sub
End Class

Tampak di-coding atas Form2 akan terlihat garis error. It’s ok karena emang kita belum buat Form2-nya…hehehe… ma bad…^-^

3. Sekarang kita beralih ke Form2. Di Form2 sendiri teman-teman dapat men-drag CrystalReportViewer yang berada di toolbox bagian reporting. Teman-teman tinggal drag-and-drop di Form2. Setelah selesai men-dragging-nya, sekarang tinggal bagian coding.

Here’s the code :

Imports System.Data.SqlClient
Imports System.Data
Public Class Form2
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim rpt As New crLaporan()
Dim myConnection As SqlConnection
Dim MyCommand As New SqlCommand()
Dim myDA As New SqlDataAdapter()
Dim myDS As New DataSetLabaRugi()

Try
myConnection = New SqlConnection("Data Source=.\SQLEXPRESS;Initial Catalog=dummy;Integrated Security=True")
MyCommand.Connection = myConnection
MyCommand.CommandText = "SELECT * from labarugi"
MyCommand.CommandType = CommandType.Text
myDA.SelectCommand = MyCommand

myDA.Fill(myDS, "labarugi")
rpt.SetDataSource(myDS)
CrystalReportViewer1.ReportSource = rpt

Catch Excep As Exception
MessageBox.Show(Excep.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub

End Class

Terlihat beberapa error code diatas.  Just take in easy way…^-^……Sekarang akan terlihat  crLaporan.  Nah crLaporan ini merupakan Crystal Report yang akan kita buat di step selanjutnya. Adapun DataSetLabaRugi merupakan Dataset dari database yang kita buat. Akan gw jelaskan di step selanjutnya juga….

4. Sekarang kita buat Dataset-nya. Untuk pembuatannya sendiri, teman-teman tinggal klik add-new items dari project yang dibuat. Dan pilih bagian Data. Nah disitu akan terlihat DataSet. Teman-teman tinggal klik dan beri nama DataSetLabaRugi. Biar kompakan kita…hehe.  Setelah dataset jadi, maka teman-teman akan dibawa ke halaman dataset. Mudah kok, teman-teman tinggal drag database yang bernama labarugi tadi ke halaman muka / interface dari  DataSetLabaRugi.

5. Langkah selanjutnya adalah pembuatan laporan. Seperti biasa, teman-teman tinggal klik add-new items dari project yang dibuat. Dan pilih bagian Reporting. Akan jelas terlihat Crystal Report disana. Tinggal klik dan beri nama crLaporan.

6. Masukkan semua data-data dari table labarugi seperti biasa dalam pembuatan laporan yaitu : Bulan, Penjualan, dan Pengeluaran .  Ok, apabila telah selesai maka langkah berikutnya adalah pembuatan field  Total Laba Rugi di crystal report. Gimana cara buatnya?

Here’s the steps :

a.  Lihat di Field Explorer dari crystal report yang telah dibuat. Disana akan terlihat  Formula Fields. Nah teman-teman tinggal klik kanan dan klik New. Akan terlihat show message box Formula Name. Tinggal isikan nama sesuai keinginan teman-teman. Apabila sudah diisikan, maka tinggal klik Use Editor.

b. Selanjutnya teman-teman akan dibawa ke halaman Formula Workshop – Formula Editor. Nah disini tinggal klik dua kali pada bagian Report Field (Penjualan dan Pengeluaran) serta Operatos – Arithmetic – Substract (karena kita ingin mencari laba bersih). Untuk lebih mudahnya, gw sharing picture-nya

formula editor interface
Setelah formula tersebut dibuat, sekarang tinggal drag-and-drop hasil formula tersebut ke crystal report. Berikut tampilannya :

crystal report tampilan

Setelah kelar dalam penanganan data di crystal report, sekarang kita kebagian inti dari posting-an gw kali ini. Yaitu formula editor yang memungkinkan pengubahan warna tulisan apabila hasil dari report negatif atau rugi.

Sekarang kita ke bagian Details dari formula (@LabaRugi) yang baru kita buat.  Klik kanan pada bagian formula tersebut. Terus kita ke Formula Object > Font 

Pada bagian Color akan terlihat tanda X+2. Klik pada bagian tersebut. Dan teman-teman akan dibawa lagi ke bagian Formula Editor. Nah sekarang teman-teman tinggal memasukan coding sbb :

if {labarugi.Penjualan}<{labarugi.Pengeluaran} then cryellow else crblack 

Setelah kelar memasukan coding diatas maka tinggal save and close pada bagian pojok atas dari Formula Editor. Selanjutnya jangan lupa menekan tombol OK pada Formula Editor untuk memastikan coding tersebut ter-saving.

Coding sederhana diatas menjelaskan apabila penjualan lebih kecil dari pengeluaran maka report pada laba rugi akan berubah warna tulisannya menjadi warna kuning.

Dan sekarang telah selesai!!!! Jalankan program. Form1 merupakan program utama.

Mudahkan? ^-^v

O iya, ini merupakan salah satu program yang gw buat karena kebetulan ada e-mail dari teman-teman yang request masalah ini. Thanks buat requesting-nya. Untuk lebih memudahkan teman-teman sekalian dalam memahami konsep yang gampang ini (maklum gw masih sangat beginner) maka gw share Download Program

Tagged , , , , , , ,

3 thoughts on “Crystal Report : Cara Membuat Font Berubah Warna Ketika Hasil Laporan Minus

  1. Story added…

    Your story was featured in Populerkan.com! Here is the link to vote it up and promote it: http://populerkan.com/node/6185

  2. halobro says:

    sorry baru OL nih..wah sy agak awam yg beginian, but thanks sharenya kawan..

    • Sama-sama halobro ^-^….Gw juga baru belajar programming. Nah pas ada ilmu baru, baiknya di share ke teman2 yang lain. Biar ilmu-nya banyak yang dipakai…^-*
      Ayo halobro, kita belajar programming khususnya VB.Net sama2…hehehe

      anyway blognya inspiratif…..salut….

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: