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…

5 comments

Leave a Reply

Your email address will not be published.

CommentLuv badge

This site uses Akismet to reduce spam. Learn how your comment data is processed.