Diberdayakan oleh Blogger.

Sabtu, 19 Januari 2013

Membuat Laporan dengan Crystal Report 8.5, Visual Basic 6, dan Microsoft Access 2007


Keliling-keliling, saya nemu cara pembuatan laporan ini di http://qie-belajarvb.blogspot.comLangsung sj sekalian ditambah-tambahin biar komplit, hehe.

Paling  mudah membuat laporan dengan Crystal Report 8.5 kalau menggunakan Access 2003 kebawah, kita bisa langsung memanggil filenya tanpa perlu repot menggunakan seting ODBC. Untuk bisa mengakses Access 2007 lewat Crystal Report 8.5 kita perlu koneksi ODBC.

Requirement :

  • Visual Basic 6.0 
  • Crystal Report 8.5 dan
  • Microsoft Access 2007
Langkah:
  1. Buat koneksi ODBC
  2. Buat file Report dengan Crystal Report
  3. Buat Coding di Visual Basic

Buat Koneksi ODBC

  • Buka control panel
  • pilih Administrative Tools
  • Double Klik Data Source (ODBC), sehingga memunculkan dialog:
Data Source ODBC
  • Klik Add, akan muncul Form "Create New Data Source"
  • Pilih "Microsoft Access Driver(*.mdb,*.accdb)" 
  • kemudian klik finish kemudian akan muncul dialog seperti di bawah ini
  • isi Data source name dengan amikaktan, penjualan, akademik (atau nama lain sesuai dengan kebutuhan anda, contoh pada gambar data sourcenya diberi nama transaksi)

Nama data source


  •  Pada frame database klik select , akan muncul form seperti dibawah ini
Memilih database
  • cari folder tempat anda menyimpan database pada bagian directories, kemudian double klik folder tempat database anda . Pada contoh, qie punya file penjualan.accdb pada drive C:, maka anda tinggal double klik folder C:

Buat File Report dengan Crystal Report

Langkah berikutnya adalah membuat file laporan dengan menggunakan koneksi ODBC yang telah dibuat tadi. Untuk melakukannya, ikuti langkah-langkah berikut ini:

Buka Crystal Report, Pada pilihan gallery Pilih Report Expert, kemudian Pilih Standard pada daftar Expert, seperti gambar diatas. Pilihan Blank Report bisa anda gunakan untuk membuat laporan dari awal, Report Expert menggunakan sistem Wizard.
Report Expert
Pada Tampilan berikutnya klik Database, kemudian pilih tipe ODBC. dari pilihan ini akan memunculkan nama koneksi yang anda buat tadi, apakah amikaktan, penjualan, akademik dan lain-lain. pada contoh gambar, nama databasenya adalah antinmotor. Dari database tersebut terdapat banyak tabel, klik tabel yang akan dijadikan report, kemudian klik tombol add sehingga memunculkan checklist pada icon tabel tersebut (lihat gambar dibawah ini). setelah itu click close untuk melanjutkan.
Menambahkan tbsuplier ke report
Ini akan membawa kita pada tahap ke-2 dari Wizard Report Expert yakni pemilihan field. Setelah tabel ditentukan, berikutnya disini kita memilih field apa saja yang akan ditampilkan. Karena belum tentu semua informasi akan dibutuhkan. Klik Finish untuk mulai mendesain Report.
Pemilihan Field pada Report Expert
Tahapan selanjutnya adalah mengenal antar muka dari Crystal Report 8.5. Perhatikan komponen-komponen dibawah ini. Menu bar adalah menu standar dalam aplikasi, sama dengan Toolbar yang juga standar. Bagian sebelah kiri dari Crystal Report 8.5 terdiri atas 2 tab yakni tab design dan Preview

Tab Design adalah tampilan desain dari laporan, sedangkan tab preview akan menampilkan pra-cetak dari laporan, sama seperti print preview pada word. Saat ini tab yang aktif adalah tab preview, pemilihan tab ini akan menampilkan hasil yang berbeda pada Layar Report. Layar Report sekarang berisi nama dan isi field yang sudah kita isikan kedalam database.

Komponen Crystal Report 8.5

Selanjutnya kita harus menon aktifkan pilihan Save Data With Report agar data yang sudah tayang saat ini disimpan sebagai bagian dari Report, dan akibatnya kita harus me-refresh data setiap kali report akan kita gunakan. Hilangkan checklist pada File > Save Data With Report.

Simpan lah data dengan nama yang sesuai (jangan gunakan spasi dalam memberi nama report) dengan mengklik icon Save pada toolbar. Pada contoh saya akan menyimpan report yang telah saya buat dengan nama rptsuplier. Crystal report akan menyimpan report tersebut dengan nama rptsuplier.rpt. Lihat gambar berikut ini. Pastikan report disimpan pada folder yang sama dengan file project Visual Basic Anda, karena kita akan memanggil report berdasarkan lokasi project tersebut
Menyimpan Report
Setelah report disimpan langkah selanjutnya adalah memanggil Report tersebut melalui Visual Basic. Saya asumsikan anda sudah bisa menggunakan Menu pada visual Basic, kalau belum anda bisa baca di Contoh Penggunaan Menu pada Project. Pada gambar berikut saya menambahkan sebuah menu Laporan dengan sub menu Daftar Suplier. Rencana rptsuplier diatas akan dipanggil langsung dengan menu tersebut.
Tambahkan menu Daftar Suplier
Setelah menu tersedia, langkah selanjutnya adalah menambahkan komponen Crystal Report kedalam Design Form di Visual Basic. Di Form menu tersebut tekan kombinasi tombol Ctrl+T atau Klik menu Project > Components. Dari daftar komponen yang ada checklist lah pada Crystal Report Control, sehingga pada toolbox Visual Basic akan memunculkan Crystal Report sebagai tambahan control yang baru.
Menambahkan komponen Crystal Report Control
Double click pada crystal report control di Toolbox, sehingga menampilkan layar konfirmasi integrasi aplikasi dengan Crystal Report. Di Form sekarang sudah tertampil sebuah control dengan nama CrystalReport1. klik pada kontrol tersebut dan ubah properti .Name nya menjadi cr1. Ini digunakan untuk memperpendek penulisan kode, kita bisa memanggil kontrol ini dengan cr1, daripada CrystalReport1, lebih pendek bukan?
Menambahkan Crystal Report Control ke Form
Langkah selanjutnya adalah menggunakan cr1 untuk memanggil rptsuplier yang sudah kita buat tadi. Pada menu yang sudah tersedia di design form klik Laporan > Daftar Suplier. dan tambahkan kode berikut ini:
Kode untuk memanggil report
Pada kode diatas ada 2 kata yang saya highlight, yakni nama databasenya antinmotor, dan nama reportnya rptsuplier.rpt. Kesalahan pemberian nama ini membuat report tersebut tidak bisa dipanggil. Jadi pastikan anda sudah mengatur ODBC anda dengan benar, dan juga sudah menempatkan file report anda di folder yang sama dengan project.

Dan... anda sudah bisa mulai menekan tombol F5 dan melihat hasilnya...
~rajin pangkal pandai~


    11 komentar:

    1. kenapa ya di ane . . . tetap tidak mau tampil reportnya,,, padahal cara dan sintak sesuai di atas. . . .cr1.Action jadi sorotan debugging ???

      BalasHapus
    2. coba sebelum cr.action diberi coding cr.retrivedatafiles

      BalasHapus
    3. Pak......gimana kalo VB net 2010?????

      BalasHapus
    4. pak, awalnya yg jd debugging itu pas di tulisan cr1.action ,, trus di beri tambahan cr1.retreivedatafiles sebelum cr1.action,, tp malah yang jd debugging nya pas tulisan cr1.retreivedatafiles,,

      kira" salah dmna nya ya pak ?

      #laporan nya ga muncul ..

      BalasHapus
    5. Klo buat saling konek ke sql qeury bisa gan?

      BalasHapus
    6. cr1.connect, dibuang aja.......dan kemudian cek nama reportnya sama gak dengan code yang di atas? klo sama cek lagi lokasi pengambilan database dari server ODBCnya, apakah betul???klo gak bisa pke active ado aja.....kemudian pgl server ODBC yang telah dibuat........hohohohhoho

      BalasHapus
    7. gan saya puny amasalah kalo tabelnya ada dua buah itu selalu muncul error, ada pencerahan...?

      BalasHapus
    8. gan kalo datax d tambah tadix 3 stlah ditambah jd 4, gmn cara agar laporanx ttp itu tapi isi datax ngerefresh jd data terbaru??mohon pencerahan..trimaksaih

      BalasHapus
    9. permisi gan, numpang tanya, kalau untuk mencetak laporan pake crystal report 8.5 bisa tidak mencetak perdata yang ada didalam tabelnya.
      thx b4..

      BalasHapus
    10. hallo manivb... mau tanya nih. Saya mau nampilin laporan berdasarkan kombinasi tanggal dan nama customer. source saya sebelumnya ini :
      .SelectionFormula = "{penjualan.tanggal}=#" + Format(dttanggal.Value, "mm-dd-yyyy") + "#" And "{penjualan.customer} in '" & cmbcus.Text & "'"
      Tapi, ketika dijalankan muncul error type mismatch. Kalau source code diatas dijalankan sendiri2 sih bisa. Databasenya saya pakai sql server dan untuk tanggal tipe data datetime, nama customer varchar. Mohon pencerahannya. Thanks Maniavb

      BalasHapus