Skip to main content

Memodifikasi Tombol Preview Report pada Form Jurnal Transaksi

Pada dasarnya, modifikasi tombol Preview ini sama dengan modifikasi yang dilakukan pada posting dengan judul Dua Sumber Tabel yang Berbeda, Tetapi Satu Bentuk Laporan yang Sama. Perbedaan yang mendasar, Preview Report juga bisa dilakukan lewat menu.
Gambar 1

Kita akan membuat form seperti pada Gambar 1. Buatlah form dengan menggunakan Blank Form dan simpanlah form itu dengan nama frmTransJurnalDialog, lalu isikan dengan form control berikut ini:
  1. Combo box untuk Jenis Jurnal, propertinya adalah sebagai berikut:
    1. Name = StatusJurnal
    2. Column Count = 2
    3. Column Widths = 0";1"
    4. Colums Heads = No
    5. List Row = 2
    6. List Width = 1”
    7. Width = 1.5”
    8. Row Source = Temp;Jurnal Temporer;Perm;Jurnal Permanen
    9. Row Source Type = Value List
    10. Bound Column = 1
    11. Limit To List = Yes
    12. Default Value = "Temp"
  2. Option group Mode Tampilan, properti dan opsi di dalamnya sebagai berikut:
    1. Name=FrameModeTampilan
    2. Default Value=1
    3. Option button:
      1. Option button 1:
        1. Name = Option3
        2. Option Value = 1
        3. Label untuk option ini, Name = lblHanyaJurnalIni, dan Caption = Hanya Jurnal Ini.
      2. Option button 2:
        1. Name = Option5
        2. Option Value = 2
        3. Label untuk option ini, Name = lblTampilkanBerdasarkan Range, dan Caption = Tampilkan Berdasarkan Range.
    4. Persis di bawah lblTampilkanBerdasarkanRange, sisipkan text box dan check box berikut ini:
      1. Dari Tanggal, properti text box:
        1. Name = drTanggal
        2. Format= Medium Date
        3. Enabled=No
      2. sd Tanggal, properti text box:
        1. Name = sdTanggal
        2. Format= Medium Date
        3. Enabled=No
        4. Validation Rule= >[drTanggal]
        5. Validation Text = Tanggal harus lebih besar atau sama dengan "Dari Tanggal"
      3. Tampilkan subtotal tanggal, properti check box:
        1. Name = GrupTanggal
        2. Default Value=-1
        3. Label untuk check box ini, Caption= Tampilkan subtotal tanggal
        Subtotal tanggal diperlukan bila dalam satu rentang waktu tertentu dan dalam satu range nomor jurnal tertentu, ada banyak nomor jurnal sehingga kita tahu, berapa jumlah transaksi setiap harinya.
    5. Selanjutnya, di bagian paling bawah dari FrameModeTampilan, sisipkan combo box dan check box berikut ini:
      1. Dari Tipe. properti combo box:
        1. Name = drTipe
        2. Column Count = 2
        3. Column Widths = 1";2"
        4. Colums Heads = Yes
        5. List Row = 16
        6. List Width = 3”
        7. Width = 1”
        8. Row Source = SELECT tblTempTransJournal_Parent. TipeJurnal, tblTipeJurnal.NamaJurnal FROM tblTipeJurnal INNER JOIN tblTempTransJournal_Parent ON tblTipeJurnal.TipeId=tblTempTransJournal_Parent.TipeJurnal GROUP BY tblTempTransJournal_Parent.TipeJurnal, tblTipeJurnal.NamaJurnal ORDER BY tblTempTransJournal _Parent.TipeJurnal;
        9. Row Source Type = Table/Query
        10. Bound Column = 1
        11. Limit To List = Yes
        12. Enabled=No
      2. sd Tipe, properti combo box:
        1. Name = sdTipe
        2. Column Count = 2
        3. Column Widths = 1”;2”
        4. Colums Heads = Yes
        5. List Row = 16
        6. List Width = 3”
        7. Width = 1”
        8. Row Source = SELECT tblTempTransJournal_Parent. TipeJurnal, tblTipeJurnal.NamaJurnal FROM tblTipeJurnal INNER JOIN tblTempTransJournal_Parent ON tblTipeJurnal.TipeId=tblTempTransJournal_Parent.TipeJurnal GROUP BY tblTempTransJournal_Parent.TipeJurnal, tblTipeJurnal.NamaJurnal HAVING (((tblTempTrans Journal_Parent.TipeJurnal)>=[Forms]![frmTransJurnalDialog]![drTipe])) ORDER BY tblTempTransJournal_Parent. TipeJurnal;
        9. Row Source Type = Table/Query
        10. Bound Column = 1
        11. Limit To List = Yes
        12. Enabled=No
      3. sd Tipe, properti combo box:
        1. Name = sdTipe
        2. Column Count = 2
        3. Column Widths = 1”;2”
        4. Colums Heads = Yes
        5. List Row = 16
        6. List Width = 3”
        7. Width = 1”
        8. Row Source = SELECT tblTempTransJournal_Parent. TipeJurnal, tblTipeJurnal.NamaJurnal FROM tblTipeJurnal INNER JOIN tblTempTransJournal_Parent ON tblTipeJurnal.TipeId=tblTempTransJournal_Parent.TipeJurnal GROUP BY tblTempTransJournal_Parent.TipeJurnal, tblTipeJurnal.NamaJurnal HAVING (((tblTempTrans Journal_Parent.TipeJurnal)>=[Forms]![frmTransJurnalDialog]![drTipe])) ORDER BY tblTempTransJournal_Parent. TipeJurnal;
        9. Row Source Type = Table/Query
        10. Bound Column = 1
        11. Limit To List = Yes
        12. Enabled=No
      4. Tampilkan subtotal tiap jurnal, properti check box:
        1. Name = GrupTipe
        2. Default Value=-1
        3. Label untuk check box ini, Caption= Tampilkan subtotal tiap jurnal
        Subtotal tiap jurnal diperlukan bila dalam satu range tertentu ada banyak nomor jurnal sehingga kita tahu, berapa jumlah transaksi setiap nomor jurnalnya.
  3. Option group Ukuran Kertas, properti dan opsi di dalamnya sebagai berikut:
    1. Name= FramBentukKertas
    2. Default Value=1
    3. Option button:
      1. Option button 1:
        1. Name = Option35
        2. Option Value = 1
        3. Label untuk option ini, Caption = Letter, bentuk simple, isi jurnal: tidak termasuk kolom kuantitas, satuan ukuran, harga per unit, total, tgl jatuh tempo.
      2. Option button 2:
        1. Name = Option37
        2. Option Value = 2
        3. Label untuk option ini, Caption = Legal, isi jurnal: lengkap.
  4. Tombol perintah, properti:
    1. Name = Command1
    2. Caption = Lihat Laporan
  5. Tombol perintah, properti:
    1. Name = Command0
    2. Caption = Batal
    3. On Click = =tutup()
Untuk mengarahkan form sesuai dengan keinginan kita, maka aplikasikan event procedure berikut ini dalam modul Form_frmTransJurnalDialog:
Option Compare Database
Private Sub Command1_Click()
globStatusJurnal = Me.StatusJurnal
  If Me.FrameModeTampilan = 1 And Not formdiLoad("frm" & globStatusJurnal & "TransJournal_Parent") Then
    MsgBox "Form jurnal entry tidak aktif"
    Exit Sub
  End If
  If Me.FrameModeTampilan = 2 Then
    If (Not IsNull(Me.drTanggal) And IsNull(Me.sdTanggal)) Or (IsNull(Me.drTanggal) And Not IsNull(Me.sdTanggal)) Then
      MsgBox "Salah satu dari kriteria tanggal tidak boleh kosong." & vbCrLf & vbCrLf _
              & "Kosongkan semua kriteria untuk melihat semua tanggal yang tercatat"
      Exit Sub
    End If
    If (Not IsNull(Me.drTipe) And IsNull(Me.sdTipe)) Or (IsNull(Me.drTipe) And Not IsNull(Me.sdTipe)) Then
      MsgBox "Salah satu dari kriteria tipe jurnal tidak boleh kosong." & vbCrLf & vbCrLf _
              & "Kosongkan semua kriteria untuk melihat semua tanggal yang tercatat"
      Exit Sub
    End If
  End If
  If Me.FramBentukKertas = 1 Then PreviewUnRefresh ("rptTempTransJournalSimple") Else PreviewUnRefresh ("rptTempTransJournal")
End Sub
Private Sub drTipe_AfterUpdate()
  Me.sdTipe.Requery
End Sub
Private Sub Form_Close()
  If globStatusJurnal = "" Then Form_frmMenus.Visible = True
End Sub
Private Sub Form_Open(Cancel As Integer)
  If globStatusJurnal <> "" Then
    Me.StatusJurnal = globStatusJurnal
    Me.Modal = True
  Else
    Me.Modal = False
    Me.FrameModeTampilan = 2
    FrameModeTampilan_AfterUpdate
  End If
  If formdiLoad("frm" & globStatusJurnal & "TransJournal_Parent") Then
    Me.lblHanyaJurnalIni.Caption = Me.lblHanyaJurnalIni.Caption & " (" & Forms("frm" & globStatusJurnal & "TransJournal_Parent").JurnalIdInfo & ")"
    Me.StatusJurnal.Enabled = False
    Me.Option5.Enabled = False
  Else
    Me.Option3.Enabled = False
  End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
  globStatusJurnal = ""
End Sub
Private Sub FrameModeTampilan_AfterUpdate()
  If Me.FrameModeTampilan = 2 Then
    Me.drTanggal.Enabled = True
    Me.sdTanggal.Enabled = True
    Me.drTipe.Enabled = True
    Me.sdTipe.Enabled = True
    Me.Form.Requery
  Else
    Me.drTanggal.Enabled = False
    Me.sdTanggal.Enabled = False
    Me.drTipe.Enabled = False
    Me.sdTipe.Enabled = False
  End If
End Sub 
Bila dibuka dengan Form view, tampilan frmTransJurnalDialog seperti ini:
Gambar 2
Karena jenis jurnal untuk form yang aktif (dibuka) adalah jurnal transaksi temporer, maka form akan otomatis mengarahkan combo box Jenis Jurnal ke jurnal temporer dan dalam posisi non aktif. Form dialog ini juga langsung mengarahkan untuk melihat jurnal pada form yang aktif saja, jadi tidak bisa melihat jurnal dalam satu kisaran atau range tertentu. Kita dapat memilih ukuran kertas, apakah menggunakan letter sebagai default atau legal. Bila letter yang digunakan, maka laporan jurnal itu tidak termasuk field atau kolom kuantitas, satuan ukuran, harga per unit, total, tgl jatuh tempo. Jika legal yang digunakan, semua kolom ditampilkan dalam laporan jurnal.

Secara umum, dalam praktek akuntansi sehari-hari, jurnal transaksi tidak memasukkan informasi (field) kuantitas, satuan ukuran, harga per unit, total, dan tanggal jatuh tempo. Namun demikian, kemajuan teknologi informasi membantu akuntan untuk dapat menyediakan informasi non keuangan yang masih terkait dengan informasi keuangan itu sendiri. Dengan adanya tambahan field-field seperti ini, informasi menjadi jauh lebih lengkap, akurat, dan dapat diandalkan.

Comments

Posting Terpopuler

Normalisasi, Denormalisasi, dan Anomali Database

Membuat Relasi Database

Menampilkan Data MySQL dalam Form di Access