0% menganggap dokumen ini bermanfaat (0 suara)
501 tayangan24 halaman

Membuat Program Akuntansi Dengan MS Access VBA PDF

Modul di Access berisi deklarasi, pernyatah, prosedur, atau fungsi yang diprogram secara terstruktur untuk membentuk kesatuan yang terpadu. Ada dua jenis modul, yaitu modul kelas dan modul standar. Modul digunakan untuk menyimpan kode VBA yang dapat digunakan berbagai objek seperti form dan query."

Diunggah oleh

chiensukses
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
501 tayangan24 halaman

Membuat Program Akuntansi Dengan MS Access VBA PDF

Modul di Access berisi deklarasi, pernyatah, prosedur, atau fungsi yang diprogram secara terstruktur untuk membentuk kesatuan yang terpadu. Ada dua jenis modul, yaitu modul kelas dan modul standar. Modul digunakan untuk menyimpan kode VBA yang dapat digunakan berbagai objek seperti form dan query."

Diunggah oleh

chiensukses
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 24

Membuat Modul

Pada Access, modul berisi deklarasi, pernyataan, prosedur, atau fungsi yang
diprogram dengan cara yang terstruktur dan sistematis sebagai sebuah
kesatuan yang terpadu. Ada dua jenis modul, yaitu modul kelas atau class
module, dan modul standar atau standard module. Class module biasanya
ada di form atau report, dan biasanya berisi prosedur yang khusus diprogram
untuk form atau report itu. Oleh karena itu, class module sering disebut
modul form (bila berada di form) dan modul report (bila berada di report).
Standard module berisi prosedur umum yang tidak berhubungan atau dapat
digunakan pada objek yang lain, seperti query, form, dan report. Standard
module tercantum di bagian Modules pada Navigation pane.

5.1 Membuat Modul Sederhana


Sebagai langkah awal, kita akan membuat modul sederhana yang bisa
diaplikasikan ke berbagai form. Modul sederhana yang akan kita buat di
bawah ini, awalnya dibuat menggunakan Button (Form Control) yang
terletak di tab Design grup Controls dengan bantuan Use Control Wizards.
Modul ini awalnya berada di form yang merupakan bagian dari event
procedure sub command On Click.
Function Awal()
'------------------------------------------
' Awal, arahkan ke awal record
'------------------------------------------
On Error GoTo Awal_Err
DoCmd.RunCommand acCmdRecordsGoToFirst
Awal_Exit:
Exit Function

43
Awal_Err:
MsgBox Error$
Resume Awal_Exit
End Function

Setelah tombol (button) ini selesai dibuat dan berfungsi dengan benar, baru
dipindahkan ke Modules.

5.2 Cara Membuat Module


Untuk membuat module, pilihlah tab Create dan pilih Modules pada grup
Other. Access akan menampilkan Microsoft Visual Basic (VB) Editor seperti
Gambar 5.1 di bawah ini.

Gambar 5.1 Microsoft Visual Basic Editor di Access

Salinlah kode VBA berikut ini ke dalam editor:


Option Compare Database
Option Explicit
Public Enum PeriodeTanggal
TglAwalthn = 0
TglAkhirThn = 1
TglAwalBulan = 2
TglAkhirBulan = 3
TglAwalBulanSebelum = 4

44
TglAkhirBulanSebelum = 5
TglAwalBulanBerikut = 6
TglAkhirBulanBerikut = 7
TglAwalThnSebelum = 8
TglAkhirThnSebelum = 9
TglAwalBulanThnSebelum = 10
TglAkhirBulanThnSebelum = 11
TglAwalThnBerikut = 12
TglAkhirThnBerikut = 13
TglAwalBulanThnBerikut = 14
TglAkhirBulanThnBerikut = 15
End Enum
Public Enum PeriodeTahun
TahunBerjalan = 0
TahunSebelum = 1
TahunBerikut = 2
End Enum

Option Compare Database digunakan untuk membuat perbandingan ber-


dasarkan posisi relatif karakter (string) sesuai dengan urutan yang ditentukan
ketika database dikompilasi, di mana sifatnya adalah case insensitive.
Misalnya, karakter "A" akan sama dengan "a". Hal ini berbeda bila Option
Compare Binary, di mana karakter "A" tidak akan sama dengan "a".

Option Explicit mensyaratkan semua variabel dan konstanta harus didekla-


rasikan (ditetapkan) terlebih dahulu sebelum menggunakannya. Variabel
dapat dideklarasikan melalui pernyataan dim atau static dalam sebuah
prosedur dan perintah global atau private di bagian deklarasi. Dengan
mensyaratkan deklarasi variabel ini, VBA dapat mendeteksi adanya kesalahan,
seperti kesalahan ketik ketika kita mengompilasi, atau ketika kode gagal
untuk dijalankan. Mampu mendeteksi kesalahan saat kode dikompilasi, dan
bukan menampilkan kesalahan saat kode telah dikompilasi adalah bagian
mendasar dari menulis kode yang lebih baik.

Public Enum PeriodeTanggal berarti VBA akan mendeklarasikan sebuah


daftar (enumerasi) dengan tipe data yang bernama PeriodeTanggal, dalam hal
ini ada 16 item seperti di atas. Pada contoh Gambar 5.2, saat kita menge-
tikkan fungsi CekPeriodeTanggal, VBA akan menampilkan intellisense
berupa sebuah daftar sebanyak 16 item yang akan kita pilih sebagai variabel.
Nilai variabel itu berupa bilangan bulat, bisa negatif atau positif.

45
Gambar 5.2 Memanggil daftar bertipe PeriodeTanggal melalui intellisense

Dalam contoh di atas, nilainya terletak antara 0 dan 15. Untuk Public Enum
PeriodeTahun, penjelasannya sama dengan Public Enum PeriodeTanggal.

Berikutnya kita akan membuat berbagai macam fungsi yang bersifat global.
Oleh karena itu, simpanlah modul yang baru saja kita buat (termasuk
Function Awal di atas) dengan nama mdlGlobal. Untuk selanjutnya, bukalah
file mdlGlobal.txt. Kecuali kode yang telah dibuat di atas, pindahkan semua
kode VBA yang ada di dalamnya ke dalam modul mdlGlobal.

5.3 Mengaplikasikan Modul ke Form


Pada subbab sebelumnya, kita telah membuat form dalam bentuk yang paling
sederhana dan belum mempunyai fitur yang dapat membuat pekerjaan
menjadi lebih mudah dan cepat. Di sisi lain, kita telah membuat modul berisi
fungsi yang dapat kita aktifkan setiap saat, di mana pun objek itu berada.

Untuk diketahui, dengan mengaktifkan Use Control Wizard dan klik tombol
Button (Form Control), Access dapat memandu kita membuat Wizard
tombol perintah yang memiliki kode VBA seperti yang dibuat pada sebagian
isi modul di atas. Contohnya tombol perintah untuk kembali ke awal, ke
record sebelumnya, menambah record baru, ke record berikutnya, dan
sebagainya. Mereka semua dibuat dengan Wizard Button (Form Control)
yang kemudian diaplikasikan ke dalam event procedure sebuah form. Dengan
beberapa modifikasi, kita dapat memindahkan mereka ke modul mdlGlobal,
seperti yang telah dibahas di subbab sebelumnya.

46
Gambar 5.3 Menambahkan tombol perintah

Untuk mengeksekusi fungsi dalam modul standar yang telah dibuat ke


sebuah form, kita harus membuat tombol perintah (command button).
Caranya sebagai berikut:

1. Pada form, misalkan frmRekUtama, bukalah dengan Design view, lalu


pada tab Design grup Controls, nonaktifkan tombol Use Control Wizard
dan klik tombol Button (Form Control).

2. Pada area form header, tambahkan Button (Form Control), untuk


membuat command button. Lihat Gambar 5.3.

3. Bukalah property sheet command button dan isikan properti berikut ini.
Name = Awal, Caption = Awal, Picture = pilihlah Go To First dari daftar
gambar yang tersedia, ControlTipText = Kembali ke record awal, dan On
Click = =Awal().

4. Lakukan langkah kedua dan ketiga untuk perintah-perintah berikut ini:

a. Record sebelumnya, properti: Name = RecordSebelumnya, Caption


= Record Sebelumnya, Picture = pilihlah Go To Previous dari daftar
gambar yang tersedia, ControlTipText = Kembali ke record
sebelumnya, dan On Click = = Sebelumnya().

b. Buat record baru, properti: Name = BuatRecordBaru, Caption =


Buat Record Baru, Picture = pilihlah Go To New dari daftar gambar

47
yang tersedia, ControlTipText = Buat record baru, dan On Click = =
BuatRecordBaru ().

c. Record berikutnya, properti: Name = Record Berikutnya, Caption =


Record berikutnya, Picture = pilihlah Go To Next dari daftar
gambar yang tersedia, ControlTipText = Menuju ke record
berikutnya, dan On Click = = Berikutnya ().

d. Record akhir, properti: Name = Record Akhir, Caption =


RecordAkhir, Picture = pilihlah Go To Last dari daftar gambar yang
tersedia, ControlTipText = Menuju ke record akhir, dan On Click =
=Akhir().

e. Tutup form, properti: Name = TutupForm, Caption = Tutup Form,


Picture = pilihlah Exit Doorway dari daftar gambar yang tersedia,
ControlTipText = Tutup form ini, dan On Click = =Tutup().

f. Hapus record, properti: Name = HapusRecord, Caption = Hapus


Record, Picture = pilihlah Delete Record dari daftar gambar yang
tersedia, ControlTipText = Hapus record ini, dan On Click = =
Hapus([RecordSource]).

g. Batalkan, properti: Name = Batalkan, Caption = Batalkan, Picture =


pilihlah Undo dari daftar gambar yang tersedia, ControlTipText =
Batalkan tindakan terakhir, dan On Click = =Batalkan().

h. Cari record, properti: Name = CariRecord, Caption = Cari Record,


Picture = pilihlah Binoculars (Find) dari daftar gambar yang
tersedia, ControlTipText = Cari record sesuai dengan kriteria, dan
On Click = =Cari().

5. Klik properti untuk form (form properties) dan isikan properti: Caption
= Daftar Kode Rekening - Rekening Utama, Record Selectors = No, dan
Navigation Button = No.

6. Tampilan form setelah ada tambahan tombol perintah akan tampak


seperti Gambar 5.4.

48
Gambar 5.4 Tombol perintah pada form

Jika sudah selesai menambahkan tombol-tombol di atas, kita dapat meng-


copy semua tombol itu ke form lain. Caranya, blok saja semua tombol, dari
tombol Awal ke tombol Cari, tekan Ctrl C lalu paste (Ctrl V) ke form lain.

Selain mdlGlobal di atas, ada juga modul yang dibuat sesuai dengan tujuan
pengelolaan. Untuk sekadar informasi, modul yang telah dibuat disimpan
dengan nama mdlGlobal bertujuan untuk memudahkan kita mengingat
fungsi-fungsi yang sifatnya global, tidak terkait dengan hal-hal yang khusus.
Untuk hal-hal yang khusus, seperti pengelolaan pengguna dan software
akuntansi, modulnya bisa dinamai dengan mdlTransJurnal, mdlPengguna,
dan sebagainya.

5.4 Modul untuk Mengelola Pengguna


Modul untuk mengelola pengguna berisi fungsi-fungsi yang digunakan untuk
mengelola pengguna yang masuk ke dalam sistem. Seperti diketahui, hierarki
sistem informasi manajemen ada tiga level, yaitu puncak, menengah, dan
bawah. Masing-masing mempunyai hak akses yang melekat sesuai dengan
levelnya. Level puncak tentu saja mempunyai hak akses terhadap sistem yang
lebih lengkap daripada level di bawahnya. Level bawah mempunyai hak akses
yang melekat sesuai dengan tugasnya, misalnya seseorang yang hanya bisa
membuat jurnal, tentu saja tidak bisa memproses jurnal yang dibuatnya.
Hanya otoritas yang berwenang, biasanya dengan level yang lebih tinggi dan
menguasai bidangnya, yang bisa memproses jurnal itu. Level yang tinggi
seperti manajer produksi dan pemasaran, karena tidak menguasai bidang

49
akuntansi, tentu saja tidak berhak untuk memproses jurnal. Namun demikan,
mereka berhak untuk mengakses laporan yang berkaitan dengan bagian atau
departemen yang menjadi tanggung jawabnya.

Untuk membuat modul pengguna, bukalah file mdlPengguna.txt yang ada


dalam Bonus CD. Setelah itu, buatlah modul di Access melalui Navigation
pane dan simpanlah dengan nama mdlPengguna. Pindahkan semua kode
yang ada dalam mdlPengguna.txt ke mdlPengguna.

5.4.1 Mengaktifkan Fungsi TampilkanLogin dan LogoutDialog


Sebuah sistem yang menggunakan hak akses pengguna selalu menampilkan
nama atau identitas pengguna yang aktif di layar. Contohnya seperti pada
Gambar 5.6, di mana Administrator sedang aktif membuka form periode.
Kita dapat menampilkan user yang aktif dengan cara berikut ini.

Gambar 5.5 Fungsi TampilkanLogin dan LogoutDialog di bagian kiri atas

1. Buatlah text box dalam form, misalnya seperti frmRekUtama pada


Gambar 5.5. Beri nama text box itu "LoginPgn", dan labelnya "Login".

2. Isi atau ketik "=TampilkanLogin()" pada Control Source text box


LoginPgn.

3. Buatlah text box tanpa label untuk pengguna yang logout. Beri nama text
box itu: logout.

4. Isi atau ketik ="Logout" pada Control Source text box logout.

50
5. Pada properti Visible dan Is Hyperlink untuk text box logout, berurutan,
ubahlah nilainya menjadi No dan Yes.

6. Pada bagian properti Event - On Click dari text box logout, isikan fungsi
=LogoutDialog([TempVars]![IdPengguna]).

7. Buatlah event procedure pada properti form On Open sebagai berikut:


Private Sub Form_Open(Cancel As Integer)
Me.Caption = "Daftar Kode Rekening - Rekening Utama "
& Nz(IdPerusahaan("Nama"), "")
If Not IsNull(Me.LoginPgn) Then Me.logout.Visible =
True
End Sub

Pada saat dibuka, form frmRekUtama akan menjalankan event procedure


Private Sub Form_Open. Setelah itu, jika ada pengguna yang aktif (tersimpan
dalam memori sementara yang bernama ([TempVars]! [IdPengguna]), maka
nama pengguna akan ditampilkan melalui fungsi TampilkanLogin, sedangkan
text box Logout akan muncul (visible).

Kita dapat meng-copy text box LoginPgn dan logout ke semua form atau
report yang telah dibuat.

5.5 Modul untuk Mengelola Aktivitas


Akuntansi
Aktivitas akuntansi dimulai dari pembuatan kode rekening. Kode rekening
ini akan digunakan dalam pencatatan jurnal transaksi, pembuatan buku
besar, neraca lajur sampai dengan diterbitkannya laporan keuangan.

Aktivitas lainnya membuat jurnal transaksi. Jurnal transaksi merupakan pusat


dari seluruh aktivitas akuntansi, karena dari sinilah semua bentuk laporan
dibuat. Jadi, kesalahan dalam pembuatan jurnal transaksi, baik dalam kode
rekening, keterangan, jumlah kuantitas, referensi, maupun jumlah rupiah
didebit atau dikredit, bisa berakibat laporan keuangan menjadi salah
interpretasi. Software akuntansi yang baik harus mempunyai kontrol
terhadap pembuatan jurnal transaksi. Tentu saja, peran manusia adalah yang

51
utama, karena software akuntansi hanya membantu memudahkan pekerjaan
manusia menjadi lebih efisien dan efektif.

Untuk membuat modul yang berkaitan dengan akuntansi, bukalah file


mdlTransJurnal.txt yang ada dalam Bonus CD. Setelah itu, buatlah module
di Access melalui Navigation pane dan simpanlah dengan nama
mdlTransJurnal. Pindahkan semua kode yang ada pada mdlTransJurnal.txt
ke mdlTransJurnal.

5.6 Memasukkan Data ke Tabel Menggunakan


Form
Setelah mengetahui bagaimana membuat tabel dan mendesain form seder-
hana, langkah selanjutnya membuat query dan report. Namun, sebelum ke
langkah itu, kita harus memasukkan terlebih dahulu record ke dalam masing-
masing tabel, terutama tabel master, melalui form yang telah dibuat. Untuk
memasukkan record melalui form, kita harus memastikan bahwa tombol
perintah seperti yang telah dibuat di subbab sebelumnya, telah terpasang dan
berfungsi sempurna. Jika belum, baca kembali caranya di Subbab 5.3 dan
ikuti langkah-langkahnya. Jika sudah, kita akan mulai memasukkan data ke
tabel melalui form.

Ada dua macam cara memasukkan record ke tabel melalui sebuah form.
Pertama, menautkan form ke sumber tabel, yaitu melalui properti Record
Source pada form. Cara yang kedua, menggunakan recordset.

5.6.1 Memasukkan Data ke Tabel Menggunakan Record


Source Form
Dengan cara ini, kita memasukkan record atau data dengan menggunakan
bantuan langsung oleh Access. Caranya dengan menautkan sumber tabel ke
properti Record Source pada form dan menautkan Control Source dari
sumber field ke form control. Dengan cara ini, programmer tidak perlu
membuat program yang berisi kode VBA untuk menambah atau mengedit
data.

52
Kita dapat memasukkan data pada tabel di ..\pdf\isi data tabel.pdf dalam
Bonus CD ke masing-masing form yang relevan. Perlu dicatat di sini bahwa
dalam praktik, jumlah rekening atau jumlah record bisa lebih dari contoh di
file tersebut.

5.6.2 Memasukkan Data ke Tabel Menggunakan Class


Module (Recordset) di Form
Pada bagian ini kita akan memasukkan data menggunakan kode VBA yang
kita buat sendiri. Kita akan menggunakan tblPeriode sebagai contohnya.
Untuk itu, bukalah form frmPeriode seperti telah dibuat di Subbab 4.4
dengan format Design view.

Setelah itu, isikan kode VBA yang ada pada Form_frmPeriode.txt ke class
module Form_frmPeriode. Tampilan akhir form beserta record yang
tersimpan tampak seperti Gambar 5.6. Kita dapat menambahkan tombol
yang diperlukan, seperti preview, print, dan sebagainya.

Gambar 5.6 Form view periode

53
Membuat Laporan

6.1 Membuat Laporan Menggunakan Tombol


Report
Tombol Report yang terletak di tab Create grup Reports dapat digunakan
untuk membuat laporan sederhana dari suatu tabel atau query. Caranya
sangat mudah. Arahkan mouse ke tabel yang laporannya ingin kita buat,
sorotlah tabel itu, dan klik tombol Report. Selesai.

Gambar 6.1 Laporan sederhana dari daftar rekening utama

Setelah selesai membuat laporan, kita dapat memodifikasi properti dari


report atau field yang ada. Sebagai contoh, tabel tblRekUtama. Sorotlah tabel
tblRekUtama, lalu klik tombol Report. Hasilnya tampak seperti Gambar 6.1
(Layout view).

54
Sekarang lakukan langkah berikut ini:

1. Ubahlah tampilan report ke Design view.

2. Kita dapat mengubah Logo yang ada atau menghapusnya (properti


Name = Auto_Logo0).

3. Klik dan tampilkan report properties dan ubahlah Caption menjadi


"Daftar Kode Rekening - Rekening Utama".

4. Klik dan tampilkan properti Auto_Title0 dan ubahlah namanya menjadi


"Daftar Kode Rekening - Rekening Utama". Sesuaikan lebar Auto_Title0
seperlunya.

5. Pada bagian Page header dan detail, susun kembali layoutnya sebagai
berikut:

a. Sebelum diurutkan: Rek_Kode - Rek_Nama - Rek_Grup

b. Setelah diurutkan: Rek_Grup - Rek_Kode - Rek_Nama

Gambar 6.2 Laporan daftar rekening utama yang sudah dirapikan

6. Klik dan tampilkan properti Rek_Grup dan ubahlah properti berikut ini
Hide Duplicates = Yes, Can Grow = No, Can Shrink = No.

55
7. Sesuaikan batas atau border di Page header dan detail dengan mengatur
properti Border Style = Solid, Border Width = Hairline.

8. Simpanlah report dengan nama rptRekUtama. Jika dibuka dengan Print


preview, report akan tampak seperti Gambar 6.2.

6.2 Memodifikasi Report Berdasarkan


Permintaan Pengguna
Adakalanya pengguna ingin membaca report sesuai dengan keinginan.
Tujuannya supaya pengguna lebih fokus pada apa yang sedang dikerjakannya.
Selain itu, bila report itu dicetak, tidak membutuhkan kertas dalam jumlah
yang banyak sehingga biaya alat tulis kantor bisa diirit.

Pada bagian ini, kita akan memodifikasi report yang telah dibuat agar bisa
memenuhi permintaan pengguna, misalkan menggunakan form dialog
seperti tampak pada Gambar 6.3.

Gambar 6.3 Penggunaan form dialog untuk menampilkan laporan


yang diinginkan

Gambar 6.3 menunjukkan bahwa ketika mengklik tombol perintah Preview


Report (tombol perintah paling kanan) pada form frmRekUtama, Access akan
menampilkan kotak dialog yang berisi instruksi yang akan dilaksanakannya
untuk menampilkan report sesuai dengan permintaan. Sebagai misal, bila
sebuah report ingin ditampilkan berdasarkan range, seperti Gambar 6.4,
maka pengguna akan diminta memasukkan variabel yang dibutuhkan.

56
Setelah itu, dengan mengklik tombol Lihat Laporan, Access akan menam-
pilkannya.

Gambar 6.4 Laporan kode rekening utama yang diatur berdasarkan range

Kita, terutama programmer, bisa saja membuat dua macam bentuk laporan,
misalnya rptRekUtama untuk menampilkan semua laporan dan
rptRekUtama1 untuk menampilkan laporan tertentu saja. Cara ini memang
mudah, karena programmer hanya perlu menambah satu bentuk laporan
(misal rptRekUtama1), tanpa perlu menambahkan kode VBA yang sulit.
Tetapi, kalau jumlah laporan yang dibuat terlalu banyak, ukuran filenya juga
akan membesar, karena Access menyimpan semua properti untuk masing-
masing laporan, padahal secara substansi, tabel yang digunakan juga sama,
demikian pula tampilan kolom (field) juga sama. Perbedaannya, dalam
contoh di atas, laporan satu menampilkan semua, sedangkan laporan kedua
menampilkan sesuai dengan range. Maka dari itu, karena kolom yang ingin
ditampilkan dan tabel yang digunakan itu sama, kita hanya perlu membuat
satu laporan saja, yaitu rptRekUtama. Laporan rptRekUtama inilah yang akan
dimodifikasi.

57
Membuat report semacam itu melibatkan berbagai macam objek, seperti
tabel, query, form, report, dan modul. Berikut ini langkah-langkah pem-
buatannya.

Buatlah form menggunakan Blank Form dan simpanlah form tersebut


dengan nama frmRekUtamaDialog. Setelah itu, edit form dalam Design view.

1. Isikan berbagai macam properti di bawah ini:

a. Properti untuk Form: Caption = Preview Report Daftar


Kode Rekening - Rekening Utama, Modal = Yes, Auto
Center = Yes, Auto Resize = Yes, Fit to Screen = Yes, Border
Style = Dialog, Record Selector = No, Navigation Button=
No, dan Moveable = No.

b. Dengan mengaktifkan tombol Use Control Wizards pada


grup Controls, click tombol Option Group dan ketikkan:

i. Labels names, ketikkan 2 macam pilihan di bawah


ini:

1. Tampilkan Semua

2. Tampilkan Berdasarkan Range:

ii. Klik tombol Next.

iii. Pilih Tampilkan Semua sebagai default. Klik


tombol Next.

iv. Isikan nilai Tampilkan Semua = 1 dan Tampilkan


Berdasarkan Range = 2. Klik tombol Next.

v. Klik tombol Next.

vi. Caption = Mode Tampilan dan klik Finish.

c. Kliklah form control frame dan isikan properti berikut ini:


Name = FrameModeTampilan, Border Style = Transparent,

58
dan After Update = [Event Procedure], ikuti langkah m di
bawah.

d. Pada tab Design grup Tools, klik Add Existing Fields untuk
menampilkan Field List pane, pilih tabel tblRekUtama.

e. Tarik field Grup ke dalam form, lalu tampilkan Properties


Sheet untuk combo box Grup dan isikan properti berikut
ini: Control Source = blank, Enabled = No, dan atur
properti After Update = [Event Procedure] dan On Change
= [Event Procedure], ikuti langkah m di bawah.

f. Nonaktifkan terlebih dahulu tombol Use Control Wizards


yang ada di tab Design grup Controls, lalu buatlah combo
box dengan properti sebagai berikut: Name =
DariKodeRek, Row Source = SELECT KodeRek, NamaRek
FROM tblRekUtama WHERE Grup=[Forms]![frm
RekUtamaDialog]![Grup] ORDER BY KodeRek;, Row
Source Type = Table/Query, Bound Column = 1, Column
Count = 2, Column Widths = 1";2", List Width = 3, Limit
to list = Yes, Enabled = No, dan After Update = [Event
Procedure], ikuti langkah m di bawah.

g. Buatlah combo box sama seperti di nomor f dengan


properti sebagai berikut: Name = sdKodeRek, Row Source
= SELECT KodeRek, NamaRek FROM tblRekUtama WHERE
Kode Rek>=Forms!frmRekUtamaDialog!DariKode Rek
And Grup=Forms!frmRekUtamaDialog!Grup ORDER BY
KodeRek;, Row Source Type = Table/Query, Bound
Column = 1, Column Count = 2, Column Widths = 1";2",
List Width = 3, Limit to list = Yes, dan Enabled = No.

h. Buatlah text box dengan properti sebagai berikut: Name =


DariNamaRek, Control Source = =[DariKodeRek].
[column](1), Enabled = No, dan Width = 2.7083".

59
i. Buatlah text box sama dengan di atas dengan properti
seperti ini: Name = sdNamaRek, Control Source =
=[sdKodeRek].[column](1), Enabled = No, dan Width =
2.7083"

j. Nonaktifkan Use Control Wizards dan buatlah tombol


Button (Form Control), properti sebagai berikut: Name =
Command1, Caption = Lihat Laporan, Width = 1", dan On
Click = [Event Procedure], ikuti langkah m di bawah.

k. Buatlah tombol Button (Form Control) sama dengan cara


di atas, propertinya adalah: Name = Command0, Caption =
Batal, Width = 1", dan On Click = =Tutup().

l. Terakhir, pada properti Form, kosongkan properti untuk


Record Source.

m. Salinlah kode VBA yang ada dalam file Form_


frmRekUtama.txt ke dalam class module Form_ frmRek
Utama.

2. Buka report rptRekUtama dalam Design view.

a. Di bawah judul dengan Caption=Daftar Kode Rekening -


Rekening Utama, sisipan baris kosong. Pada baris kosong
ini, buatlah opsi dengan menekan tombol option button
pada tab Design grup Controls.

b. Buka properti opsi yang telah dibuat dan gantilah nama


label opsi menjadi lblOpsi (label berada di sisi kanan
tombol yang berbentuk lingkaran) atau Name = lblOpsi.

c. Di sebelah kanan label opsi, sisipkan combo box. Isikan


properti berikut ini: Name = NamaGroup, Control Source
= =[Forms]![frmRekUtamaDialog]![Grup], Row Source =
Kode Grup;Nama Grup;1;Aktiva;2;Hutang;3;
Ekuitas;4;Pendapatan;5;Biaya;6;Ringkasan Pendapatan,

60
Row Source Type = Value List, Bound Column = 1,
Column Count = 2, Column Heads = Yes, Column Widths
= 0";1.5", List Width = 1.5" , dan Limit To List = Yes.

d. Di sebelah kanan combo box NamaGroup, sisipkan text


box. Isikan properti berikut ini: Name = DariKodeRek, dan
Control Source = =[Forms]![frmRekUtamaDialog]!
[DariKodeRek] & " - " & [Forms]![frmRekUtama
Dialog]![DariNamaRek].

e. Di bawah combo box DariKodeRek, sisipkan combo box.


Isikan properti berikut ini: Name = sdKodeRek, dan
Control Source = =[Forms]![frmRekUtamaDialog]!
[sdKodeRek] & " - " & [Forms]![frmRekUtama Dialog]!
[sdNamaRek].

f. Kita bisa mengosongkan Control Source DariKodeRek


(langkah no d) dan sdKodeRek (langkah no e) di atas,
sehingga masing-masing properti Control Source tertulis
unbound. Jika ini terjadi, maka saat report dibuka, pada
properti report On Open perlu ditambahkan baris event
procedure untuk memberi nilai pada Control Source
DariKodeRek dan sdKodeRek seperti pada langkah no 1.h
dan 1.i.

g. Dalam Design view yang kasar, tampilannya tampak seperti


Gambar 6.5.

Gambar 6.5 Tampilan Design view yang berisi formula

61
h. Pada properti report, gantilah properti berikut ini: Record
Source = SELECT KodeRek, NamaRek, Grup FROM
tblRekUtama WHERE (((KodeRek) Between Forms!frm
RekUtamaDialog!DariKodeRek And Forms!frmRekUtama
Dialog!sdKodeRek) And ((Grup)=Forms!frmRekUtama
Dialog!Grup));, On Open = [Event Procedure] dan
salinlah kode VBA yang ada dalam file
Report_rptRekUtama.txt ke dalam class module
Report_rptRekUtama.

3. Simpan dan tutup form frmRekUtamaDialog dan rptRekUtama.

4. Buka form frmRekUtama dengan Design view.

5. Pada tombol perintah paling kanan, tambahkan tombol perintah

lain dengan gambar Preview . Caranya, seperti membuat tombol


perintah di bab sebelumnya (Subbab 5.3 Mengaplikasikan Modul ke
Form). Isikan properti tombol perintah itu sebagai berikut: Name =
Preview, Caption = Preview, Picture = (image), dan pilihlah Preview
pada list box Available Pictures, Width = 0.3333", dan On Click =
=BukaForm('frmRekUtamaDialog').

Simpan dan tutup form frmRekUtama. Form frmRekUtama dan


frmRekUtamaDialog siap digunakan.

6.3 Dua Sumber Tabel Berbeda, Tetapi Satu


Bentuk Laporan yang Sama
Jika di bagian sebelumnya, kita sudah membuat laporan dengan dua macam
mode tampilan yang berasal dari satu form (satu tabel), maka pada bagian
ini, kita akan membuat laporan dengan dua macam mode tampilan yang
berasal dari dua macam form (dua tabel).

Seperti diketahui, tblRekDerivatif1 dan tblRekDerivatif2, kecuali nama field,


kedua tabel itu memiliki properti yang sama, baik dari tipe data maupun dari
field properties. Dengan kesamaan yang ada ini, kita bisa membuat satu

62
macam report untuk dua sumber record (record source) yang berbeda.
Penjelasannya seperti ini.

Form untuk memasukkan data ke tblRekDerivatif1 adalah frmRekDerivatif1,


sedangkan form untuk tblRekDerivatif2 adalah frmRekDerivarif2. Kedua
form itu mempunyai format yang persis sama (lihat di Subbab 4.2 Membuat
Form Menggunakan Blank Form). Pastikan bahwa kedua form itu juga
mempunyai tombol perintah Preview untuk menampilkan form dialog
Preview Report. Masing-masing form itu, bila tombol perintah Preview
diklik, akan memerintahkan Access untuk menciptakan variable global yang
nilainya sama dengan deriv1 untuk rekening derivatif 1, dan deriv2 untuk
rekening derivatif 2, dan disimpan dalam memori sementara. Setelah itu,
Access membuka form dialog Preview Report (tampilannya seperti pada
Gambar 6.3).

Gambar 6.6 Diagram pembuatan laporan rekening derivatif

Form dialog Preview Report itu, berdasarkan variabel global, kemudian akan
mengolah data yang dibutuhkan. Jadi misalnya, bila nilai variabel global sama
dengan deriv1, maka form dialog akan mengolah data yang berkaitan dengan
rekening derivatif 1. Demikian pula untuk variabel global deriv2.

Pada saat tombol Lihat Laporan ditekan, Access akan membuka report yang
sumber datanya juga diolah berdasarkan variabel global. Proses untuk
membuat laporan itu, secara substansi, sama seperti yang terjadi dengan form
dialog ini.

Jadi, proses membuat satu laporan ini melibatkan dua form sebagai sumber
data, yaitu frmRekDerivatif1 dan frmRekDerivatif2, satu form dialog

63
(frmRekDerivatif Dialog), dan satu laporan yang bisa menghasilkan dua
macam mode tampilan (rptRekDerivatif), seperti tampak pada Gambar 6.6.

Tahap 1. Bukalah Design view dari frmRekDerivatif1 dan frmRek Derivatif2.


Lalu, isikan kode VBA yang ada dalam file Form_frmRekDerivatif1.txt ke
class module Form_rmRekDerivatif1, dan Form_frmRekDerivatif2.txt ke
class module Form_rmRek Derivatif2.

Tahap 2. Sebelum form dibuka, kita harus membuat terlebih dahulu form
dialog dengan nama frmRekDerivatifDialog, berikut procedure yang ada di
dalamnya. Cara singkatnya seperti ini:

1. Kopilah frmRekUtamaDialog yang ada di Navigation pane menjadi


frmRekDerivatifDialog. Lalu buka Design view frmRekDerivatifDialog.

2. Hapus combo box Grup yang ada dalam frmRekDerivatifDialog.

3. Pada combo box DariKodeRek, isikanlah properti Row Source = SELECT


KodeDeriv1, NamaDeriv1 FROM tblRekDerivatif1;

4. Pada combo box sdKodeRek, isikanlah properti Row Source = SELECT


KodeDeriv1, NamaDeriv1 FROM tblRekDerivatif1 WHERE
KodeDeriv1>=[Forms]![frmRekDerivatifDialog]![DariKodeRek]
ORDER BY KodeDeriv1;

Gambar 6.7 Form dialog frmRekDerivatifDialog Rekening Derivatif 1

5. Isikanlah kode VBA yang ada dalam file Form_frmRekDerivatif


Dialog.txt ke class module Form_frmRekDerivatifDialog.

64
6. Simpan form dan prosedur yang ada. Tampilan Form view dari
frmRekDerivatifDialog tampak seperti Gambar 6.7.

Tahap 3. Membuat rptRekDerivatif. Cara mudahnya seperti ini:

1. Kopilah rptRekUtama yang ada di Navigation pane menjadi


rptRekDerivatif. Lalu bukalah Design view rptRekDerivatif.

2. Gantilah judul label Auto_Title0 Daftar Kode Rekening - Rekening


Utama menjadi Daftar Kode Rekening - Rekening Derivatif 1.

3. Pada properti report Record Source, isikanlah query: SELECT


KodeDeriv1, NamaDeriv1, Catatan FROM tblRekDerivatif1 WHERE
KodeDeriv1 Between [Forms]![frmRekDerivatifDialog]!
[DariKodeRek] And [Forms]![frmRekDerivatifDialog]!
[sdKodeRek];

4. Hapuslah label Nama Grup pada Page header dan combo box Grup pada
detail.

Gambar 6.8 Print preview laporan rekening derivatif 1

5. Pada bagian text box DariKodeRek isikan Control Source =


=[Forms]![frmRekDerivatifDialog]![DariKodeRek] & " - " & [Forms]!
[frmRekDerivatifDialog]![DariNamaRek].

6. Pada bagian text box sdKodeRek isikan Control Source =


=[Forms]![frmRek DerivatifDialog]![sdKodeRek] & " - " &
[Forms]![frmRekDerivatifDialog]! [sdNamaRek].

65
7. Pada bagian Page header, di sebelah kanan label Nama Rekening sisipkan
label Catatan.

8. Pada bagian detail, sisipkan text box dengan Name = Catatan dan
Control Source = Catatan.

9. Isikanlah kode VBA yang ada dalam file Report_rptRek Derivatif.txt ke


class module Report_rptRekDerivatif.

10. Simpan report dan prosedur yang ada. Tampilan Print review dari
rptRekDerivatif, berdasarkan form yang ada pada Gambar 6.7 di atas
akan tampak seperti Gambar 6.8.

Jika form frmRekDerivatif2 dibuka dan tombol perintah Preview ditekan


akan muncul form dialog Preview Report.

Gambar 6.9 Form dialog frmRekDerivatifDialog Rekening Derivatif 2

Tampilan reportnya sebagai berikut.

Gambar 6.10 Print preview laporan rekening derivatif 2

66

Anda mungkin juga menyukai