Fungsi Apakah Ada?

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…

Artikel-artikel Yang Berhubungan Dengan Artikel Ini

5 Komentar

farid  on March 25th, 2009

apakah gak cara yang lebih mudah dan dimengerti dari cara yang bapak gunakan?

Bart. Edi  on March 25th, 2009

@farid: maksudnya mudah ukurannya gimana mas? hehehehe

alief  on August 9th, 2010

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…

Bart. Edi  on August 10th, 2010

@alief: thanks atas komplimen nya Pak….

Berikan opini anda tentang artikel ini

CommentLuv badge