Home > Visual Basic > Tutorial Active Report bagian 1

Tutorial Active Report bagian 1

Intro

Active Report adalah salah satu tool yang digunakan untuk pembuatan report di visual basic, mulai dari report yang sederhana sampai yang komplek, berikut contoh beberapa report yang bisa dibuat menggunakan active report.

Selain itu active report juga sudah terintegrasi dengan IDE visual basic sehingga pembuatan report pun menjadi lebih menyenangkan, lalu bagaimana cara meload datanya ? Caranya gampang cukup menggunakan query biasa seperti query-query yang digunakan dalam pembuatan aplikasi.

Untuk contoh pada tutorial pertama ini kita akan menampilkan data siswa dengan struktur tabel seperti berikut :

1. Mendesain report

Mendesain report di Active Report sama mudahnya seperti mendesain tampilan di form, tinggal drag komponennya kemudian ganti nilai properties masing-masing komponennya sesuai kebutuhan.

Oke langsung saja aktifkan project vb Anda kemudian klik kanan di nama project -> Add -> Data Dynamics ActiveReport 2.0

jika berhasil pada panel project explorer akan ketambahan node baru dengan nama Designers

kita akan mengganti nilai dari properties Name dan Caption seseusai setting berikut :

Nama = arLapSiswa
Caption = Laporan Data Siswa

untuk properties yang lain bisa Anda ganti nilainya sesuai kebutuhan.

Berikutnya kita akan menambahkan judul report, objek yang akan digunakan adalah objek label

nilai caption dari labelnya kita abaikan saja, karena akan kita ganti pada saat runtime (program dijalankan).

Setelah selesai menambahkan judul reportnya, kita akan menambahkan judul kolom, objek yang digunakan masih sama yaitu label

selanjutnya kita akan menambahkan border untuk judul kolom nya, caranya adalah dengan menyeleksi label “No.” sampai “Tanggal Lahir”, kemudian klik kanan pada salah satu label yang diseleksi pilih Format Border

pilih jenis border pada pilihan Line Styles, kemudian pada bagian Preview border yang diaktifkan hanya bagian “Atas”, “Kiri” dan “Bawah”

selanjutkan kita akan menambahkan border untuk label ayah

Gimana? jadi terlihatkan perbedaannya kenapa dipisah pembuatan border label “Ayah” dengan label lainnya.

Hasil akhir penambahan border judul kolom

Berikutnya kita akan menambahkan objek TextBox yang akan digunakan untuk menampilkan data

Khusus untuk textbox “No.” (tag merah) properties Textnya diset = 0, untuk textBox lainnya diabaikan saja dan kemudian untuk menambahkan border langkah-langkahnya sama seperti sebelumnya, hanya saja border bagian “Atas” tidak aktifkan

kemudian untuk setting border textbox ayah

ada satu komponen lagi yang akan kita tambahkan yaitu komponen ADO Data Control dan saya rasa tidak perlu lagi dijelaskan apa kegunaan komponen ini.

Berikut adalah hasil akhir desain report siswanya.

2. Kode untuk report

Active Report sama seperti form dan komponen lainnya mempunyai event-event yang bisa kita isikan kode program sesuai kebutuhan, biasanya nama event tersebut diawali oleh nama sectionya, contoh :

pada contoh diatas section “Detail” mempunyai beberapa event yaitu AfterPrint, BeforePrint, Format.

Disini saya hanya akan mencontohkan penggunaan event Format dan BeforePrint.

Private Sub Detail_Format()
    With adoSiswa.Recordset
        If Not .EOF Then
            txtNo.Text = Val(txtNo.Text) + 1

            txtNIS.Text = .Fields("nomorinduk").Value
            txtNama.Text = .Fields("nama").Value
            txtTempatLahir.Text = "" & .Fields("tempat_lahir").Value ' untuk menghandle nilai null

            If IsDate(.Fields("tgl_lahir").Value) Then
                txtTglLahir.Text = Format(.Fields("tgl_lahir").Value, "dd/MM/yyyy")
            Else
                txtTglLahir.Text = ""
            End If

            txtAyah.Text = "" & .Fields("ayah").Value ' untuk menghandle nilai null
        End If
    End With
End Sub

Sampai disini report sudah siap digunakan/dipanggil via aplikasi

3. Memanggil report dari aplikasi

Balik ke form visual basic kemudian buat desain form seperti gambar berikut :

kemudian untuk menampilkan reportnya ketik kode berikut :

Private Sub cmdPreview_Click()
    Dim strCon  As String
    Dim strSql  As String

    strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\sampleDb.mdb"
    strSql = "SELECT * FROM siswa"

    With arLapSiswa
        .adoSiswa.ConnectionString = strCon
        .adoSiswa.Source = strSql

        .lblHeader1.Caption = "SEKOLAH MENGENGAH ..."
        .lblHeader2.Caption = "Laporan Data Siswa"

        .Show
    End With
End Sub

Gimana ? Simple kan :)

jalankan program kemudian klik tombol “Tampilkan Report”, akan ditampilkan hasil preview data siswanya.

waduhh, ternyata setelah pindah ke halaman 2 ada data siswa yang nampil tidak sesuai harapan, lihat gambar berikut :

Setelah diusut ternyata penyebabnya adalah nilai dari tempat lahirnya terlalu panjang sehingga tampilan report jadi berantakan, nah bagaimana cara menyelesaikan masalah ini ? Disinilah peran penting dari event Detail_BeforePrint.

Oke kita kembali lagi ke desain report siswanya kemudian tambahkan kode berikut pada event Detail_BeforePrint :

Private Sub Detail_BeforePrint()
    txtNo.Height = Detail.Height
    txtNIS.Height = Detail.Height
    txtNama.Height = Detail.Height
    txtTempatLahir.Height = Detail.Height
    txtTglLahir.Height = Detail.Height
    txtAyah.Height = Detail.Height
End Sub

Klo sudah jalankan lagi programnya dan kita lihat hasil reportnya

Case closed :D sampai ketemu lagi di seri tutorial active report berikutnya, insya Allah :smile:

Selamat MENCOBA :)

  1. kamerta
    November 18, 2010 at 2:21 am | #1

    keren, bisa pake database sqlite gak?

  2. Mahmud83
    November 18, 2010 at 7:33 am | #3

    mantab om…
    Kalau untuk laporan group di Active Report gimana Om ????

    • November 18, 2010 at 7:34 am | #4

      Itu insya Allah akan sy bahas di seri tutorial berikutnya om ;)

  3. Muh.Abd. Gafur
    November 19, 2010 at 3:50 am | #5

    Terima kasih atas sharing ilmunya

  4. November 29, 2010 at 12:54 am | #7

    keren…. :) om pnya code ato free aplksi ga..bwt jdkn scanner bwt mrksa ljk…

    • November 29, 2010 at 1:29 am | #8

      Enggak punya om, bukannya aplikasinya udah sekalian waktu beli mesin dmrnya ?

  5. November 29, 2010 at 11:09 pm | #9

    biar ms mnfaatkan scanner yg g trpakai…hehe
    Klo bwt yg sdrhna pk vb gmna ya algoritma na… Pgn bwt… hehe jd g nymbung ma topik nie…

    • November 30, 2010 at 1:03 am | #10

      Iya om udah enggax nyambung nih topiknya, mendingan beli aja deh :D

  6. December 13, 2010 at 3:54 am | #11

    terima kasih tutorialnya om, sangat membantu :)

    soalnya saya pengguna active report tapi bingung masalah baris yang kepanjangan jadi tabelnya g teratur, ternyata tinggal tambah fungsi Detail_BeforePrint y om :D .

  7. January 6, 2011 at 10:13 am | #13

    tutorialnya sangat membantu…

  8. syaeful
    February 5, 2011 at 4:25 am | #15

    mantap om tutorialnya… :)

  9. Amir
    February 16, 2011 at 4:06 am | #17

    Om…, kalau buat laporan dengan AR sesuai dengan gambar yang no 2 gimana om..?
    mohon petunjuknya…

    • February 16, 2011 at 5:36 am | #18

      Petunjuknya aja kan om ? :D

      Cuma pake Group Header/Footer dan Sub Report kok om, contoh penggunaannya sudah ada disample active report yg disediakan jadi tinggal luangkan waktu beberapa hari utk mempelajarinya.

      Selamat mencoba :)

  10. February 22, 2011 at 9:47 pm | #19

    thanks bro..

  11. Riza
    March 21, 2011 at 2:08 pm | #21

    Maaf om ikut gabung!, kalau AR nya kita tambahkan di Inno setup saat instalasi program bisa pa ndak. trus carannya gmna?

    • March 21, 2011 at 3:29 pm | #22

      Ya jelas bisa om, skripnya lebih kurang seperti dibawah ini :

      [Files]
      Source: arpro2.dll; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
      

      Ditambahkan di section [Files]

      Klo reportnya diembed ke form tambahkan juga komponen ARVIEW2.OCX

      [Files]
      Source: arpro2.dll; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
      Source: ARVIEW2.OCX; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
      

      Selamat mencoba :)

  12. Riza
    March 22, 2011 at 2:54 am | #23

    Tq om buat bantuanya!. Ngomong2 artikel cara bwt grouping di AR dah ada lom?

    • March 22, 2011 at 9:18 am | #24

      Udah ada sih om, cuma belum sempat diCAIRkan dalam bentuk tulisan :D , maklum lah alasan klasik lagi banyak kerjaan.

  13. Riza
    March 23, 2011 at 1:57 am | #25

    Ydah om, ndak papa? tapi mohon banget ya cepat di Posting. hehehehe. maklum jarang banget tutorial yang bahas AR.

    • March 23, 2011 at 3:44 am | #26

      Sebagai pemanasan mungkin om bisa buka sample2x AR udah lengkap banget kok.

  14. arian
    April 12, 2011 at 12:41 pm | #27

    gan, connection string buat mysql gmn? mirip sm connection string adodb d vb ga?

    • April 12, 2011 at 1:31 pm | #28

      Install aja om MySQL Connector trus buka file manualnya disitu ada contoh string koneksi plus sample programnya.

  15. May 7, 2011 at 10:01 am | #29

    Mas, sy ingin 3 tabel digabung dlm satu report, gmn caranya ? sy sudah menambahkan tool ADO Data Control di Detail, tpi hanya 1 ADO sj yg bs, untuk 2 buah ADO sampai lebih tdk bs, mhn pencerahannya. Trims.

    • May 7, 2011 at 12:25 pm | #30

      3 tabelnya saling berhubungan enggak om ? Klo iya di JOIN aja kan entar querynya jadi satu baru ditampilkan di active reportnya.

      Klo tabelnya tidak berhubungan om bisa coba menggunakan sub report dan active report sudah menyediakan samplenya, klo ditempat sy foldernya ada di “C:\Program Files\Data Dynamics\ActiveReports Pro\Samples\Visual Basic Samples\Top10″

      Untuk ADO Data Control memang hanya 1 yg dizin untuk 1 report

      Selamat mencoba :)

  16. May 17, 2011 at 5:38 am | #31

    Terima kasih atas pencerahannya, sy sudah coba langsung menggunakan query, field-field yg ingin ditampilkan cukup ditambahkan sj di query. Kemudian dipanggil langsung di active reportnya pada detail format. Kemudian ada satu lagi, gimana tampilkan foto di laporan dengan active report. Sy sudah coba, tapi hanya bisa tersimpan di database & tampil di form, tetapi ketika dipanggil di active report tidak bisa. Mohon pencerahannya. Demikian dan terima kasih.

    • May 17, 2011 at 6:20 am | #32

      Klo sumber fotonya langsung dari PictureBox atau Image tinggal manfaatkan aja properties Picturenya. Ex :

      ActiveReport1.imgFoto.Picture = Picture1.Picture
      

      Tapi klo langsung dari file, gunakan fungsi LoadPicture. Ex :

      ActiveReport1.imgFoto.Picture = LoadPicture("c:\foto.jpg")
      

      Selamat mencoba :)

  17. rickz
    June 8, 2011 at 7:48 am | #33

    numpang tanya om,,,masih seputar AR neh
    klo ingin menampilkan jumlah dari berbagai tabel gmana ya query nya?????
    pke SUM trus klo di JOIN datanya jadi double ya?? harusnya jumlahnya 30 jadi 60,,
    mohon pencerahanya om

    • June 8, 2011 at 9:58 am | #34

      Coba waktu ngeSUMnya ditambah keyword DISTINCT om

  18. rickz
    June 9, 2011 at 5:44 am | #35

    dulu dah cba tuh pke DISTINTC jga, tpi mlahan data yg kluar cma satu doank, pdahal dah pke GROUP by,
    knapa ya bos??
    kya gni krang lebih inti sintak nya:
    —————————————————————————————-
    “SELECT DISTINCT a.partnumber,SUM(a.qty)as totrec,SUM(b.qty)as totproses, SUM(c.qty)as totaldel FROM receiving a,proses, b,delivery c where a.partnumber=b.partnumber and a.partnumber=c.partnumber Group by a.partnumber”
    ———————————————————————————————————————
    mohon bantuanya lgi om,,,
    maaf bos masih blajar soalnya,,

    • June 9, 2011 at 6:09 am | #36

      Coba seperti ini om :

      SELECT a.partnumber,SUM(DISTINCT a.qty)as totrec,SUM(DISTINCT b.qty)as totproses, SUM(DISTINCT c.qty)as totaldel FROM receiving a,proses, b,delivery c where a.partnumber=b.partnumber and a.partnumber=c.partnumber Group by a.partnumber
      

      Klo hasilnya masih salah juga, coba baca artikel How to Use GROUP BY with Distinct Aggregates and Derived tables

      Selamat mencoba :)

  19. rickz
    June 9, 2011 at 8:26 am | #37

    dah dicoba bos, tp pas di Run kluar pesan error :
    Error 5000 : Error in processing report.
    [ Extended Info:Syntax error (missing operator) in query expression 'SUM(DISTINCT a.qty)'.]
    mungkin bsa di bantu lagi om,,,
    maaf agak rewel :-)

    • June 9, 2011 at 8:28 am | #38

      Coba jangan langsung di program om, dijalanin dulu query di …..? Emg databasenya pake apa sih om ?

  20. rickz
    June 9, 2011 at 8:30 am | #39

    pake accsess bos, gmana ya??

    • June 9, 2011 at 8:46 am | #40

      Pantes om, query diatas untuk SQL Server coba aja di searching dulu dg keyword “sum distinct ms access” udah banyak yg bahas, soalnya sy udah jarang make access :D

  21. rickz
    June 9, 2011 at 8:52 am | #41

    hohoho OK om mkasieh,,,
    datanya dikit jdi cma pke access za,,,
    mo k paman google dulu…

  22. taikisha
    June 22, 2011 at 6:22 am | #43

    mas, mw tanya klo kita mau nge-SUM slah stu field table tpi berbeda kriteria gmana ya??

  23. taikisha
    June 23, 2011 at 1:26 am | #45

    mksudnya, sy punya data dari tabel kaya gni :
    barang jumlah kriteria
    - A1 50 A
    -A2 40 B
    -A1 60 B
    -A1 50 B
    —————————————————————
    saya ingin menampilkan data seperti ini :
    Barang A B
    A1 110 50
    A2 0 40
    kira2 gmana ya bos?? mohon bntuanya…..

    • June 23, 2011 at 3:39 am | #46

      Kayaxnya datanya enggak nyambung ya? sebelum dan sesudah di group ???
      atw coba aja query seperti ini om :

      SELECT * FROM barang
      SELECT barang, 
      SUM(CASE kriteria WHEN 'A' THEN jumlah END) AS 'A',
      SUM(CASE kriteria WHEN 'B' THEN jumlah END) AS 'B'
      FROM barang
      GROUP BY barang
      
  24. antosuke
    July 10, 2011 at 12:17 pm | #47

    Bos seleksi tanggal pada laporan si gimna,,, kepala saya pusing boss

    • July 10, 2011 at 12:29 pm | #48

      Ha ha ha
      Heran klo ngeliat om yg satu ini, klo mampir kesini pasti ada aja masalah yg dibawa :D

  25. antosuke
    July 10, 2011 at 1:24 pm | #49

    ni tmn a bos yg tanya…soalnya lagi pada pusing bkin program n dalam proses belajar.jadi tolong bantuannya n maklum aja bos!terimakasih

    • July 10, 2011 at 11:55 pm | #50

      Pake query biasa om, menggunakan BETWEEN:

      SELECT * FROM nama_tabel WHERE tanggal BETWEEN '2010/01/01' AND '2010/01/30'
      

      Jadi filternya enggak dilaporan

  26. July 10, 2011 at 7:04 pm | #51

    Gimana membatasi jumlah record dalam Active Report Gan.??

    • July 10, 2011 at 11:57 pm | #52

      Tergantung databasenya om :
      1. SQL Server/Ms Access pake TOP
      2. MySQL pake LIMIT
      3. Firebird pake ROWS

      Pembatasan recordnya langsung diquerynya, jadi bukan di Active Reportnya

  27. cde
    July 22, 2011 at 4:03 am | #53

    ikut nymbung prtanyaan mas amoz, cntoh query nya donk om buat dbase yg di SQL server…

  28. agung
    July 23, 2011 at 8:41 am | #55

    om ni active report yg versi brp??minta linkx dong yg free..hehehe

  29. July 24, 2011 at 11:42 pm | #57

    iya om ternyata linknya gratis..:) btw klo active reportx trial ntar saat dicompile n dipasang dikompi lain bermasalah g ya om..??

  30. July 27, 2011 at 7:30 am | #59

    buat om admin, ada yg mau gw tanyakan, semoga berkenan u/ membantu permasalahan saya, jadi begini, saya mau membuat report menggunakan AR ini yang mana hasil cetakan tersebut di cetak menggunakan kertas continues form, nah yg mau saya tanyakan yaitu :
    1. gimana caranya supaya data yg akan di cetak lebih dari 1 kertas/continues form, header-nya tetep ikut, soalnya kepunyaaan saya jika ganti kertas header-nya gak tercetak, semisal ada 10 item nah 1-5 ada di page 1 [header masih ikut tercetak] dan 6-10 ada di page 2 [header tidak tercetak.]
    2. masalah line/shape/frame, jadi begini, saya ingin mencetak detail report dengan burder dengan data yang hanya misalkan 3 buah. tetapi garis burder penuh sampai pagefoter pada saat print [untuk ActiveReport 2 - VB 6] mungkin ilustrasinya sebagai berikut :

    contoh

    Pageheader
    ———— —
    Detail
    | 1 | R1 |
    | 2 | R2 |
    | 3 | R3 |

    ———— –
    PageFooter

    Seharusnya yang saya mau

    Pageheader
    ———— –
    Detail
    | 1 | R1 |
    | 2 | R2 |
    | 3 | R3 |
    | | |
    | | |
    | | |
    | | |
    | | |
    ———— –
    PageFooter

    saya sdh mencoba untuk dengan menggunakan line – shape – frame tapi tetep saja ga ada yang berubah, u/ codingnya saya menggunakan perintah ini :

    Private Sub ActiveReport_ReportStart()
    Line16.Y2 = (1000)
    End Sub

    kode tersebut gak ada masalah jika ada 5 item dlm 1 page tersebut, tapi kalo sdh lebih dari itu, maka Line16 tersebut akan langsung loncat ke page 2, mohon pencerahannya. Ohya kode yang admin tulis diatas sdh saya coba, dan belum berhasil [sesuai dengan permasalahan saya], saya tunggu jawabannya di sini atau email saya, terima kasih banyak.

    • July 28, 2011 at 2:16 pm | #60

      Coba seperti ini om :

      Private Sub Detail_Format()
          Static RNumber As Long
      
          RNumber = RNumber + 1
          If RNumber = 6 Then
              Detail.NewPage = ddNPAfter
              RNumber = 0
              
          Else
              Detail.NewPage = ddNPNone 
          End If
      End Sub
      

      Sy sendiri juga klo ngeprint pake kertas continues form lebih senang yg full coding (direct print) jadi kita bebas mengontrolnya

  31. July 29, 2011 at 4:29 am | #61

    terima kasih om admin, kebetulan saya sudah ada cara sendiri u/ mengatasi masalah ane, but info dari om admin pasti ane simpan selalu.

    • July 29, 2011 at 7:36 am | #62

      Sama2x om
      Di share disini donk solusinya :)

  32. August 3, 2011 at 2:54 am | #63

    sesuai permintaan om admin, ini gw share codingnya…

    Private Sub Detail_BeforePrint()
        ' Kode untuk mengatur garis - kolom atas, kanan, kiri dan bawah
        Me.Canvas.DrawLine 635, 2433, 635, Me.PageSettings.BottomMargin + 7420
        Me.Canvas.DrawLine 1310, 2433, 1310, Me.PageSettings.BottomMargin + 7420
        Me.Canvas.DrawLine 2070, 2433, 2070, Me.PageSettings.BottomMargin + 7420
        Me.Canvas.DrawLine 3030, 2433, 3030, Me.PageSettings.BottomMargin + 7420
        Me.Canvas.DrawLine 7000, 2433, 7000, Me.PageSettings.BottomMargin + 7420
    End Sub
    

    ohya om admin, ada mslh sedikit, mohon bantuannya lagi, jd pd waktu saya mengatur ukuran kertas yang akan diprint melalui aplikasi vb6-komponen active report, dengan page setup custom [22x15cm], kebetulan pada waktu mensetting itu aturannya saya sesuaikan dengan printer LX-300, nah masalahnya muncul ketika saya menjadikan program tersebut .exe / packing menjadi installer, trus saya lakukan installasi ke komputer “klien” dan aplikasi bisa berjalan dengan baik, ketika pada waktu proses print/cetak ke continues form yg ada malah cetakan tersebut berbentuk “letter”, sdh ada beberapa cara saya coba yaitu : mengatur server properties dan defaultnya print saya ganti ke ukuran continues form [22x15cm sesuai dengan aplikasi] tetep saja format letter yang keluar. Pada waktu bikin aplikasi tersebut memang saya gak ada kode tentang aturan page tersebut, hanya mengaturnya lewat File –> Page Setup [Active Report] saja. Mungkin ada solusi lain dari om admin, atau klo gak ada source code u/ ukuran kertas continues form :D trims

  33. August 4, 2011 at 6:37 am | #64

    Oke om tq udah mau share kodenya :)

    Klo masalah setting kertas sy juga jarang ngaturnya lewat kode, biasanya tinggal memanfaatkan fasilitas page setup yang sudah disediakan active reportnya, setelah didistribusikan ke klien juga enggak ada masalah sesuai dg yg sy setting pada saat develop

    Yg jelas manual active reportnya sudah ada kok om penjelasan tentang masalah pengaturan setting kertas

    • October 18, 2011 at 1:35 am | #65

      satuan untuk mengatur kertasnya apa ya? kalo custom bingung saya ukuranya soalnya bukan CM atau inchi, kalo kepingin ukuran dengan cm gimana ya? thanks

  34. August 7, 2011 at 8:54 am | #66

    om bth bantuan nie gmn cara buat lap per orang, maksudnya—mis ktp,,kita mau nyetak satu persatu,,,trus cara buatnya gmn om thanks,,,,bth bgt nie om

    • August 8, 2011 at 2:14 am | #67

      Printernya yg biasa atw printer khusus cetak kartu ?

  35. August 15, 2011 at 10:24 am | #68

    Untuk mengatur jumlah record per halaman gmana caranya

    • August 15, 2011 at 10:40 am | #69

      Coba seperti ini om :

      Private Sub Detail_Format()
          Static RNumber As Long
      
          RNumber = RNumber + 1
          If RNumber = 6 Then
              Detail.NewPage = ddNPAfter
              RNumber = 0
      
          Else
              Detail.NewPage = ddNPNone
          End If
      End Sub
      

      Contoh kode diatas membatasi tiap halaman 6 baris

  36. Hans
    August 19, 2011 at 4:40 am | #70

    Asslm
    mohon pencerahan saya buat laporan di Data Report, kebetulan saya mau nambah no urut di laporan tersebut, mohon bantuan gimana caranya..

    • August 19, 2011 at 5:56 am | #71

      Setau sy data report memang belum menyidiakan fasilitas untuk menambahkan nomor urut om, makanya sy enggak pernah make data report untuk aplikasi serius, kecuali duluuuuu banget waktu kuliah :D .

  37. bengz
    September 5, 2011 at 5:15 am | #72

    gmn caranya kita pilih field tertentu untuk tampilkan report (pakai active report)?

    misalnya gini, sy pnya field nama, tgllahir, alamat, pekerjaan. di satu form sy hanya tampilin combobox (yg berisi list nama di database) dan tombol cetak. pas sy pilih combobox kan keluar namanya, trus sy lgsg pilih cetak. sy maunya, yg tertera di preview adalah : nama(yg sy pilih), tgllahir, alamat, pekerjaan. gmn codingnya?

    trims.

    • September 5, 2011 at 7:08 am | #73

      1. querynya menggunakan klausa WHERE :

      SELECT nama, tgllahir, alamat, pekerjaan FROM nama_tabel WHERE nama = COMBO_NAMA
      

      2. Untuk active reportnya sendiri tinggal panggil semua field yg ingin ditampilkan pada event Detail_Format

      untuk contoh kodenya sudah ada postingan diatas

    • bengz
      September 8, 2011 at 1:14 am | #74

      mantap bro, sukses tanpa hambatan i… hehehehe

  38. teza
    September 5, 2011 at 2:24 pm | #76

    Bang Admin.. Di AR ini Bisa Langsung Export File Lain ( PDF , Word , dll ) gak ?? Klo bisa gimana cara nya ?? mohon pencerahannya .. :D

    • September 5, 2011 at 11:33 pm | #77

      Yg jelas bisa om, active report menyediakan library utk ekspor ke excel, pdf, html, rtf de el el.

      Tapi tetap saja reportnya harus dibuat terlebih dulu seperti tutorial diatas, untuk kode pemanggilannya seperti berikut :

      Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
      Private Const SW_SHOWNORMAL = 1
      
      Private Sub cmdExportToPDF_Click()
          Dim pdf         As ActiveReportsPDFExport.ARExportPDF
          
          Load arLapSiswa
          With arLapSiswa
              .adoSiswa.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\sampleDb.mdb"
              .adoSiswa.Source = "SELECT * FROM siswa"
              
              .lblHeader1.Caption = "SEKOLAH MENGENGAH ..."
              .lblHeader2.Caption = "Laporan Data Siswa"
              
              .Run
              
              Set pdf = New ActiveReportsPDFExport.ARExportPDF
              pdf.FileName = App.Path & "\LaporanDataSiswa.pdf"
              .Export pdf
              Set pdf = Nothing
          End With
          Unload arLapSiswa
          
          ' buka folder hasil export
          Call ShellExecute(Me.hWnd, vbNullString, vbNullString, vbNullString, App.Path, SW_SHOWNORMAL)
      End Sub
      

      Kode diatas membutuhkan library ActiveReports PDF Export Filter

  39. Tara
    September 9, 2011 at 4:05 am | #78

    mas admin gini mo tanya, saya buat kwitansi pake activereport, tapi jika page Footernya di isi pas cetak langsung ke Lx 300 kertas yg keluar g hanya 1 lembar g pas sm pemotongnya… kalo page footernya kosong bisa pas,nah masalahnya saya saya mau menampilkan tandatangan… kalo saya taruh di detail nanti tanda tangannya muncul banyak sekali berulang2… mohon bantuannya…..

    • September 9, 2011 at 12:54 pm | #79

      Jangan pake PageFooter coba diganti ke ReportFooter
      PageFooternya dihapus aja

  40. October 18, 2011 at 7:52 am | #80

    mas…saya mau tanya caranya filter data report pake kriteria pada vb 6 gmn??pake sql query fungsi like??gmn tuh…
    mohon bantuannya

    • October 20, 2011 at 6:25 am | #81

      Sy udah lama om, enggak pake data report jadi belom bisa bantu nih :D

  41. November 5, 2011 at 3:56 am | #82

    mas kalau penggunaan denga koneksi sql server 2000 gimana ya mohon pencerahan kalau ada tutorial yang lebih banyak boleh di share,,,,

    • November 5, 2011 at 5:56 am | #83

      Sama aja om bedanya hanya di string koneksinya

       strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\sampleDb.mdb"
      

      Disesuaikan dg string koneksi SQL Server

  42. November 12, 2011 at 3:18 am | #84

    gimana untuk mengganti ukuran kertas di activereport ya,, biar bisa jadi centimeter (cm). shg bisa buat custom size sendiri?

    • November 12, 2011 at 11:15 am | #85

      Yg jelas bisa om, coba cek manualnya dibagian Page and PageSettings :D

  43. bambang
    November 30, 2011 at 3:44 pm | #86

    nice tutorial. Mas kalo mau kasih nomor halaman bisa gak pake active report ini?
    misal di header ada Halaman 1 dari 2. dst.
    Terima kasih

    • December 1, 2011 at 8:03 am | #87

      Tambah 2 komponen Text dan 1 Label di section PageFooter, kemudian set masing2x property namenya menjadi txtPageNumber, txtPageCount dan lblHalaman

      Gambar

      untuk txtPageNumber set propertynya seperi berikut :
      SummaryFunc = 0 – ddSFSum
      SummaryRunning = 2 – ddSRAll
      SummaryType = 4 -ddSMPageCount
      Visible = False

      Kemudian untuk txtPageCount :
      SummaryFunc = 0 – ddSFSum
      SummaryRunning = 0 – ddSRNone
      SummaryType = 4 -ddSMPageCount
      Visible = False

      terakhir tinggal tambahkan kode di event PageFooter_BeforePrint

      Private Sub PageFooter_BeforePrint()
      lblHalaman.Caption = "Halaman ke : " & txtPageNumber.Text & " dari " & Me.Pages.Count
      End Sub

      Selamat mencoba :)

  44. bambang
    November 30, 2011 at 4:14 pm | #88

    pertanyaan tambahan mas, kalo saya gak mau munculkan viewer tapi langsung print bisa gak? pakai command-nya apa ya?
    Terima kasih.

    • December 1, 2011 at 8:07 am | #89

      Klo untuk langsung cetak cukup seperti ini om :

      Private Sub cmdCetak_Click()
          Load arNota ' nama report ARnya
          With arNota
              .DataControl1.ConnectionString = connServer.ConnectionString
              .DataControl1.Source = strSql
              
              .PrintReport False
          End With
          Unload arNota
      End Sub
      
      • adit
        April 18, 2012 at 3:17 pm | #90

        salam kenal mas, kalau print dengan mencetak langsung dua lembar g mana mas?
        thanks

        • April 18, 2012 at 3:43 pm | #91

          Tinggal tambahkan kode berikut :

          .Printer.Copies = 2
          

          sebelum perintah .PrintReport False

          • adit
            April 21, 2012 at 2:16 pm | #92

            thanks banyaak mas

  45. bambang
    December 1, 2011 at 1:07 pm | #93

    Terima kasih buat bantuannya mas, sangat berarti buat saya. di PC saya ada bbrp printer, kalo pake command diatas hasilnya langsung cetak default printer. bisa gak di coding, set pilih printer lain (maunya LX800 tp default printernya bukan lx800). gak usah keluar option pilih printer tapi langsung diatur dalam coding VB nya.

    • December 1, 2011 at 2:16 pm | #94

      Coba gini om

      Private Sub cmdCetak_Click()
          Load arNota ' nama report ARnya
          With arNota
              .DataControl1.ConnectionString = connServer.ConnectionString
              .DataControl1.Source = strSql
              
              .Printer.DeviceName = "nama printer"
              .PrintReport False
          End With
          Unload arNota
      End Sub
      
  46. fajrin zamzam
    December 3, 2011 at 5:16 am | #97

    om… saya mau nanya ni… sy buat program database pake mysql dan rencananya mau di bikin client server… menurut om gimana cara koneksi yg baik dan gak mempengaruhi kecepatan akses data, apa koneksi terus-menerus, koneksi buka tutup, atau koneksi terus-menerus tetapi recordsetnya saja yg buka tutup??? tolong dijawab ya om… pliiis… urgent bgt ni…

    • December 3, 2011 at 9:15 am | #98

      Klo sy sendiri memlilih “buku tutup koneksi” alasannya :
      1. ADO memang dirancang untuk model disconnected
      2. Pada saat kita memanggil method conn.Close, aslinya koneksi tidak ditutup hanya ditandai sebagai “koneksi tidak terpakai” dan disimpan didalam “Connection Pooling” dan siap untuk digunakan lagi.
      3. Dari segi kinerja juga bisa kita bayangkan misal ada 30 klien aktif jika menggunakan model “koneksi terus menerus” tentu akan mengurangi kinerja server, padahal belum tentu semua klien sedang dioperasikan.

      Memang agak ribet sih selalu mengecek apakah koneksi sudah dibuka atw belum

      Private Function IsConnectionOpen(ByVal conn As ADODB.Connection)
          On Error GoTo errHandle
          
          If conn.State = adStateClosed Then conn.Open
          
          IsConnectionOpen = True
          
          Exit Function
      errHandle:
          IsConnectionOpen = False
      End Function
      
      Private Sub cmdTest_Click()
          If IsConnectionOpen(conn) Then
              ' TODO : eksekusi command (insert, update, delete)
              ' TODO : buka recordset
              ' TODO : tutup recordset
              
              conn.Close
          End If
      End Sub
      

      Selamat mencoba :)

  47. December 14, 2011 at 11:13 am | #99

    mas mau nanya,,
    klu print lx300 dengan keertas continius form bisa ngak menggunakan Crystal report

  48. Bambang
    December 14, 2011 at 12:54 pm | #100

    buat yg atas saya bantu jawab : bisa continous form pake CR maupun active report.

    @Admin, mau tanya lagi. pengalaman gak dengan printer LX300+?
    kok font yang dipilih di Active report dan hasil ouput print nya berbeda. hasilnya rapat semua, gak bisa dibaca. sedangkan kalo print dari MS Word gak ada masalah.
    Terima kasih.

  49. Bambang
    December 14, 2011 at 2:58 pm | #101

    jadi misal saya pakai font arial, tahoma, ms times new roman, hasil cetakan hurufnya dempet semua. gak bisa baca. bbrp font macam courier, sans serif bagus tp ya gitu kaku fontnya. saya test print pake draft lx300 bagus fontnya tapi gimana caranya biar AR bisa pake font draft itu ya? Terima kasih.

    • Bambang
      December 14, 2011 at 3:12 pm | #102

      solved. ternyata cuma perlu ubah resolusi lx300 jadi 120 x 144. Terima kasih :D

      • December 14, 2011 at 3:53 pm | #103

        Sipp manteb om, klo sy selama ini sy biasanya klo ngeprint pake continous form langsung pake printah direct print

        • December 15, 2011 at 4:58 pm | #104

          makasih mas bambang,,
          klu settingan kertas nya lgsung di lap aja ya mas…

          mas admin,,,
          maksud nya direct print gimana nich mas…
          belum mudeng nich,,
          maklum new bie

          • December 19, 2011 at 12:50 pm | #105

            Iya klo selama ini sy settingannya langsung waktu desain.

            Direct print itu langsung akses port printernya, contoh

            Private Sub cmdTesPrint_Click()
                Dim i As Integer
                
                Open "LPT1:" For Output As #1 'klo pake LPT
                For i = 1 To 10
                    Print #1, "Tess print"
                Next i
                Close #1
            End Sub
            
  50. December 24, 2011 at 4:44 pm | #106

    mas Admin mau nanya lagi nich,,,
    kenapa yach printer lx300 ngak kebaca di w7 ,,,
    saya mengunakan kabel usb,,,
    pas waktu mau print selalu error print…

    mohon pencrahan nya

    • December 26, 2011 at 8:44 am | #107

      Maksudnya enggak kebaca di Control Panel -> Devices and Printer ya ?

  51. December 26, 2011 at 3:44 am | #108

    om admin yang baek hati manu nanya nih………………..
    - bagemana menghubungkan AR dengan dua ato lebih table secara bersamaan
    - bagemana cara na membuat fungsi sum di AR
    - apakah bisa bikin detail footer lebih dari satu ? sebai contoh ane mau bikin laporan
    triwulan dari bulan januari sampai maret dengan diurutkan per bulan kalo bisa mohon
    pencerahannya…………….. matur nuwun

    • December 26, 2011 at 8:46 am | #109

      Wah ini jawabannya lumayan panjang om dan butuh gambar utk memperjelasnya jadi agak sulit klo sy jawab disini.

      Sebenarnya AR sudah menyediakan contoh yg lengkap coba di cek difolder berikut :
      C:\Program Files\Data Dynamics\ActiveReports Pro\Samples\Visual Basic Samples

  52. Newbie
    January 7, 2012 at 8:10 pm | #110

    Gan kalo Active Report buat vb.net punya ngga gan (yang + cr*ck :D ) ? Soalnya saya pakenya vb.net …. TQ

  53. agung
    February 21, 2012 at 5:44 am | #112

    om klo mo cetak lap. pake printer dotmatrix carax gmn ya?? cos aq langsung print hurufx amburadull..hehehe

    • February 21, 2012 at 7:05 am | #113

      Jangan pake TrueType font om biasanya hasil cetaknya jelek, jadi coba pake font MS Sans Serif

  54. agung
    February 22, 2012 at 9:10 pm | #114

    ok om tak coba dulu..suwun.

  55. iin
    February 23, 2012 at 10:17 pm | #116

    mas punya active report VBNet tdk, email donk… trims

  56. dedy
    February 29, 2012 at 4:37 pm | #118

    mas saya buat laporan 1 halaman a4 berisi 1 data karyawan kemudian karyawan berikutnya harus berada pada halaman berikutnya… saya menggunakan active report.. mohon bantuannya
    terima kasih email : kludzky@yahoo.com.sg atau dedy.cahyono@woodworth.co.id

    • March 1, 2012 at 7:55 am | #119

      Active Report sudah menyediakan banyak sample pada saat instalasi coba dipelajari dulu.

      C:\Program Files\Data Dynamics\ActiveReports Pro\Samples\Visual Basic Samples
      
  57. Arie
    March 13, 2012 at 4:25 pm | #120

    boss… untuk error dibawah ni :

    Error 5000 : Error in processing report.
    [Extended info :[Microdoft][ODBC Driver Manager] Data source name not found and no default driver specified]

    kira-kira masalah dimana yah…? database aku pake SQL Server

  58. zalfa
    April 6, 2012 at 6:51 pm | #122

    om klo error gni knapa ya?

    Error 5000 : Error in processing report.
    [ Extended Info:Command text was not set for the command object.]

    • April 6, 2012 at 7:47 pm | #123

      Kayaxnya sih lupa ngeset properties source dari komponen ADOnya, coba kodenya dipaste kesini.

      • zalfa
        April 6, 2012 at 9:11 pm | #124

        uda bsa gan koneksix ane taruk d module tpi gan seandaix tabelx banyak tu cra nentuin tabelx gmn ya gan??
        ane mo buat yang untuk pelangganx gan
        #help

        Public con As New ADODB.Connection
        Public Sub koneksi()
        Dim str As String
        If con.State = 1 Then con.Close
        con.CursorLocation = adUseClient
        con.Open “Provider=Microsoft.ACE.OLEDB.12.0; data source=” & App.Path & “\apotik.accdb;”

        With DATAOBAT
        .ADOOBAT.ConnectionString = con
        .ADOOBAT.Source = str
        End With

        End Sub

        • April 6, 2012 at 9:29 pm | #125

          Heran deh, kayaxya sample kode sy yg diatas udah jelas banget, tapi kok bisa

          ADOOBAT.ConnectionString = con 
          

          properties ConnectionStringnya diisi var con, bukannya variabel con punyanya si om itukan bertipe ADODB.Connection sedangkan properties ConnectionString itu kan harus diisi data bertipe string.

          Klo untuk nentuin tabelnya kan tinggal diset di properties Sourcenya :

          ADOOBAT.Source = "SELECT * FROM nama_tabel"
          

          Kayaxnya sy copas aja deh lagi kode diatas, mana tau si om kelewatan bacanya.

          Private Sub cmdPreview_Click()
              Dim strCon  As String
              Dim strSql  As String
          
              strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\sampleDb.mdb"
              strSql = "SELECT * FROM siswa"
          
              With arLapSiswa
                  
                  ' ini diisi string konek bukan var ADODB.Connection
                  .adoSiswa.ConnectionString = strCon
                  
                  ' nah klo ngeset tabelnya disini
                  ' liat lagi deh var strSql diatas
                  .adoSiswa.Source = strSql
          
                  .lblHeader1.Caption = "SEKOLAH MENGENGAH ..."
                  .lblHeader2.Caption = "Laporan Data Siswa"
          
                  .Show
              End With
          End Sub
          
  59. faza
    April 10, 2012 at 9:18 am | #126

    gan klo mo dbuat file setup di komputer lain tp blom terinstal active report bsa g gan?

    • April 10, 2012 at 10:51 am | #127

      Bisa om, yg penting copy dulu file arpro2.dll dan ARVIEW2.OCX di komputer yg belum ada ARnya

  60. faza
    April 10, 2012 at 8:52 pm | #128

    ok trims gan

  61. faza
    April 10, 2012 at 11:13 pm | #129

    gan kok gak bsa ya gan

    Error 5000 : Error in processing report.
    [ Extended Info:[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified]

    • April 11, 2012 at 4:04 am | #130

      Harus adil donk om, masa’ cuma ngasih errornya tok, kode yg menyebabkan errornya mana ???

      • faza
        April 11, 2012 at 9:49 am | #131

        ak install d lepiku g da msalah gan tpi pas ak install d komp lain malah error gtu gan pdahal file arpro2.dll, ARVIEW2.OCX dan databasex uda ak sertain gan

        • April 11, 2012 at 10:08 am | #132

          Iya karna laptop om kan pake win XP sedangkan komputer lainnya pake win 7 ?
          Atw jangan2x driver odbc databasenya belum diinstall, emg pake database apa ?

          • faza
            April 11, 2012 at 12:41 pm | #133

            sma2 pke 7 gan,databasex pake access

            • April 11, 2012 at 1:17 pm | #134

              Gini aja deh mana kode untuk menampilkan reportnya, biasanya kode itu bisa cerita banyak hal :D

              • faza
                April 11, 2012 at 9:26 pm | #135

                uda bsa gan terxta ane yg krang teliti hehe
                trims ya :D

  62. diandra
    May 3, 2012 at 9:20 pm | #137

    Syntax error (missing operator) in query expression ==> ini maksudnya apaan ya om…
    buid nya succeded..tapi muncul kalimat diatas di ===> da.fill(odt)
    mohon pencerahan om buat skripsi T.T dan ga mau jalan
    ini ane paste codenya

    Private Sub ComboBox5_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    If TextBox1.Text = ComboBox1.Text & ” => ” & ComboBox2.Text Then
    Dim da As New OleDbDataAdapter(“select *from [detail failure mode alat] where [id alat]=” & ComboBox2.SelectedValue, Conn)
    Dim odt As New DataTable
    da.Fill(odt)
    ComboBox5.DataSource = odt
    ComboBox5.DisplayMember = “kategori ‘-’ deskripsi failure mode”
    ComboBox5.ValueMember = “id failure mode”
    ComboBox5.SelectedIndex = -1
    ElseIf TextBox1.Text = ComboBox1.Text & ” => ” & ComboBox2.Text & ” => ” & ComboBox3.Text Then
    Dim da As New OleDbDataAdapter(“select *from [detail failure mode jenis alat] where [id jenis alat]=” & ComboBox3.SelectedValue, Conn)
    Dim odt As New DataTable
    da.Fill(odt)
    ComboBox5.DataSource = odt
    ComboBox5.DisplayMember = “kategori ‘-’ deskripsi failure mode”
    ComboBox5.ValueMember = “id failure mode”
    ComboBox5.SelectedIndex = -1
    Else
    Dim da As New OleDbDataAdapter(“select *from [detail failure mode model alat] where [id model alat]=” & ComboBox4.SelectedValue, Conn)
    Dim odt As New DataTable
    da.Fill(odt)
    ComboBox5.DataSource = odt
    ComboBox5.DisplayMember = “kategori ‘-’ deskripsi failure mode”
    ComboBox5.ValueMember = “id failure mode”
    ComboBox5.SelectedIndex = -1
    End If

    • May 4, 2012 at 1:13 pm | #138

      Ini dbnya ms access ya ?

      Klo dari pesan errornya sih yg bermasalah di perintah querynya, coba aja dites dulu di ms accessnya klo udah benar baru dites dari program.

  63. anto
    May 7, 2012 at 8:41 pm | #139

    om minta bntuan, gni sya pnya mslah saat membuat grantotal pda laporan laba, mksud sya query laporn bgni select idbarang,namabrg,jmlh*(hrgajual-hrgabeli) as profit, sum(jmlah*(hrgajual-hrgabeli)) as grandtotal from tbbrg tpi kok erorr ya ? query nya kudunya gmana ya om ? ato d reportnya kudu gmana ya supaya bsa muncul grantotal profitnya ? sblmnya mkash om .. :-)

    • May 8, 2012 at 10:01 am | #140

      Untuk querynya cukup seperti ini aja :

      select idbarang,namabrg,jmlh*(hrgajual-hrgabeli) as profit
      from tbbrg
      

      Nanti pengaturan grand totalnya diatur di section page footer.

      Lihat gambar

      Untuk property Datafieldnya diganti dengan profit

      • anto
        May 8, 2012 at 4:43 pm | #141

        thanks bngettt Om admin, ada yg mengganjal lg om sya pnya kasus gni, sya prnah nyoba buat progrm pnjualan dngan 2 kmpter yg kmpter 1 sbgai db servernya pkai acces, bgni misal stok sabun sblumnya 5 pcs kmudian kmpter 1 menjual 3 pcs dn kmpter 2 memasukn brang atau pembelian 5 pcs, scra brsmaan stok akhr menjadi 10 om ya sharusnya kn 7 ,knp ya om ? klo pakai mysql ap bsa sperti itu ya ? sblmnya thanks om..

        • May 8, 2012 at 6:32 pm | #142

          Mungkin waktu update stok untuk proses pembelian masih ngelock tabel barang sehingga pada saat update stok barang untuk proses penjualan gagal.

          Coba aja error handlernya dinonaktifkan trus dicoba lagi untuk kasus diatas mana tau errornya muncul, kan jadi lebih gampang untuk ngedebugnya

          • anto
            May 10, 2012 at 8:17 am | #143

            tp om ad perintah khusus ato script khsus gk untk pemrograman client servernya tu ? ato kyak locking dn unlocking git ?

            • May 10, 2012 at 9:28 am | #144

              Coba dibaca artikel disini om, terutama dibagian “LockType”

  64. puspita
    May 8, 2012 at 10:54 am | #145

    mau nanya nich klo mau menampilkan report berdasarkan tanggal gimana caranya ya?

    • May 8, 2012 at 11:38 am | #146

      Ya ngaturnya lewat query aja :

      SELECT * FROM tabel WHERE tanggal = 'TANGGAL'
      

      Dipemanggilan Active Reportnya tetap sama

  65. puspita
    May 8, 2012 at 11:41 am | #147

    nah itu ane bingung yang pemanggilan reportnya lewat form lain, gimana ya caranya boleh minta contohnya gak master? baru belajar nich

  66. puspita
    May 8, 2012 at 11:43 am | #148

    saya boleh download kodingnya lengkap g buat belajar active report, soalnya yang dari contoh d blog ini ane coba tapi g berhasil. mhon bantuannya…

  67. puspita
    May 8, 2012 at 11:53 am | #150

    OK, terimakasih banyak master. saya coba pelajari dulu, nanti kalo ada yang tidak mengerti boleh tanya2 lagi ya…

  68. May 26, 2012 at 2:05 pm | #152

    om ane. mau nanya nie. ane dah ikutin artikel yang om tuliskan n berhasil. satu pertanyaannya. ane kan punya 3 fields namanya pemasukan,pengeluaran,dan sisa 2 fields diambil dari database sedagkan 1 fields yaitu fields sisa diambil dari hasil sum(pemasukan )-sum(pengeluaran) gimana ya caranya om? ane dah coba tapi gak bisa-bisa. mohon bNTUanya..!

    • May 26, 2012 at 3:58 pm | #153

      Querynya mana om ?

      • May 26, 2012 at 8:51 pm | #154

        untuk sumnya ane ikutin dari activerpotnya om. kayak gambar yang om kasih tu, jadi sum pemasukan ma pengeluaranya ane pakek di active repot propertisnya om, gak pakek queri, nah dari sum itu mau ane buat pengurangan. sumnya si sudah bisa tapi buat pengurannya yang ane bigung. makek query jujur aja ni. ane juga kurang begitu bisa.heheh :)

  1. No trackbacks yet.

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 )

Connecting to %s