jump to navigation

Mengurutkan Data Pada Crystal Report Secara Dinamis Wed - Jun 28, 2000

Posted by supriyatna in Programming, Windows.
Tags: , , ,
trackback

Pernah kerepotan untuk mengurutkan data pada Crystal Report?, mudah sekali bukan?, Tapi bagaimana jika mengurutkan data secara dinamis? yaitu data diurutkan sesuai dengan pilihan yang ada pada form VB. Contoh: misalkan data diurutkan berdasarkan pilihan SESSION_ID, NAMA atau EMAIL. Biasanya setiap programmer akan selalu membuat beberapa report yang sama namun memiliki kriteria penyortiran yang berbeda. Sekarang silahkan anda gunakan metoda yang lebih baik, yaitu hanya menggunakan satu buah report untuk sortir dengan kriteria yang berbeda.

Pada Crystal Report fasilitas untuk mengurutkan data yaitu dengan menggunakan Group. Jika ingin mengurutkan data berdasarkan SESSION_ID maka harus dibuat Group Session_ID, sedangkan jika ingin diurutkan berdasarkan NAMA maka Group Nama harus dibuat. Lalu bagaimana jika ingin menampilkan data yang sama namun memiliki kriteria pengurutan yang berbeda-beda. Apakah jika ada SEPULUH buah kriteria maka harus dibuat SEPULUH buah report?. Wow! Kalau begitu caranya, membuat Report ternyata benar-benar REPOT.

Sorting data crystal report

Sebetulnya dengan sedikit akal-akalan masalah ini dapat dengan mudah diatasi. Mungkin boleh juga cara ini disebut dengan cara CURANG. Caranya? Betul!… yaitu dengan menggunakan formula agar parameternya dapat dikirim melalui Applikasi VB. Buatlah sebuah group dengan menggunakan FORMULA, misalkan formula SORTING. Agar nilai dari formula SORTING dapat diubah-ubah, secara otomatis FORMULA ini harus merupakan Blank Formula -(Formula yang kosong). Kendalanya yang muncul kemudian adalah, pada Crystal Report GROUP yang berasal dari FORMULA tidak dapat dibuat apabila FORMULA tersebut kosong (Blank Formula). Cara mengatasi masalah ini adalah dengan mengisi Formula SORTING dengan Field sesuka anda, tujuannya hanyalah untuk memancing agar GROUP dapat dibuat berdasarkan Formula.

Setelah GROUP selesai dibuat dengan menggunakan Formula SORTING, hapuslah isi dari formula SORTING atau remark statment yang ada didalam formula tersebut, sehingga formula SORTING menjadi Blank Formula.
NB: Untuk meremak baris pada Crystal Report digunakan tanda Double Slash atau ‘//’

Selanjutnya adalah mengirim parameter ke Crystal Report via Applikasi, yaitu dengan men-setting properti .Formulas( nIndex ). Untuk lebih lengkapnya, perhatikan potongan program dibawah.

Private Sub Form_Load()
  lblKeterangan.Caption = "Program ini digunakan menyortir " & _
   vbCrLf & "data secara dinamis pada Crystal Report " & _
   vbCrLf & "supriyatna@mailandnews.com"
End Sub

Private Sub cmdKeluar_Click()
  Unload Me
End Sub

Private Sub cmdCetak_Click()
Dim strSort As String
Dim strJudul As String

  If opSessionID.Value Or opNama.Value Or _
   opEmail.Value Then

   CrystalReport1.ReportFileName=App.Path + _
     "\sortrptdinamic.rpt"
   CrystalReport1.DataFiles(0) = App.Path + "\DB_TEST.mdb"
   CrystalReport1.DiscardSavedData = True
   CrystalReport1.WindowTitle="Sorting data " & _
     Report secara dinamis"
   CrystalReport1.WindowState = crptMaximized

   If opSessionID.Value = True Then
     strSort = "ToNumber( {USERS.SESSION_ID} )"
     strJudul = "'SORTING DATA BERDASARKAN SESSION_ID'"
   ElseIf opNama.Value = True Then
     strSort = "{USERS.NAMA}"
     strJudul = "'SORTING DATA BERDASARKAN NAMA'"
   ElseIf opEmail.Value = True Then
     strSort = "{USERS.EMAIL}"
     strJudul = "'SORTING DATA BERDASARKAN EMAIL ADDRESS'"
   End If
   CrystalReport1.Formulas(0) = "SORTING=" & strSort
   CrystalReport1.Formulas(1) = "JUDUL=" & strJudul

   CrystalReport1.Action = 2
  Else
   MsgBox "Silahkan anda pilih terlebih dahulu kriteria" & _
     vbCrLf & "pengurutan data", vbExclamation, _
     "supriyatna@mailandnews.com"
  End If
End Sub

Comments»

No comments yet — be the first.

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: