Membuat Program Akuntansi Dengan MS Access VBA PDF
Membuat Program Akuntansi Dengan MS Access VBA PDF
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.
43
Awal_Err:
MsgBox Error$
Resume Awal_Exit
End Function
Setelah tombol (button) ini selesai dibuat dan berfungsi dengan benar, baru
dipindahkan ke Modules.
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
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.
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
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().
47
yang tersedia, ControlTipText = Buat record baru, dan On Click = =
BuatRecordBaru ().
5. Klik properti untuk form (form properties) dan isikan properti: Caption
= Daftar Kode Rekening - Rekening Utama, Record Selectors = No, dan
Navigation Button = No.
48
Gambar 5.4 Tombol perintah pada form
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.
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.
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]).
Kita dapat meng-copy text box LoginPgn dan logout ke semua form atau
report yang telah dibuat.
51
utama, karena software akuntansi hanya membantu memudahkan pekerjaan
manusia menjadi lebih efisien dan efektif.
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.
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.
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.
53
Membuat Laporan
54
Sekarang lakukan langkah berikut ini:
5. Pada bagian Page header dan detail, susun kembali layoutnya sebagai
berikut:
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.
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.
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.
1. Tampilkan Semua
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.
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"
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.
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.
62
macam report untuk dua sumber record (record source) yang berbeda.
Penjelasannya seperti ini.
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 2. Sebelum form dibuka, kita harus membuat terlebih dahulu form
dialog dengan nama frmRekDerivatifDialog, berikut procedure yang ada di
dalamnya. Cara singkatnya seperti ini:
64
6. Simpan form dan prosedur yang ada. Tampilan Form view dari
frmRekDerivatifDialog tampak seperti Gambar 6.7.
4. Hapuslah label Nama Grup pada Page header dan combo box Grup pada
detail.
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.
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.
66