Design Crystal Report dengan Banyak Tabel Sumber (-database MySQL-)

Baca Juga

Saya pernah menulis artikel tentang hal ini sebelumnya di link [ini], tetapi setelah dicoba dengan database MySQL ternyata tidak dapat berjalan dengan baik, saya mendapatkan error seperti ini :



Mengapa?

Hal tersebut kemungkinan terjadi karena database MySQL tidak dapat menerima syntax SQL yang digunakan dalam Crystal Report. Yuph.. untuk Link antar tabel Crystal Report 8.5 menggunakan INNER JOIN yang lazim digunakan dalam Query database Microsoft Access, sementara MySQL tidak mengenal perintah INNER JOIN tersebut.

Cara Mengatasinya.

Karena permasalahan ada pada link antar tabel, dalam hal ini syntax SQL default yang digunakan Crystal Report 8.5, maka kita akan sedikit melakukan perubahan terhadap code SQL-nya.

Klik Menu--Database--Show SQL Query ...




Kemudian  muncul jendela Show SQL Query, kita, melihat syntax aneh disana. he he he ...



Langkah selanjutnya adalah mengganti Syntax SQL diatas : 
Misalnya code sebelumnya adalah seperti ini :
SELECT
    jurnal1.`kode_rek`,
    rekening_akun1.`nama_rek`
FROM
    { oj `jurnal` jurnal1 INNER JOIN `rekening_akun` rekening_akun1 ON
        jurnal1.`kode_rek` = rekening_akun1.`kode_rek`}
Syntax berwarna merah diatas akan dapat berjalan pada database Access, tetapi tidak untuk MySQL, sehingga perlu diganti dengan syntax dibawah ini :
SELECT
    jurnal1.`kode_rek`,
    rekening_akun1.`nama_rek`
FROM
    `jurnal` jurnal1, `rekening_akun` rekening_akun1 WHERE
     jurnal1.`kode_rek` = rekening_akun1.`kode_rek`

Syntax Asli : 
SELECT nama_tabel1.nama_field,nama_tabel2.nama_field FROM nama_tabel1 ,nama_tabel2 WHERE nama_tabel1.nama_field=nama_tabel2.nama_field

Bila sudah tekan tobol OK, jika langkah ini berhasil maka report akan dapat menampilkan data, jika tidak akan muncul pesan-pesan aneh he3x ... Kalau sudah jangan lupa di save ya. Selamat Mencoba, Semoga berjaya !!! :D

Untuk Link download yang sudah saya perbaiki dapat dilihat pada halaman DOWNLOAD, walaupun baru sedikit semoga bisa bermanfaat,untuk cara download silakan lihat DI SINI, Terima kasih

16 Tanggapan

makasii mas broo ...
tutorialnya bermanfaat banget .... ^_^

iya mas/mbak, terima kasih kunjungannya.

gambar kodoknya muncul mas.... dah minta makan tuh! hehehe

hahaha.. iya cak, kodok di dalam es batu.

makasih infonya.

Masih blm bisa , mungkin bisa kasih penjelasan lagi gan ... thansk

Gak bisanya kenapa mas? Error? kalau error keterangannya apa?

Aku dah coba pake syntax yg diatas tp tetap ga muncul report nya ,

Bisa kasih saya contoh syntaxnya?

Ok thank gan, aku dah pake yg biasa dg view ... Ngomong cah wonogiri toh , salam dari cah jatisrono

nggih mas, kulo tiang selogiri.. hehehe

Mas boleh nanya lg, setiap bikin file exe kenapa crystal report nya error terus ya

Mas mau nanya lg nie .. lg ngerjain permintaan kantor , report dg crytal report 8.5 database pake mysql contoh tbtujuan field nya Kota,tgl_pergi ... di report nya aku buat tujuan .. yg empunya minta bikin report perbulan dg tujuan tertentu tdk global ...
ini syntaq yg aku pake
Dim RS As New ADODB.Recordset
Dim Crystal As CRAXDRT.Application
Dim report As CRAXDRT.report
If Opt2.Value = vbChecked Then
If Combo1.Text = "" Then
MsgBox "Silahkan Pilih Salah Satu Bulan..", vbCritical, "++ Peringatan..."
Combo1.SetFocus
Exit Sub
End If
Call BukaDB
RS.Open "Select tbpenerbangan.negara from tbpenerbangan Where tbpenerbangan.negara='" & CboNegara.Text & "'", Conn, adOpenStatic, adLockOptimistic
LapPemberangkatan.CRPemberangkatan.DisplayBorder = False
LapPemberangkatan.CRPemberangkatan.DisplayTabs = False
LapPemberangkatan.CRPemberangkatan.EnableExportButton = True
LapPemberangkatan.CRPemberangkatan.EnableZoomControl = True
Set Crystal = New CRAXDRT.Application
Set report = Crystal.OpenReport(App.Path & "\rptpemberangkatan.rpt")
report.DiscardSavedData
report.FormulaFields(0) = "negara='" & CboNegara.Text & "'"
report.RecordSelectionFormula = "Month({tbpenerbangan.tgl_terbang})=" & Combo1.Text & " and Year({tbpenerbangan.tgl_terbang})=" & Year(DTPicker3.Value) & ""
report.Database.SetDataSource RS
LapPemberangkatan.CRPemberangkatan.ReportSource = report
LapPemberangkatan.CRPemberangkatan.ViewReport
LapPemberangkatan.CRPemberangkatan.Zoom 100
Do While LapPemberangkatan.CRPemberangkatan.IsBusy
DoEvents
Loop

RS.Close
LapPemberangkatan.Show
End If

Si empu nya minta dg kategori Negara + tgl berangkat .. klo pake syntaq yg diatas report hasil nya global

mas desain datareport dengan group header tapi pakai 2 table gimana ya?
koneksi yg saya gunakan pakai databases MySQL


Formulir Kontak

Nama

Email *

Pesan *

Pengikut