Skip to main content

Membuat Fungsi Untuk Menentukan Lokasi Database Access

Pada aplikasi Access untuk server dan client tanpa menggunakan linked table, kita harus menentukan lokasi database di komputer server agar komputer client dapat melakukan koneksi ke database itu. Untuk menemukan lokasi database Access itu, kita bisa membuat fungsi sendiri yang disimpan dalam aplikasi Access di komputer client. Dengan demikian, bila aplikasi Access di client dikonversi ke accde, koneksi dapat dilakukan dengan aman.

Fungsi yang kita beri nama lokasiDatabase digunakan untuk menentukan lokasi database yang akan dibuka. Variabel strRst yang digunakan dapat berupa sebuah nilai string, atau ekspresi formula. Hasil fungsi lokasiDatabase berupa string. Berikut ini adalah kode VBA lengkap dari fungsi lokasiDatabase:
Function lokasiDatabase() As String
  Dim strRst As String
  Dim objFSO As Object
On Error GoTo Err_Msg
  Set objFSO = CreateObject("Scripting.FileSystemObject")
  strRst = "D:\Access\Database_be.accdb"
  If objFSO.FileExists(strRst) Then
    lokasiDatabase = strRst
  Else
    lokasiDatabase = vbNullString
  End If
  Set objFSO = Nothing
Exit_Function:
  Exit Function
Err_Msg:
  MsgBox "Function lokasiDatabase, Error # " & str(Err.Number) & ", source: " & Err.Source & _
  Chr(13) & Err.description
  Resume Exit_Function
End Function
Implementasi:
Bila variabel strRst berupa nilai string, maka isikan variabel strRst dalam fungsi di atas. Contoh di atas menggunakan nilai string "D:\Access\Database_be.accdb" sebagai lokasi database-nya.
Bila variabel strRst berupa ekspresi, maka isikan variabel strRst yang ada di dalam fungsi di atas dengan menggunakan ekspresi. Contoh:
strRst = DLookup("[Nama path file database]","[Tabel Database]","[pathDefaultStatus]=True")
Di mana [Nama path file database] adalah field yang nilainya diambil dari tabel [Tabel database] yang mempunyai status sebagai database default.
Tabel Database
pathfFile pathDescription pathDefaultStatus
D:\Access\Database_be.accdb Database lokal True
\\Access\Database_be.accdb Database server False
Dengan menggunakan tabel Tabel Database di atas, maka kita bisa mengarahkan strRst untuk memilih D:\Access\Database_be.accdb sebagai lokasi database-nya. Dengan demikikan ekspresi strRst menjadi:
strRst = DLookup("[pathfFile]","[Tabel Database]","[pathDefaultStatus]=True")
sama dengan
strRst = "D:\Access\Database_be.accdb"

Comments

Posting Terpopuler

Normalisasi, Denormalisasi, dan Anomali Database

Membuat Fungsi Untuk Menghitung Pajak Penghasilan PPh 21 di MS Access

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