MENGAPA ACCESS
Berdasarkan pengalaman penulis dengan berbagai aplikasi pembuat program, hanya microsoft access yang paling lengkap (secara umum) dalam menyediakan fitur-fitur yang diperlukan dalam membangun sebuah sistem database.
FUNGSI YANG WAJIB DIPAHAMI
Berdasarkan pengalaman penulis waktu pertama kali menggunakan ms access, ada 4 fungsi yang sangat wajib untuk dipahami, karena hanya dengan keempat fungsi ini penulis bisa membuat sebuah aplikasi untuk digunakan dalam kantor tempat penulis bekerja.
ERROR HANDLING
Salah satu syarat dari seorang Programmer atau Pembuat Aplikasi yang baik adalah dalam hal penanganan masalah error yang mungkin terjadi dalam aplikasi yang dibuatnya, error-error dalam sebuah aplikasi bisa terjadi karena hal-hal yang tidak diduga oleh seorang Programmer, istilah kerennya sih faktor "X".
Selasa, 27 Desember 2011
Pilihan -SEMUA- ComboBox
Selasa, 20 Desember 2011
Filter ComboBox Dan ListBox
Contoh lain cara memfilter List Box berdasarkan Combo Box bisa didownload dari 4shared
Semoga Bermanfaat...
Sabtu, 12 November 2011
Validasi Karakter TextBox
Berdasarkan pengalaman penulis sebelum-sebelumnya dalam membuat aplikasi ms access 2003, selalu saja penulis temukan karakter-karakter yang tidak pada tempatnya, misalnya untuk field nama yang harusnya hanya berupa teks, namun ada banyak record atau data dalam tabel untuk field nama yang berisi karakter angka, ataupun karakter-karakter yang lain yang tidak seharusnya atau dengan kata lain penulis belum pernah mendengar ada seseorang yang namanya ada karakter-karakter khusus seperti karakter &, %, #, [, ] dan karakter-karakter khusus yang lainnya. Tentunya anda sebagai pembuat aplikasinya tidak menginginkan hal itu terjadi bukan ?, yang belum lagi kemungkinan terjadinya error, karena ada karakter khusus dalam field yang karakter tersebut termasuk kedalam karakter operator penghubung dalam penulisan SQL (Structure Query Language). Berikut ini adalah cara untuk mencegah penginputan karakter angka atau karakter huruf dalam suatu TextBox ketika user mengetik karakternya. Untuk hal ini kita hanya perlu menggunakan event On KeyPress, serta mengetahui karakter set dari Key Ascii untuk setiap karakter huruf/angka. berikut ini adalah contohnya :
End Select
End Sub
Dari code diatas, jika user mengetik atau menekan tombol selain yang termasuk kedalam Alphabet, Tab, Backspace, Enter, dan spasi, maka access akan menampilkan pesan MsgBox diatas.
Jika hanya angka yang diperbolehkan :
Private Sub Text1_KeyPress(KeyAscii As Integer)
'48 sampai 57 adalah angka 0 sampai 9, 44 adalah Koma, 45 adalah negatif, 46 adalah Titik
'8 adalah Backspace, 9 adalah Tab, 13 adalah Enter, 32 adalah Spasi
Select Case KeyAscii
Case 48 To 57, 8, 9, 13, 32, 44 To 46
Case Else
KeyAscii = 0
MsgBox "Hanya Angka/Nomor dan (, . -) yang diperbolehkan", vbInformation
End Select
End Sub
Selasa, 01 November 2011
Membuat Jam Digital Dalam Form
![]() |
| Form Dengan Jam Digital |
Cara membuat jam digital dalam Form sangat dan sangatlah mudah sekali, yaitu :
- Buat sebuah Label/Textbox dalam Form, penulis merekomendasikan membuat Label, karena Label tidak bisa diutak-atik nilainya, sedangkan jika menggunakan TextBox, agar TextBox tersebut tidak bisa diakses, maka kita harus mensetting Property Enabled menjadi No, dan Locked menjadi Yes. Dan biar lebih gampang, ganti nama Label/TextBox tersebut menjadi lblJam, atau txtJam (hal ini terserah anda, suka-suka anda saja, yang penting namanya unik dan tidak menyalahi aturan penamaan dari Access). Karena penulis membuat Label maka penulis namakan lblJam, lalu setting jenis Font sesuai keinginan anda.
- Lalu disebelah kiri atas Form ada kotak hitam kecil, anda klik kanan dikotak hitam kecil tersebut lalu pilih Properties.
- Pada Tab Event, cari field Timer Interval, dan isikan dengan 1000 (agar Jam/Waktunya terupdate setiap 1 detik).
- Lalu pada event On Timer pilih Event Procedure, dan klik […] disebelah kanannya, anda akan dibawa kedalam jendela Visual Basic Editor.
- Lalu masukkan code berikut ini :
- Lalu klik Save dan tutup Jendela Visual Basic Editor
- Tutup jendela properties dari Form, dan tutup jendela Design View Form.
- Lalu jalankan Form anda, dan lihat hasilnya.
Jika yang anda gunakan adalah TextBox maka anda tidak perlu menuliskan “.Caption”. misalnya :
Semoga Bermanfaat…
Sabtu, 29 Oktober 2011
Prefix Dalam Field AutoNumber
Seperti yang kita tahu, Tipe Data AutoNumber itu selalu berisi :
| Format AutoNumber Dengan Prefix |
- "AB" berarti Prefix untuk semua data dalam field adalah AB, dimana semua data dalam Field tersebut akan berawalan AB.
- 0000 berarti jumlah karakter angka dalam field, dimana dalam contoh ini akan ada 4 karakter angka setelah Prefix, sehingga datanya akan menjadi AB0001, AB0002, AB0003 dst....
Refference : databasedev
Sabtu, 22 Oktober 2011
Event Not In List Combo Box
Pada event Not In List kita bisa menentukan apa yang harus dilakukan jika seorang user memasukkan data yang tidak terdaftar dalam Combo Box. Untuk menggunakan event ini, property dari Combo box Limit To List harus diset menjadi Yes.
Dim strSql As String
Dim strMsg As String
strMsg = "\" & NewData & "/ tidak ada dalam daftar." & vbCr & vbCr
strMsg = strMsg & "Apakah anda yakin ingin menambah data '" & NewData & "' ?"
If MsgBox(strMsg, vbQuestion + vbYesNo) = vbYes Then
CurrentDb.Execute strSQL, dbFailOnError
Response = acDataErrAdded
Else
Response = acDataErrContinue
End If
End Sub
Dim strMsg As String
strMsg = "\" & NewData & "/ tidak ada dalam daftar." & vbCr & vbCr
strMsg = strMsg & "Silahkan pilih yang telah terdaftar."
MsgBox strMsg
Response = acDataErrContinue
End Sub
Untuk file contoh penggunaan event Not In List Combo Box bisa didownload dari 4shared
Semoga Bermanfaat....
Sabtu, 15 Oktober 2011
Fungsi Select Case
untuk file contoh penggunaan fungsi ini bisa didownload dari 4shared
Sabtu, 01 Oktober 2011
Bound Dan Unbound Form
Anda bisa melihat perbedaan diatas dalam hal code-code yang dibutuhkan untuk menyimpan data, untuk form dengan jenis Bound Form, maka codenya sangat simple dan coe tersebut tidak dapat anda terapkan pada form dengan jenis Unbound Form, sedangkan pada code untuk menyimpan data menggunakan Unbound Form, seperti yang anda lihat, maka anda harus mendeklarasikan beberapa variable terlebih dahulu, lalu membuat statement atau perintah untuk menyimpan datanya kedalam table yang dimaksud. Hal ini belum mengenai masalah duplikasi data, misalnya dalam table yang anda tuju, terdapat sebuah Primary Key, dan data yang sedang diinput oleh user ternyata sudah ada dalam tabel, maka untuk mengantisipasi hal ini anda harus membuat statement atau code yang bisa digunakan jika masalah tersebut terjadi. Belum lagi persoalan-persoalan yang lainnya.
Semoga bermanfaat...
Selasa, 27 September 2011
Fungsi Dalam Access
Contohnya :
Dim strTanggal
strTanggal = Date
Akan menghasilkan data Tanggal, misalnya 31/12/2011
Contohnya :
Dim strSekarang
strSekarang = Now
Akan menghasilkan data Tanggal dan Waktu, misalnya 31/12/2011 10:30:55
Contohnya :
Dim strJam
strJam = Hour(#11:30:26#)
Akan menghasilkan 11
Contohnya :
Dim strMenit
strMenit = Minute(#11:30:26#)
Akan menghasilkan 30
Contohnya :
Dim strDetik
strDetik = Second(#11:30:26#)
Akan menghasilkan 26
Contohnya :
Dim strWaktu
strWaktu = Time
Akan menghasilkan data Waktu, misalnya 11:35:59
Contohnya :
Dim strTanggal
strTanggal = Day(“28/01/2011”)
Akan menghasilkan 28
Contohnya :
Dim strBulan
strBulan = Month(#31/01/2012#)
Akan menghasilkan 1
Contohnya :
Dim strYear
strYear = Year(#31/01/2012#)
Akan menghasilkan 2012
Strukturnya Weekday(Tanggal, Hari pertama(Opsional, Jika tidak ditentukan maka hari pertama adalah Minggu)).
Contohnya :
Dim strHari
strHari = Weekday("31/12/2011")
Akan menghasilkan 7
Karena 31/12/2011 adalah hari sabtu, dan Hari pertama adalah Minggu.
Contoh lainnya :
strHari = Weekday("31/12/2011", vbMonday) atau Weekday("31/12/2011", 2)
Akan menghasilkan 6, karena 31/12/2011 adalah hari sabtu, dan Hari pertama adalah Senin.
Strukturnya WeekdayName(Nilai hari yang mau ditampilkan, Disingkat/Tidak(Opsional), Hari Pertama(Opsional, jika tidak ditentukan maka Hari pertama adalah Minggu))
Contohnya :
> Untuk nama hari penuh
Dim strNamaHari
strNamaHari= WeekdayName(1) atau WeekdayName(1, 0, 0) atau WeekdayName(1, False, vbSunday)
Akan menghasilkan Minggu/Sunday (Untuk WeekdayName(1, 0, 0) Jika hari pertama dalam settingan Komputer adalah Minggu)
Karena Nilai Hari yang mau ditampilkan adalah 1 yang berarti hari pertama dari Minggu.
contoh lainnya :
strNamaHari = WeekdayName(1, 0, 1) atau WeekdayName(1. False, vbMonday)
Akan menghasilkan Senin/Monday
Karena Nilai hari yang mau ditampilkan adalah 1 yang berarti hari pertama dari Senin.
> Untuk nama hari yang disingkat
Dim strNamaHari
strNamaHari = WeekdayName(1, True, vbMonday) atau WeekdayName(1, 0, 1)
Akan menghasilkan Sen/Mon
Karena Nilai hari yang mau ditampilkan adalah 1 yang berarti hari pertama dari Senin.
Contohnya :
> Untuk nama bulan penuh
Dim strNamaBulan
strNamaBulan = MonthName(1)
Akan menghasilkan Januari
> Untuk nama bulan yang disingkat
Dim strNamaBulan
strNamaBulan = MonthName(1, True)
Akan menghasilkan Jan
Strukturnya Left(String/Field sumber, Jumlah karakter yang diinginkan)
Contohnya :
Dim strKiri as string
strKiri = Left(“Belajar Access”, 7)
Akan menghasilkan Belajar
Strukturnya Right(String/Field sumber, Jumlah karakter yang diinginkan)
Contohnya :
Dim strKanan as string
strKanan = Right(“Belajar Access”, 6)
Akan menghasilkan Access
Contohnya :
Dim strKarakter
strKarakter = Len(“Belajar Access”)
Akan menghasilkan 14
Contohnya :
Dim strKarakter
strKarakter = Trim(“ BelajarAccess “)
Akan menghasilkan “BelajarAccess”
Contohnya :
Dim strKiri
strKiri = LTrim(“ BelajarAccess “)
Akan menghasilkan “BelajarAccess “
Contohnya :
Dim strKanan
strKanan = RTrim(“ BelajarAccess “)
Akan menghasilkan “ BelajarAccess”
Strukturnya Mid(String/Field sumber, Karakter mulai, Jumlah karakter yang diinginkan(Opsional))
Contohnya :
> Tanpa Jumlah karakter yang diinginkan
Dim strKarakter
strKarakter = Mid(“Belajar Access”, 4)
Akan menghasilkan “ajar Access”, karena “Karakter mulai” ditentukan dari karakter keempat.
> Dengan jumlah karakter yang diinginkan
Dim strKarakter
strKarakter = Mid(“Belajar Access”, 4, 4)
Akan menghasilkan “ajar”
karena “Karakter mulai” ditentukan dari karakter keempat dengan hasil yang diinginkan sebanyak 4 karakter dari “Karakter mulai”.
Contohnya :
Dim strUtama, strSumber, strTarget, strHasil
strUtama = "Belajar Access"
strSumber = "Belajar"
strTarget = "Mengajar"
strHasil = Replace(strUtama, strSumber, strTarget)
Akan menghasilkan “Mengajar Access”.
Strukturnya DFirst(Field yang dicari, Nama Tabel, Kriteria(Opsional))
Contohnya :
DFirst(“NamaUser”, “tblUser”)
Strukturnya DLast(Field yang dicari, Nama Tabel, Kriteria(Opsional))
Contohnya :
DLast(“NamaUser”, “tblUser”)
Strukturnya DMin(Field yang dicari, Nama Tabel, Kriteria (Opsional))
Contohnya :
DMin(“LoginTerakhir”, ”tblUser”)
Strukturnya DMax(Field yang dicari, Nama Tabel, Kriteria (Opsional))
Contohnya :
DMax(“LoginTerakhir”, ”tblUser”)
Strukturnya DateDiff(Jenis selisih yang diinginkan (Tanggal/Bulan/Tahun), Tanggal Pertama, Tanggal Kedua)
Untuk mendapatkan selisih dalam jumlah Tanggal gunakan “d”, untuk Bulan gunakan “m”, untuk Tahun gunakan “yyyy”.
Contohnya :
DateDiff(“d”, “25/01/2011”, “25/02/2011”) Akan menghasilkan 31
DateDiff(“m”, “25/01/2011”, “25/02/2011”) Akan menghasilkan 1
DateDiff(“yyyy”, “25/01/2011”, “25/02/2011”) Akan menghasilkan 0
Strukturnya DateAdd(Jenis penambahan yang diinginkan (Tanggal/Bulan/Tahun), Jumlah penambahannya, Tanggal acuan penambahan)
Untuk mendapatkan penambahan Tanggal gunakan “d”, untuk Bulan gunakan “m”, untuk Tahun gunakan “yyyy”.
Contohnya :
DateAdd(“d”, 2, “25/02/2011”) Akan menghasilkan 27/02/2011
DateAdd(“m”, 2, “25/02/2011”) Akan menghasilkan 25/04/2011
DateAdd(“yyyy”, 2, “25/02/2011”) Akan menghasilkan 25/02/2013
Strukturnya IIF(Kriteria, “Hasil jika Kriteria bernilai True”, “Hasil jika Kriteria bernilai False”)
Contohnya :
IIf(Text0 <= 1000, "Kurang dari sama dengan seribu", "Lebih dari seribu")
Akan menghasilkan “Kurang dari sama dengan seribu” jika Text0 berisi angka 0-1000
Akan menghasilkan “Lebih dari seribu” jika Text0 berisi selain dari 0-1000 atau Null
Anda harus berhati-hati menggunakan Fungsi ini, karena bisa saja terjadi hasil yang diluar dugaan ataupun terjadi Error.
Semoga bermanfaat...
Senin, 19 September 2011
File Select Dialog
Namun kali ini penulis tidak akan mempostingkan caranya, karena dalam link FAQ diatas sudah ada langkah-langkahnya. Silahkan anda kunjungi situs diatas untuk penjelasan lebih lanjut. Disini penulis hanya akan share mengenai pengalaman penulis tentang File Select Dialog, namun penulis juga telah membuat sebuah file access untuk memanggil window select dialog menggunakan Open File Dialog, lalu menampilkan gambar yang dipilih pada form.
Untuk menggambarkan cara penggunaanya bisa dilihat dari file yang telah penulis buat dan upload, anda bisa mendownload contoh File Select Dialog (Gambar) dan menampilkannya dalam form dari 4shared
Semoga bermanfaat...
Selasa, 06 September 2011
Error Handling
Selasa, 30 Agustus 2011
Form Login Sederhana 3
Karena ini penyempurnaan, maka akan ada tambahan fungsi : update data.
- Field UserLevel -> Sebagai kriteria User yang berhak mengakses menu
- Field LoginTerakhir -> Untuk melihat waktu login terakhir dari User
- Field StatusLogin -> Sebagai kriteria untuk menampilkan nama User yang sedang Login dalam Form
- Tabel mstLevel -> Sebagai RowSource dari Field UserLevel
- Form Utama -> Form yang akan dibuka setelah User berhasil Login
- Buka kembali file Simple Form Access.mdb
- Dalam jendela database pilih Tables lalu klik dua kali pada Create table in Design view
- Buat Field dengan nama LevelName dengan Data Type=Text dan Field Size=50
- Lalu jadikan sebagai Primary Key dan simpan dengan nama mstLevel dan tutup jendela Tabel Design View
- Klik dua kali pada Table mstLevel untuk menginput data User Level lalu masukkan 3 Data berikut ini :
(atau sesuai dengan yang anda inginkan)
- Lalu klik kanan tblUser dan pilih Design View
- lalu tambahkan Field-field berikut ini:
- UserLevel (Data Type=Text, Field Size=50), dibagian bawah pilih Tab Lookup, Dibagian Display Control pilih Combo Box dan Row Source mstLevel
- LoginTerakhir (Data Type=Date/Time, dalam Tab General pilih Format=General Date)
- StatusLogin (Data Type=Text, Field Size=10)
- Lalu klik Save dan tutup jendela Table Design View
- Klik dua kali pada tblUser untuk mengedit data
- Masukkan data-data User yang masih kosong (terserah anda), untuk field LoginTerakhir isikan saja dengan Tanggal(bebas tanpa perlu mengisi jamnya) dan khusus field StatusLogin isikan dengan ACTIVE atau INACTIVE
- Setelah selesai masuk ke bagian Forms dan klik dua kali pada Create form in design view, buat beberapa Command Button dan beberapa Label, saya membuat 8 Command Button dan 4 buah Label dengan rincian :
- Untuk Label saya biarkan 3 label dengan nama default dari Access, dan 1 label dengan nama lblUser seperti gambar dibawah ini :
![]() |
| Gambar design frmUtama versi Penulis |
- Setelah selesai simpan dengan nama frmUtama lalu tutup jendela Design Form
- Klik kanan frmLogin dan pilih Design View untuk mengedit code
- Klik kanan cmdOK dan pilih properties lalu pada event On Click klik Event Procedure dan klik [...] disebelah kanannya, anda akan dibawa ke Jendela Visual Basic Editor
- Dibawah baris tulisan MsgBox "Selamat, anda berhasil Login", vbInformation hapus baris DoCmd.Close dan tambahkan code berikut ini :
CurrentDb.Execute "Update tblUser SET StatusLogin='ACTIVE' " & "Where NamaUser='" & txtUser & "';"
CurrentDb.Execute "Update tblUser SET StatusLogin='INACTIVE' " & "Where NamaUser<>'" & txtUser & "';"
DoCmd.OpenForm "frmUtama"
DoCmd.Close acForm, "frmLogin"
- Lalu klik Save dan tutup jendela Visual Basic Editor, tutup Jendela Properties dari cmdOk dan tutup jendela Design frmLogin
- Klik kanan frmUtama lalu pilih Design View
- Dipojok Kiri jendela design frmUtama ada kotak hitam kecil, klik kanan dikotak hitam kecil tersebut lalu pilih Properties, pada Tab Event, pilih Event Procedure pada On Open dan klik tombol [...] disamping kanannya, anda akan kembali dibawa ke jendela Visual Basic Editor,
- Masukkan code berikut :
- Dibagian paling atas tambahkan Option Explicit dan Public strLevel as String dibawah Option Compare Database
- lalu klik Save dan tutup jendela visual basic editor
If strLevel <> "ADMINISTRATOR" Then
MsgBox "Anda TIDAK Berhak Mengakses Menu Ini", vbCritical
Else
MsgBox "Anda Berhak Mengakses Menu Ini"
End If
If strLevel = "ADMINISTRATOR" Or strLevel = "AUDIT" Then
MsgBox "Anda Berhak Mengakses Menu Ini"
Else
MsgBox "Anda TIDAK Berhak Mengakses Menu Ini", vbCritical
End If
If strLevel = "ADMINISTRATOR" Or strLevel = "DATA ENTRY" Then
MsgBox "Anda Berhak Mengakses Menu Ini"
Else
MsgBox "Anda TIDAK Berhak Mengakses Menu Ini", vbCritical
End If
PesanKonfirm = "Apakah anda yakin keluar dari aplikasi ini ?"
If MsgBox(PesanKonfirm, vbYesNo, "Konfirmasi") = vbYes Then
DoCmd.Quit
End If
Form login ini bisa anda kembangkan lagi dengan berbagai trik-trik ataupun anda percantik lagi dengan mengkustomisasinya sedemikian rupa sesuai kebutuhan anda.
Senin, 29 Agustus 2011
Form Login Sederhana 2
(Lanjutan)
- Tutup form login jika masih terbuka
- Dalam jendela database klik Tables, lalu klik kanan tblUser dan pilih Design View
- Dibawah Field Password, tambahkan Field baru dengan rincian :
Data Type = Number
- Lalu klik Toolbar Save, atau klik File > Save, atau bisa juga Ctrl+S, lalu tutup tblUser
- Double click tblUser untuk mengedit data StatusUser
- Lalu isikan di Field StatusUser dari masing-masing User dengan angka
- Setelah selesai tutup tblUser
- Dalam jendela database klik Forms, lalu klik kanan frmLogin dan pilih Design View
- Lalu klik View > Code, atau klik Toolbar Code seperti gambar dibawah ini :
- Atau bisa juga dengan klik kanan pada cmdOK lalu pilih Properties, dan pada tab Events klik tulisan Event Procedure pada On Click lalu klik [...] disebelah kanan tulisan Event Procedure. Anda akan dibawa kedalam jendela Visual Basic Editor.
- Tempatkan Kursor anda diakhir variabel :
- Ketikkan Code berikut ini setelah anda menekan Enter
If txtPassword = strPassword Then
- Lalu tempatkan kursor anda disebelah kanan / diakhir tulisan End If diatas variabel :
- Ketikkan End If setelah anda menekan Enter
- Lalu klik Save dan tutup jendela Visual Basic Editor.
- Jika jendela Properties dari cmdOK masih terbuka tutup dahulu, baru tutup frmLogin
Minggu, 21 Agustus 2011
Form Login Sederhana
(IF, IsNull, DCount, DLookup)
Berikut adalah cara kerja atau alurnya :
Berikut adalah contoh pembuatannya :
If IsNull(Me.txtUser) Then
MsgBox "Anda belum memasukkan Nama User anda !", vbExclamation
txtUser.SetFocus
ElseIf IsNull(Me.txtPassword) Then
MsgBox "Anda belum memasukkan Password anda !", vbExclamation
txtPassword.SetFocus
Else
If DCount("NamaUser", "tblUser", "[NamaUser] = '" & txtUser & "'") > 0 Then
strPassword = DLookup("Password", "tblUser", "[NamaUser] = '" & txtUser & "'")
If DLookup("StatusUser", "tblUser", "[NamaUser] = '" & txtUser & "'") = 0 Then
MsgBox "Status User '" & txtUser & "' sudah tidak aktif, silahkan hubungi administrator.", vbExclamation
Me.txtUser.SetFocus
Else
If txtPassword = strPassword Then
MsgBox "Selamat, anda berhasil Login", vbInformation
DoCmd.OpenForm "frmUtama"
DoCmd.Close acForm, "frmLogin"
Else
MsgBox "Password yang anda masukkan salah", vbCritical
Me.txtPassword.SetFocus
End If
End If
Else
MsgBox "Nama User tidak ada / belum terdaftar", vbInformation
Me.txtUser.SetFocus
End If
End If
PesanKonfirm = "Apakah anda yakin tidak akan Login ?"
If MsgBox(PesanKonfirm, vbYesNo, "Konfirmasi") = vbYes Then
DoCmd.Close 'gunakan DoCmd.Quit untuk langsung menutup Microsoft Access
End If


17.09
Gie Satria

