Dalam setiap project Visual Basic saya yang bersentuhan dengan database object, saya sering memeriksa apakah data yang akan saya tulis atau baca sudah ada di dalam database. Memang ada beberapa teman-teman sesama programmer saya yang sedikit tidak setuju dengan cara saya ini, hal ini di karenakan setiap saya memeriksa record yang ada, tentu saya akan menggunakan tambahan bandwith dalam operasi saya, juga akan ‘nambah-nambahi’ pembuatan function saja.
Ada beberapa event yang membuat saya menggunakan pemeriksaan ini, biasanya adalah dalam event Save dan baca record. Jika saya akan save, sebuah record dengan unique id, saya akan memeriksa apakah unique id ini sudah ada di database atau belum, jika sudah ada tentu saya akan ‘melempar’ hasilnya menjadi sebuah message box dan jika belum ada, akan saya teruskan procedure penyimpanannya. Untuk event baca record juga begitu, jika record dengan unique id yang saya maksud tidak ada maka saya akan memberitahu user dan jika ada maka procedure baca akan di teruskan.
Dan saya selalu membuat satu Public Function untuk ini, jadi saya tinggal memanggilnya dimana pun saya berada di project tersebut, function tersebut saya taruh di satu module. Function ini bertipe Boolean, jadi dalam penggunaannya nanti akan memudahkan saya, tinggal saya mengecek apakah hasilnya true atau false. Dan berikut function yang saya namakan Function apakah ada.
Public Function apakah_ada(ByVal sTable As String, ByVal sField As String, ByVal sStr As String, Optional isNum As Boolean) As Boolean Dim rs_apa_ada As New ADODB.Recordset On Error GoTo apakah_ada_Error With rs_apa_ada .CursorLocation = adUseClient If isNum = True Then .Open "SELECT * FROM " & sTable & " WHERE " & sField & " = " & sStr, myconn, adOpenStatic, adLockReadOnly Else .Open "SELECT * FROM " & sTable & " WHERE " & sField & " = '" & sStr & "'", myconn, adOpenStatic, adLockReadOnly End If If .RecordCount <= 0 Then apakah_ada = False Else apakah_ada = True End If .Close End With Set rs_apa_ada = Nothing '___________________________________________________________ On Error GoTo 0 Exit Function apakah_ada_Error: MsgBox "Ada Kesalahan ! " & vbCrLf & "Nomor Kesalahan : " & Err.Number & vbCrLf & "Deskripsi : " & Err.Description & vbCrLf & "Di prosedur apakah_ada dalam modul mdlfungsi_aplikasi" End Function |
Misal saya akan memeriksa apakah kode barang yang akan saya masukan sudah ada, maka untuk penggunaan function ini adalah sebagai berikut:
'/cek apakah ada ada kode barang yang dimasukkan If apakah_ada("tbl_data_induk_barang", "kode_barang", kode_barang, False) = False Then MsgBox "Kode barang: " & kode_barang & " tidak ditemukan!", vbExclamation, "Tidak Ditemukan": Exit Sub |
Semoga sedikit bermanfaat…
apakah gak cara yang lebih mudah dan dimengerti dari cara yang bapak gunakan?
@farid: maksudnya mudah ukurannya gimana mas? hehehehe
Blog-nya sederhana tapi Powerfull Kang edi,,,hehehhe
alief´s last blog post ..Pemilihan Kepala Daerah dan Wakil Kepala Daerah Pilkada 2010 Kota Palangka Raya siapakah yang akan memajukan Kesehatah…
Kang edi,,,minta YM-nya dunk,,,,
alief´s last blog post ..Pemilihan Kepala Daerah dan Wakil Kepala Daerah Pilkada 2010 Kota Palangka Raya siapakah yang akan memajukan Kesehatah…
@alief: thanks atas komplimen nya Pak….