18 Mei 2014

Step by step design Datareport tanpa DataEnvironment

Sebenarnya saya pernah posting tentang hal yang sama disini, akan tetapi selalu error link downloadnya. Agar tidak hilang lagi saya posting ulang tutorialnya saja.


Step 1 - Koneksi database dengan Adodc

contoh code koneksi database dengan Adodc, database yang saya gunakan adalah MS Access 2003

Adodc1.ConnectionString = "" + _
"Provider=Microsoft.Jet.OLEDB.4.0;" + _
"Data Source=D:\DATA\data.mdb;Persist Security Info=False"

Adodc1.RecordSource = "select * from jurnal"

Adodc1.Refresh

Step 2 - Menghubungkan datareport dengan Adodc

Set DataReport5.DataSource = Adodc1


Step 3 - Design Report

- Menambahkan data report, pilih menu Project (1) >> Add Data Report (2)


- Kemudian muncuk jendela data report untuk menampilkan field-field nya adalah sebagai berikut :
-- klik kanan pada section Detail (section1) (3)
-- pilih Insert Control (4)
-- pilih TextBox (5) atau yang lain (Label, line, image, shape, dll)


-- klik pada textboxt yang baru saja ditambahkan (6)
-- atur propertiesnya, terutama pada dataField, isi dengan nama field yang akan ditampilkan (7)


-- Ulangi langkah (3) sampai (5) untuk menambahkan textBox baru atau cukup dengan copy-paste, kemudian atur propertiesnya seperti langkah (6) dan (7)

-- hal tersebut berlaku untuk section-section yang lain

Step 4 - Menampilkan Report

Tambahkan code-code pada step 1 dan 2 pada 1 command, kemudian tambahkan code di bawah ini untuk menampilkan reportnya.

DataReport5.Refresh
DataReport5.Show
DataReport5.ZOrder 0


Demikian, Selamat mencoba.

3 Mei 2014

Reset nomor urut setiap berganti group pada Crystal Report

Membuat nomor urut pada crystal report itu sangat mudah, tinggal menambahkan special field RecordNumber ke section detail, maka secara otomatis nomor urut akan ditampilkan.


Mudah bukan? tapi apa yang terjadi jika model report kita ubah, misalnya dengan mengelompokkan -nya berdasarkan kode barang,  

Yah,, masih sama saja, nomor tidak mulai dari 1 (satu) lagi ketika berpindah group, tentunya ini akan mengurangi estetika report-nya (-lihat record yang diarsir-)

Untuk dapat membuat nomor urut mulai dari awal lagi setiap berpindah group tidak dapat dilakukan dengan special field recordNumber tetapi dengan menggunakan Running Total Field

Bagaimana caranya ? Mari kita lakukan bersama! :D

-Tambahkan Field Object Running Total Field - Menu >> Insert >> Filed Object (1)


- Kemudian muncul jendela Field Explorer
- Pilih Running Total Field (2)
- Pilih New atau tekan Tombol Ctrl dan N secara bersamaan (3)


- Kemudian muncul jendela Create Running Total Field


- Tulis Nama Field-nya, misalnya : "NomorUrut" (4)
- Pilih field apa saja yang penting dari tabel "detail" bukan dari tabel "master", (-contoh seperti gambar di atas saya menggunakan field ID dari t_beli-), kemudian klik tombol ">" yang paling atas (5)
- Pilih count pada dropdown Type of summary (6)
- Pilih For each record untuk evaluate-nya (7)
- Terakhir pilih On Change of group untuk Reset-nya (8)
- Akhiri dengan tombol "OK" (9)


- Drag Field NomorUrut yang baru saja dibuat ke section detail untuk menggantikan RecordNumber sebelumnya (10) dan hasilnya adalah ....


Berhasil, Alhamdulillah :)

Selamat mencoba, semoga bermanfaat.

24 April 2014

Membuat Nomor Zig-zag pada Crystal Report (Kolom tanda tangan)

Nomor Zig-zag? Ini hanyalah istilah penulis untuk menggambarkan nomor urut yang disusun pada sisi kiri untuk nomor ganjil dan disisi kanan untuk nomor genap. Susunan nomor tersebut lazim ada pada daftar penerimaan uang atau barang. Susunan seperti itu bertujuan untuk memungkinkan space yang cukup untuk membubuhkan tanda tangan.

Apabila menggunakan Excel pekerjaan tersebut adalah pekerjaan yang mudah dilakukan. Pada tulisan kali ini saya akan memberikan tips untuk membuat Nomor Zig-zag dengan menggunakan Crystal Report.

Ilustrasi nomor zig-zag

Langkah-langkahnya adalah sebagai berikut :
Pertama, menambahkan field recordnumber , Menu >> Insert >> pilih Field Object



Kemudian akan muncul jendela Field Explorer, klik (expand) pada spesial fields (1) pilih record number dengan cara double-click sampai terlihat tanda hijau disamping kiri recordnumber (2)


dan drag ke section detail (3) untuk menampilkan recordnumber-nya, lakukan sekali lagi dan tempatkan disamping kanannya (4)


Klik tab preview untuk melihat hasilnya


Hapus labelnya (5) kemudian Klik kanan pada recordnumber-nya untuk menyesuaikan formatnya (6)
Tambahkan label untuk menambahkan "........." di belakang nomornya (7) dan (8)


Yeah... sudah mulai ada bentuknya tu !!!

Selanjutnya bagaimana membuat nomor itu Zig-zag ?
Ini rahasianya, prinsipnya adalah dengan menyembunyikan atau menampilkan recordnumber dan label "......." di samping kanannya. Untuk baris pertama yang disembunyikan adalah recordnumber dan label "........." yang sisi sebelah kanan, baris selanjutnya berlaku sebaliknya.

Hal itu dapat dilakukan dengan membedakan recordnumber itu genap atau ganjil, sehingga recordnumber itu akan disembunyikan jika record itu genap atau ganjil

Menyembunyikan recordnumber genap
klik kanan pada recordnumber dan label "........." yang sisi sebelah kanan, kemudian pilih Format Object ...


Kemudian akan muncul jendela Format Editor, pilih tab common
Centang pilihan suppress (a), di klik tombol pensil di sebelah kanannya (b)


Tuliskan code sebagai berikut (c) :
recordnumber mod 2 <> 0

"artinya bahwa object akan disembunyikan jika sisa hasil pembagian recordnumber dibagi 2 adalah tidak sama dengan 0 (tidak habis dibagi), jadi pada baris pertama dan baris dengan recordnumber ganjil recordnumber dan label "........." disebelah kanan akan disembunyikan"

Selanjutnya klik tombol disket (d) dan akhiri dengan menekan tombol OK pada jendela Format Editor

Dan lihat apa yang terjadi :D, nomor 1, 3, 5,  dst akan hilang dari sisi recordnumber sebelah kanan


Nah sekarang tinggal recordnumber dan label "........." disebelah kiri yang belum di format, caranya sama seperti langkah (a) sampai (d) diatas hanya mengubah code pada Format Formula Editornya dengan code berikut :

recordnumber mod 2 = 0

dan hasilnya adalah :

Dan Nomor Zig-Zagnya sudah jadi. Alhamdulillah :)

Selamat mencoba, Semoga bermanfaat.

12 April 2014

Menghentikan Looping dengan tombol ESC (VB 6)

Suatu ketika saya mendapatkan data pembayaran biaya pendidikan mahasiswa di Fakultas tempat saya bekerja, yang terdiri dari beberapa ratus file MS excel yang saya download dari sistem informasi pembayaran tingkat Universitas, tugas saya adalah membuat report penerimaan/pendapatan Fakultas dari pembayaran biaya pendidikan, padahal data yang saya peroleh adalah data induk yang memuat beribu-ribu data dari seluruh Fakultas. Akhirnya saya putuskan untuk membuat aplikasi sendiri dengan database sendiri. Dengan metode looping dan filter berdasarkan Fakultas akhirnya saya berhasil mempunyai database pembayaran khusus Fakultas, Alhamdulillah.

Tapi bukan itu permasalahannya, Hehehe..

Waktu itu jam di kantor menunjukkan sesaat lagi harus berkemas untuk pulang, padahal proses import data baru saja saya mulai, ahh.. berarti saya telat pulang. Sebenarnya bisa saja saya hentikan prosesnya dengan CTRL+ALT+DEL, atau langsung Turn Off PC-nya, tapi sepertinya langkah itu sedikit Arogan :D

Di lain kesempatan saya putuskan memperbaiki aplikasi tersebut, akhirnya setelah beberapa kali mencari saya mendapatkan inspirasi dan referensi di sini :

Kemudian saya terapkan dalam project VB 6 saya persis seperti yang ada dalam referensi saya yang nomor 1, seperti ini :

Option Explicit

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer

Private Sub Command1_Click()
    for i = 1 to MsFlexgrid1.Rows-1

        'masukkan perintah-perintah anda disini
        If WasKeyPressed(vbKeyEscape) Then Exit For
    Next i

    Label1.Caption = "Exited loop successfully"

End Sub

Function WasKeyPressed(ByVal plVirtualKey As Long) As Boolean
    If (GetAsyncKeyState(plVirtualKey) And &H8000) Then WasKeyPressed = True
End Function

Dan akhirnya saya bisa menghentikan impor data kapan pun saya inginkan dan pulang tepat waktu :D

ilustrasi menghentikan looping

Selamat mencoba. Semoga bermanfaat. Good Luck ! :p


10 April 2014

Formula Field Saldo Debet Kredit Pada Crystal Report 8.5

Beberapa pekan yang lalu saya mendapatkan masalah, bagaimana menyusun buku besar yang ada saldonya, pertama saya berpikir untuk memasukkannya ke dalam tabel. akh... tapi kan "HARAM" hukumnya membuat field (kolom) perhitungan didalam database.


Kemudian saya browsing berusaha mencari referensi sebanyak-banyaknya, akhirnya saya menemukan solusi sederhana untuk permasalahannya, waktu itu saya berkunjung ke sini : https://scn.sap.com/thread/1871405

Intinya adalah membuat Formula field saldo pada crystal report, kurang lebih  seperti ini codenya :

whileprintingrecords;
if OnFirstRecord then Shared numbervar saldox := ToNumber ({t_jurnal.DEBET})-ToNumber ({t_jurnal.KREDIT} )
else
shared numbervar
saldox := saldox + ToNumber ({t_jurnal.DEBET})-ToNumber ({t_jurnal.KREDIT} )
 Untuk cara membuat formula field silakan baca-baca dulu disini : http://www.vbjadul.net/2009/09/menambahkan-formula-field-pada-crystal_03.html


 Untuk yang masih bingung juga saya sertakan link downloadnya dibawah ini :

http://downloads.ziddu.com/download/23678653/Saldodebetkredit.rar.html

Demikian, semoga bermanfaat.

27 Desember 2013

CETAK FAKTUR / INVOICE / KUITANSI DENGAN VB 6 DAN CRYSTAL REPORT 8.5

Berikut saya berikan link download source code "sangat sederhana" untuk mencetak langsung faktur, invoice atau kuitansi langsung ke printer.

Cara Cetak Faktur

1. Faktur Baru

- Klik tombol baru, secara otomatis aplikasi akan memunculkan nomor faktur/urut baru
- Pilih dropdown kode barang
- Masukkan kuantitas yang dijual
- Klik tombol Tambah, maka grid (MSFlexgrid - red) akan terisi dengan item barang yang dijual lengkap dengan harga dan kuantitasnya, ulangi langkah mulai dari memilih dari dropdown barang sampai dengan menekan tombol tambah untuk mengisi grid.

- Tekan tombol simpan untuk menyimpan dan mencetak atau tekan tombol baru untuk mengisingkan form




2. Cetak Faktur Yang Sudah Pernah diinput

- Cari Faktur dengan memilih dari dropdown (combobox) No Faktur, kemudian tekan tombol (command) Cetak untuk mencetak langsung ke printer.






Component yang perlu ditambahkan
- MSFlexgrid Control 6.0
- Crystal Report Control




Secara singkat dapat saya sampaikan untuk mencetak faktur langsung ke printer dengan vb6 dan crystal report langkah-langkahnya adalah sebagai berikut,
- Menyimpan data ke database dengan identitas tertentu, seperti nomor faktur dll.

- Untuk memungkinkan hanya satu data yang tercetak yaitu data yang baru saja disimpan, maka crystal report harus dipanggil dan ditambahkan selection formula agar hanya data tersebut yang tampil/tercetak (contoh code : crt1.selectionFormula = "{jual.nofaktur}='" & Combo1.Text & "'")

- setting destination crystal report ke to printer (contoh code di vb6 : crt1.Destination = crptToPrinter)

NB : 

Bila setting destination crystal report langsung ke printer maka aplikasi tidak memberikan pilihan akan di print di printer yang mana, karena aplikasi akan langsung memilih printer yang diset sebagai default

Source code :

http://www.ziddu.com/download/23481200/cetakfaktur.rar.html