Skip to main content

Fungsi untuk Mengecek Apakah Ada Sebuah Tabel Dalam Database

Kita dapat membuat sebuah fungsi untuk mengecek apakah ada tabel tertentu dalam database Access. Paling tidak, ada dua fungsi yang dapat dibuat untuk mengecek keberadaan tabel di database Access, satu untuk database eksternal dan satu lagi untuk database yang sedang aktif (current database).

Untuk mengecek keberadaan sebuah tabel di database eksternal, kita dapat memberi nama fungsi itu cekAdaTbl. Untuk mengecek keberadaan sebuah tabel di database lokal (database yang aktif atau cureent database), kita dapat memberi nama fungsi itu cekAdaTblDbsIni. Berikut ini adalah kode untuk kedua fungsi itu.

Fungsi untuk mengecek jika sebuah tabel ada di database eksternal

Berikut ini adalah fungsi yang digunakan untuk mengecek sebuah tabel ada di database eksternal:
Function cekAdaTbl(strTableName As String) As Boolean
  Dim tbl As DAO.TableDef
On Error GoTo Err_Msg
  
  cekAdaTbl = False
  For Each tbl In daoDbs.TableDefs
    If tbl.name = strTableName Then
      cekAdaTbl = True
      Exit Function
    End If
  Next tbl
Exit_Function:
  Exit Function
Err_Msg:
  MsgBox "Function cekAdaTbl, Error # " & str(Err.Number) & ", source: " & Err.Source & _
  Chr(13) & Err.description
  Resume Exit_Function
End Function
Mengecek nama tabel dalam database eksternal menggunakan fungsi cekAdaTbl

Implementasi

Untuk menjalankan fungsi cekAdaTbl, kita harus membuka sebuah "database yang akan dicek tabelnya" terlebih dahulu. Caranya adalah dengan menjalankan fungsi membukaDbs. Setelah membuka database, kita menentukan tabel yang ingin dicek keberadaannya. Sebagai misal, sebuah database sudah dibuka dengan menggunakan fungsi membukaDbs:
?membukaDbs
Berikutnya, kita menentukan sebuah tabel yang ingin dicek, katakanlah, sebuah tabel dengan nama tblBudget, seperti tampak pada gambar di atas. Untuk mengecek apakah tblBudget ada di objek database daoDbs, ketikkan kode berikut ini di Immediate Window:
?cekAdaTbl("tblBudget")
True
Outputnya bernilai True, yang berarti tblBudget ada dalam database daoDbs.
?cekAdaTbl("tblBudget1")
False
Outputnya bernilai False, karena tidak ada tabel dengan nama tblBudget1.

Fungsi untuk mengecek jika sebuah tabel ada di database lokal

Berikut ini adalah fungsi yang digunakan untuk mengecek sebuah tabel ada di database lokal (database yang aktif atau cureent database):
Function cekAdaTblDbsIni(strTableName As String) As Boolean
  Dim objTbl As Object
On Error GoTo Err_Msg
  
  cekAdaTblDbsIni = False
    
  For Each objTbl In Application.CurrentData.AllTables
    If objTbl.name = strTableName Then
      cekAdaTblDbsIni = True
      Exit Function
    End If
  Next objTbl
Exit_Function:
  Exit Function
Err_Msg:
  MsgBox "Function cekAdaTblDbsIni, Error # " & str(Err.Number) & ", source: " & Err.Source & _
  Chr(13) & Err.description
  Resume Exit_Function
End Function
Mengecek nama tabel dalam database lokal menggunakan fungsi cekAdaTblDbsIni

Implementation

Untuk menjalankan fungsi cekAdaTblDbsIni, kita tidak perlu menjalankan fungsi membukaDbs seperti fungsi cekAdaTbl di atas. Dengan menggunakan database yang sedang aktif terbuka, kita dapat memastikan keberadaan tabel di database itu. Sebagai misal, ada sebuh tabel dengan nama tblRekUtama di database lokal. Untuk mengecek keberadaan tabel tblRekUtama di database lokal, ketikkan fungsi cekAdaTblDbsIni di Immediate Window, seperti berikut ini:
?cekAdaTblDbsIni("tblRekUtama ")
True
Outputnya bernilai True, yang berarti tblRekUtama ada dalam database lokal.
?cekAdaTblDbsIni("tblRkUtama ")
False
Outputnya bernilai False, yang berarti tblRkUtama tidak ada dalam database lokal.

Comments

Posting Terpopuler

Normalisasi, Denormalisasi, dan Anomali Database

Format Untuk Field Dengan Tipe Data Number dan Currency di MS Access

Membuat Fungsi Untuk Menghitung Pajak Penghasilan PPh 21 di MS Access