5 Mei 2015

Video Tutorial : Design Crystal Report 8.5 dengan database MySql

Kalau tidak salah, ini adalah postingan saya yang ke 200, hehe.. tidak penting.

Ahh.. Langsung saja, berikut adalah video pendek tentang membuat/mendesign report dengan crystal report 8.5 dan mysql.
Secara singkat dapat saya gambarkan isi video ini sebagai berikut :
1. Membuat koneksi dengan odbc
2. Menghubungkan crystal report dengan mysql dengan bantuan odbc
3. Problem solving, ketika menggunakan sumber tabel lebih dari satu

Monggo disimak !
Durasi video : 2 menit 36 detik

 

21 April 2015

Menyajikan Crystal Report di dalam MDI Form

Lama sekali rasanya saya tidak menulis, saya mulai kembali dengan yang ringan-ringan saja ya :D

Yuph sederhana sekali tulisan saya kali ini, saya akan membagikan satu baris code untuk menampikan Crystal report agar berada di 'dalam' MDI-Form.

Apa itu MDI-Form ? Menurut saya MDI-Form atau Multiple Document Interface adalah object pada visual basic 6.0 yang dapat dipergunakan untuk menampung/memuat satu atau lebih Document (dalam hal ini dapat berupa Form dan lain-lain, termasuk crystal report tetntunya). selengkapnya silakan kunjungi rumahnya disini : https://msdn.microsoft.com/en-us/library/zkysca23%28v=vs.90%29.aspx

code menampilkan crystal report di 'dalam' MDI-Form 
silakan baca link ini terlebih dahulu : http://www.vbjadul.net/2009/05/code-simple-untuk-crystal-repot-control.html
untuk menampilkannya di dalam MDI-Form, langkah-langkahnya adalah sebagai berikut :
1. Tambahkan MDI-Form kedalam Project VB Anda.
2. untuk dapat menambahkan Crystal report ke dalam MDI Form, tambahkan terlebih dahulu picture-box baru kemudian letakkan crystal report dalam picture-box tersebut dan beri nama crt1.

(penjelasannya silakan baca disini : http://www.vbjadul.net/2009/06/pasang-control-di-mdi-form.html)
3. Tambahkan juga satu buah command
4. codenya adalah sebagai berikut :

Private Sub Command1_Click()

On Error Resume Next
with crt1
.Reset
.Destination = crptToWindow
.ReportFileName = "C:\Data\Laporanxxx.rpt"
.WindowParentHandle = MDIForm1.hwnd
.WindowState = crptMaximized
.WindowShowPrintBtn = True
.WindowShowRefreshBtn = True
.RetrieveDataFiles
.Action = 1
End with

End Sub
*) codenya adalah yang saya beri huruf tebal dan warna merah.

selamat mencoba !

contoh tampilannya :


31 Agustus 2014

Video Tutorial : Cari cepat dengan SQL LIKE - ADODC + DATAGRID (vb6)

Pencarian cepat dengan input pada textbox dan dimunculkan pada datagrid. Dengan bantuan syntax SQL "like" dan koneksi adodc.

12 Agustus 2014

AUTONUMBER PADA DATAREPORT (2)

Sebelumnya alangkah baiknya Anda simak posting saya tentang Autonumber pada Datareport pada link dibawah ini :

Pada posting tersebut saya sampaikan link download project visual basic 6.0 membuat autonumber pada Datareport

Project tersebut adalah contoh membuat autonumber pada Datareport dengan koneksi secara manual sehingga harus mengkoneksikan ulang setiap berganti lokasi database (pindah komputer), koneksi ke tabelnya pun menggunakan pengaturan properties secara manual sehingga penomoran tidak berfungsi ketika data di Filter.

Dengan menggunakan contoh project yang sama saya sedikit memodifikasinya agar lebih fleksibel untuk digunakan, yaitu dengan menggunakan coding untuk koneksi dan commandText dataenvironmentnya.



Kurang lebih seperti ini codingnya :

Pada Form1

Private Sub Combo1_Click()
Adodc2.RecordSource = "SELECT " + _
"1 + (SELECT COUNT(*) FROM (select * from nilai where kelas='" + Combo1.Text + "') where nama < a.nama) AS AUTONUM, " + _
"a.nama AS NAME, a.kelas as KELAS, a.nilai as NILAI " + _
"FROM nilai a where a.kelas='" + Combo1.Text + "' " + _
"ORDER BY nama "
Adodc2.Refresh

DataGrid1.Refresh
End Sub

Private Sub Command1_Click()


DataEnvironment1.Commands("command1").CommandText = Adodc2.RecordSource
Set DataReport1.DataSource = DataEnvironment1

DataReport1.Show

End Sub

Private Sub Form_Load()
Combo1.Clear
Adodc1.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;" + _
                          "Data Source=" + App.Path + "\Data1.mdb;" + _
                          "Persist Security Info=False"

Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select distinct(kelas) from nilai"
Adodc1.Refresh
Do Until Adodc1.Recordset.EOF
    Combo1.AddItem Adodc1.Recordset(0)
    Adodc1.Recordset.MoveNext
Loop

Adodc2.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\Data1.mdb;Persist Security Info=False"
Adodc2.CommandType = adCmdText
Adodc2.RecordSource = "SELECT " + _
                      "1 + (SELECT COUNT(*) FROM nilai  where nama < a.nama ) AS AUTONUM, " + _
                      "a.nama AS NAME, a.kelas as KELAS, a.nilai as NILAI " + _
                      "FROM nilai a  " + _
                      "ORDER BY nama "
Adodc2.Refresh

DataGrid1.Refresh
End Sub

Pada DataReport1

Private Sub DataReport_QueryClose(Cancel As Integer, CloseMode As Integer)
    If DataEnvironment1.rsCommand1.State = adStateOpen Then
        DataEnvironment1.rsCommand1.Close
    End If
End Sub

coding pada datareport diatas digunakan untuk menutup recordset, sehingga saat datareport dibuka lagi akan menggunakan recordset yang baru. (refresh)

Bingung kan? hehehe..
saya juga, download saja langsung sourcecodenya pada link dibawah ini :

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.